Alf256 0 21 июля, 2010 Опубликовано 21 июля, 2010 · Жалоба Дело было с IAR 5.41. Беру готовый проект 3-Channal и прикручиваю к нему простейшие дрова для обмена по порту USART1 в асинхронном режиме (буквально считать порт и кинуть в переменную). До использования ОС дрова работали прекрасно и всего навсего вводили один байт по прерыванию RX. Все остальные прерывания запрещены. Пытаюсь запустить то же прерывание с ОС и ничего не работает. ось виснет, а обработчик даже не вызывается. Проверил на чистом проекте в симуляторе - обработчик на месте. Какие могут быть косяки? Я юзаю ось 2-3 дня но уже теряюсь в догадках куда улетает прерывание. P.S. был бы JTAG наверное не спрашивал бы, хотя... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ashr 0 22 июля, 2010 Опубликовано 22 июля, 2010 · Жалоба Код давайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorenja 0 22 июля, 2010 Опубликовано 22 июля, 2010 · Жалоба .....Какие могут быть косяки?.... Вот это читали? Там всё подробно описано о том как оформляется обработчики прерываний Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alf256 0 22 июля, 2010 Опубликовано 22 июля, 2010 · Жалоба Это я читал, но наверно не внимательно. Обнаружил что область векторов в загрузочном коде где-то с адреса вектора чуть выше системного таймера (начиная с 40h по EBh) забивается FF. А при компиляции линкер сообщает что не знает что такое __vector_table. Я использовал стандартный набор библиотек в комплекте с иаром только для инициализации. наверно попробую заново создать на базе рабочего примера, постепенно по шагам отслеживая работоспособность - написал ещё не много, а разбираться долго. Нашёл косяк но не знаю как его теперь исправить. Я создал вручную копию проекта демки из 1-EventFlag, т.е.скопировал все исходники и вручную поставил такие же опции. В результате в оригинальном проекте вектора берутся из файла stm32f10x_vector, а в созданном из cstartup_M. строки мап файла оригинала: __vector_table 0x08000000 0xec Data Gb stm32f10x_vector.o [1] и созданного __vector_table 0x08000000 Data Gb cstartup_M.o [4] состав проктов одинаковый все файлы нового проекта просто копии - я ничего абсолютно не менял - я так понимаю что где то не указал галку в настройках но не пойму где, вроде опции все полностью аналогичны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться