Цитата(TU-104 @ May 28 2014, 09:34)

Или так тоже неправильно делать?
Хм. Трудно сказать, не зная точно, что вы поместили внутрь ISR_DISABLE() и ISR_DISABLE_IDCR().
Цитата(TU-104 @ May 28 2014, 09:34)

Если же этим макросом не запрещать прерывания, то шедуллер стартует и работает
В вашем коде два макроса, при этом один закомментирован. Так в каком случае работает, а в каком - нет?
Цитата(TU-104 @ May 28 2014, 09:34)

Во freertos, как подсказали в соседней ветке, я сначала копирую первые 0х80 байт в оперативную память.
Дайте, пожалуйста, ссылочку, почитаю. Надеюсь, память в ОЗУ под эти 0x80 байт вы резервируете?
На самом деле таблица векторов ARM7TDMI занимает 8 слов, плюс еще 7 слов могут занимать адреса векторов для перехода командами LDR PC, адрес. Итого достаточно копировать 60 байтов. И делать это в загрузчике (хотя это больше вопрос вкуса). Расположение вашей программы и загрузчика с адресов 01xxxxxx (а не с 0) - правильное.
Цитата(TU-104 @ May 28 2014, 09:34)

"FreeRTOS не стартует" - уточняю: доходит до запуска шедуллера и виснет.
Отладчика нет?