День добрый!
Имею:
1. Плату LPC2478-STK (
http://mail.olimex.com/Products/ARM/NXP// );
2. Среда разработки Keil;
3. Программа под FreeRTOS 7.4.
Программа под РТОС-ом размещается во внешней SDRAM.
Внешняя оператива - две микросхемы, обе подключенные на CS0 их 16-и разрядные шины данных вместе образуют 32-х разрядную (схема на сайте по ссылке выше).
Настраиваю EMC через асмовский startup кейла. За основу беру настройки с IAR-овского проекта все с того же сайта.
Программа нормально функционирует в 16-и разрядном External bus data width. При попытке переключиться в 32-х разрядный программа "зависает" на первой же
вызываемой РТОС функции (xSemaphoreCreateMutex). Если посмотреть в отладчике, то останов происходит в файле startup.s на строке "DAbt_Handler B DAbt_Handler".
Причем, если эту функцию выполнять пошагово, то она выполняется без проблем и следующие за ней аналогичные функции уже нормально выполняются не по шагам.
Но потом опять (через несколько вызововов функций) происходит вылет на "DAbt_Handler B DAbt_Handler".
Создавал пустой проект без РТОСа, делал аналогичные настройки EMC, читал/писал в память в 16/32bit режиме - все нормально.
Подскажите куда копать?