ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1468781 Топик полностью
VladislavS. (09.10.2024 17:39, просмотров: 112) ответил 3m на Какое значение вы задаете в SCB->VTOR для ремапа векторов Stm32 ? Начиная с нулевых или с 0x08000000 ? Например булоадер и приложение которое расположено с 0x08005000 в VTOR писать 0x5000 или 0x08005000 ? Пробовал - работают оба варианта.
В VTOR пишется адрес расположения таблицы векторов прерывания. Работает и 0x5000, и 0x08005000 потому что flash отображается на адреса с 0x0000'0000. Если сделать REMAP, то перестанет работать. 

Можно в приложении написать вот так и пусть линкер сам разбирается

extern void(*__vector_table[])();

SCB->VTOR = (uint32_t)&__vector_table;