Цитата(Fedor @ May 28 2014, 13:13)

Разрешите прерывания указанным способом перед первым вызовом xTaskCreate, но если работает в thumb режиме то вот таким способом (оттуда же из FreeRTOS)
Код
void vPortEnableInterruptsFromThumb( void )
Попробую.
Цитата(Сергей Борщ @ May 28 2014, 13:26)

Так в каком случае работает, а в каком - нет?
Дайте, пожалуйста, ссылочку, почитаю. Надеюсь, память в ОЗУ под эти 0x80 байт вы резервируете?
На самом деле таблица векторов ARM7TDMI занимает 8 слов, плюс еще 7 слов могут занимать адреса векторов для перехода командами LDR PC, адрес. Итого достаточно копировать 60 байтов. И делать это в загрузчике (хотя это больше вопрос вкуса). Расположение вашей программы и загрузчика с адресов 01xxxxxx (а не с 0) - правильное.
Отладчика нет?
ISR_DISABLE_IDCR() обозвал способ из своего первого сообщения:
AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF;
ISR_DISABLE - макрос из фриртоса, предложенный Федором во втором сообщении.
Если пользуюсь вторым макросом, то виснет на старте шедуллера.
Тема про бутлоадер вот
http://electronix.ru/forum/index.php?showt...p;#entry1254289Да, просто скопировал с запасом круглое число

. В ИАРе указал, что ОЗУ начинается с 0х2000080.
Отладчика нет.. Точнее, достать можно JLINK, но jtag не разведен, припаиваться буду целый день
Сообщение отредактировал TU-104 - May 28 2014, 05:42