Board logo

标题: STM32_IAP详解(5) [打印本页]

作者: yuyang911220    时间: 2015-7-8 10:40     标题: STM32_IAP详解(5)

 是不是没有说中断向量表的问题,在iap中我们不需要考虑中断向量表,因为默认就是在0x8000000位置的,但是在app中代码的起始位置变了,必须重新设置中断向量表
在system_stm32f10x.c中有一个system_init函数,该函数被启动代码调用,配置系统时钟,在该函数中的最后一句为

#ifdef VECT_TAB_SRAM

  SCB->VTOR = SRAM_BASE |VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */

#else

  SCB->VTOR = FLASH_BASE |VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */

#endif
其中VECT_TAB_OFFSET就是我们要定义的偏移量,也就是app程序的起始地址偏移,我们知道是2000,那么该值的宏就需要修改,在大约128行的位置

//此处为flash偏移地址,app应当修改这个地址

#define VECT_TAB_OFFSET  0x2000/*!< Vector Table base offset field.

                                  This valuemust be a multiple of 0x200. */




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0