Дали мне проект на работе под STM32 Cortex M3.
Надо готовый проект - 56 килобайт обрезать, выбросить не нужное
и загнать в 32 килобайта для более дешевого чипа.
Я его пообрезал, скомпилил и запустил.
Запустил на STM32F10xB-EVAL плате.
В IAR смог пройти несколько шагов - вылетел на 0хFFFFFFFFE - "CPU halted"
Закоментировал USB, RTC - заработало, в смысле луп крутится в айдле.
Добавил прерывание на SysTick - вылетел.
Закоментировал луп - сделал пустой - работает.
Интересная особенность - код
Код
if (function_return_false()) {
call_big_function();
}
в лупе крашится (вылетает на 0х00000), хотя на call_big_function() попасть не может.
Если я меняю call_big_function() на коротенькую функцию
kick_watch_dog(), которая тоже не вызовется - все работает..
Никто не пхнет в правильном направлении?
Верить нельзя никому, даже себе. Мне - можно.