реклама на сайте
подробности

 
 
10 страниц V  « < 6 7 8 9 10 >  
Reply to this topicStart new topic
> startup asm
zltigo
сообщение Jan 22 2009, 22:18
Сообщение #106


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Jan 23 2009, 00:14) *
Всяческая диагностика может мешать нормальному исполнению программы, поэтому ее проще включать/выключать одним дефайном.


Чем наличие любого из вариантов обработчика абортов может мешать "нормальному исполнению программы" ? Зачем отключать, включать, иметь разные....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 22 2009, 22:23
Сообщение #107


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zltigo @ Jan 23 2009, 01:18) *
Зачем отключать, включать, иметь разные....

Да нравится мне просто так. В отладочном варианте случился аборт->выдали диагностику->зависли. Смотрим, что там в консольке вывалилось, что на светодиодах в устройстве осталось.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 22 2009, 22:39
Сообщение #108


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Jan 23 2009, 00:23) *
В отладочном варианте случился аборт->выдали диагностику->зависли. Смотрим, что там в консольке вывалилось, что на светодиодах в устройстве осталось.

В любом варианте вываливается в аборт, если при этом обраруживается подключенный терминал, то в консоле и остается. Если терминал не подключен, то другие варианты сохранения и перезагрузка. При подключенном терминале поведение при вылете на аборт можно с него-же и изменить. Конфигурация системы обычно тоже есть.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jan 23 2009, 15:24
Сообщение #109


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Проверти пожалуйста, код startap файла.
Прикрепленный файл  _______________at91sam7s256.zip ( 8.03 килобайт ) Кол-во скачиваний: 83
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 23 2009, 15:33
Сообщение #110


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Кроме упражнений в copy-paste c абсолютно ненужной, точнее вредной ASM обертки более просто ничего нет sad.gif. Дурдом sad.gif



 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 23 2009, 15:38
Сообщение #111


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Как-то разлаписто, я бы сказал sad.gif
Зачем сразу полностью инициализировать AIC и прописывать все возможные обработчики прерываний? Понадобилось какому-нибудь модулю прерывание - в модуле инициализировали AIC, добавили (если нужно, конечно) wrapper и т.д.

Цитата(zltigo @ Jan 23 2009, 18:33) *
Кроме упражнений в copy-paste c абсолютно ненужной, точнее вредной ASM обертки более просто ничего нет sad.gif

Asm-обертка уж точно не вредная, хотя нужна, конечно, далеко не всегда, это верно.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 23 2009, 15:42
Сообщение #112


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Jan 23 2009, 17:38) *
Asm-обертка уж точно не вредная, хотя нужна, конечно, далеко не всегда, это верно.

Ненужные вещи вредны.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jan 23 2009, 15:46
Сообщение #113


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



>Зачем сразу полностью инициализировать AIC и прописывать все возможные обработчики прерываний?
Сразу все не будет инициализироваться только то где будет стоять единица,все остальное препроцессор выбросит.
.equ IRQ_SYS_ON, 0 @ 1 инициализировать 0 нет
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 23 2009, 15:49
Сообщение #114


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zltigo @ Jan 23 2009, 18:42) *
Ненужные вещи вредны.

Вложенные прерывания бывают нужны. Да, далеко не всегда, но бывают. Называть код вредным только потому, что он в каком-то случае не нужен, не стоит.
Но в стартапе ему, конечно, делать совершенно нечего, согласен.

Цитата(sergey sva @ Jan 23 2009, 18:46) *
Сразу все не будет инициализироваться только то где будет стоять единица,все остальное препроцессор выбросит.
.equ IRQ_SYS_ON, 0 @ 1 инициализировать 0 нет

У Вас все прерывания будут вложенными? Сильно сомневаюсь.
Скорее всего, вообще будут задействованы 2-5 шт. Так зачем было все это писать?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jan 23 2009, 15:57
Сообщение #115


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



>У Вас все прерывания будут вложенными? Сильно сомневаюсь.
>Скорее всего, вообще будут задействованы 2-5 шт. Так зачем было все это писать?
чтобы немного с ассемблером разобраться, Да и вдруг еще кому он пригодится(мало ли где и какие и когда прерывания понадобятся а здесь вкл и все),
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 23 2009, 16:01
Сообщение #116


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sergey sva @ Jan 23 2009, 18:57) *
чтобы немного с ассемблером разобраться,

Copy-paste - не лучший метод написания программы даже тогда, когда со всем разобрались.
Для освоения просто вредный.

Цитата(sergey sva @ Jan 23 2009, 18:57) *
Да и вдруг еще кому он пригодится(мало ли где и какие и когда прерывания понадобятся а здесь вкл и все),

А если понадобятся не вложенные прерывания (как чаще всего и бывает) - что делать будете?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jan 23 2009, 16:18
Сообщение #117


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



>А если понадобятся не вложенные прерывания (как чаще всего и бывает) - что делать будете?
Можно закоментировать не нужное, первые и последние строчки в обработчике, нужны в любом случае.
А вообще будет зависть от задачи, сейчас нет не какой задачи, Кризис одним словом, нас отпустили
до 2 марта отдыхать, вот и занимаюсь самообучением smile.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 23 2009, 16:20
Сообщение #118


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sergey sva @ Jan 23 2009, 19:18) *
>А если понадобятся не вложенные прерывания (как чаще всего и бывает) - что делать будете?
Можно закоментировать не нужное, первые и последние строчки в обработчике, нужны в любом случае.

В случае не вложенных прерываний обертка не нужна вообще.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jan 23 2009, 16:41
Сообщение #119


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



> не нужна вообще
Если использовать стандартное оформление void handler(void) __attribute__ ((interrupt ("IRQ")));
А если оставить этот же стартап но использовать вот такой код в обработчике?
Код
    sub   r14,       r14, #0x04            
    stmfd sp!,      {r0-r3,r14}          
    bl       irq_handler                  
   ldmfd  sp!,      {r0-r3,pc}^
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 23 2009, 16:44
Сообщение #120


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Jan 23 2009, 18:20) *
В случае не вложенных прерываний обертка не нужна вообще.


Да и сами вложенные прерывания почти ненужная вещь. Делал за всю жизнь ровно два раза. Один раз по причине того, что система базировалась на 80286 + MSDOS и возможности других реализаций были ограничены. Но в этом случае все делалось посерьезнее, например были собственный, а не наследуемые стековые фреймы. Второй раз, когда за два дня делалась примитивная штучка и лобовое решение являлось вполне приемлимым. Для ARM7 с его штатными IRQ и FIQ смысл организации вложеных прерываний практически свидетельствует о банальном бездумом подходе к делу.       






Цитата(sergey sva @ Jan 23 2009, 18:41) *
А если оставить этот же стартап но использовать вот такой код в обработчике?


Для чего, блин......


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

10 страниц V  « < 6 7 8 9 10 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 05:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016