Загрузчик не перепрыгивает на приложение stm32f446RE - PullRequest
0 голосов
/ 24 марта 2020

У меня проблемы с написанием загрузчика для моего проекта stm32f4. глядя на двоичный файл, кажется, что векторы прерываний не были правильно перемещены в 0xC000, начальный адрес моего приложения. Я обновил файл компоновщика до:

RAM (xrw)   : ORIGIN = 0x20000000, LENGTH = 128K
FLASH (rx)   : ORIGIN = 0x800C000, LENGTH = 512K

Я также обновил файл system_stm32f4xx. c до: #define VECT_TAB_OFFSET 0xC000.

в загрузчике, это "if ((( 1006 * (volatile uint32_t ) APPLICATION_ADDRESS) & 0x2FFE0000) == 0x20000000) "завершается ошибкой после записи прошивки. в загрузчике APPLICATION_ADDRESS имеет значение 0x800C000.

Другая информация: Приложение работает под управлением FreeRTOS, созданным CubeMX. Загрузчик читает двоичный файл с SD-карты.

У кого-нибудь есть похожая проблема? Я написал загрузчик для STM32F3 и STM32F0 без каких-либо проблем.

...