Я использую STM32F746ZG и FreeRTOS.Начальный адрес флэш-памяти 0x08000000.Но я хочу изменить его на 0x08040000.Я искал эту проблему через Google, но я не нашел решения.
Я изменил скрипт компоновщика следующим образом.
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K
/* FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K */
FLASH (rx) : ORIGIN = 0x8040000, LENGTH = 768K
}
Если я только изменил его и запустил отладчик, у него возникла проблема.Если я изменю VECT_TAB_OFFSET с 0x00 на 0x4000, он будет работать нормально.
/* #define VECT_TAB_SRAM */
#define VECT_TAB_OFFSET 0x40000 /* 0x00 */
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;
Но если я не использую отладчик, он ничего не работает.Это означает, что он работает только при использовании ST-Linker.
Пожалуйста, дайте мне знать, если вы знаете решение.Спасибо за заранее ваш ответ.