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

 
 
 
Reply to this topicStart new topic
> Грабли с FIQ в CrossWorks1.7.9 ?, В других версиях есть такая бага?
GetSmart
сообщение Sep 16 2009, 15:41
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Хотел сделать FIQ на Си под CrossWorks1.7 build 9. Сперва сделал IRQ для прерывания от АЦП. Всё заработало с первого раза. Потом решил переделать на FIQ. Долго трах..ся, но поведение уже отлаженной программы было каким-то безумным. Через несколько часов залез в ассемблерный листинг и вижу там глюк. Прикладываю фотки пролога и эпилога прерывания. На эпилоге видно, что вместо загрузки PC (для переключения режима) почему-то загружается LR, из-за чего управление не возвращается из FIQ, а проц продолжает исполнять всякий мусор после этого эпилога.
На картинке 1 -пролог, на картинке 2 - эпилог. Оптимизация = level 1.

прототип прерывания объявлен как
void AdcIntr() __attribute__((interrupt ("FIQ")));

--------
Щас заменил __attribute__((interrupt ("FIQ"))) на __attribute__((interrupt ("IRQ"))) и тот же глючный эпилог остался. Ничего не понимаю. Может что-то ещё нужно указывать? Как с инлайном например - одного атрибута __attribute__((always_inline)) недостаточно, необходимо ещё __inline перед прототипом приписывать, иначе прога зависает. Пока детально не изучал почему так.

Сообщение отредактировал GetSmart - Sep 16 2009, 15:56
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 16 2009, 16:49
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Нашёл похожие темы. Оказывается я не один такой везучий smile.gif
http://electronix.ru/forum/index.php?showt...1799&hl=gcc
http://electronix.ru/forum/lofiversion/index.php/t25812.html

ЗЫ. Кто-нить знает как для последней ссылки получить полную версию, а не lofiversion? Поиск по форуму угроблен окончательно. А в предыдущей версии форума работал нормально.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 16 2009, 17:02
Сообщение #3


Гуру
******

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



Цитата(GetSmart @ Sep 16 2009, 20:49) *
ЗЫ. Кто-нить знает как для последней ссылки получить полную версию, а не lofiversion? Поиск по форуму угроблен окончательно. А в предыдущей версии форума работал нормально.

Ссылка же внизу страницы есть.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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