Treblemoon 发表于 2013-3-24 15:14:47

求教关于cotex-m3(这里先问stm32)的启动文件的问题

startup_stm32f10x_md.s这个文件我看了很久,现在我感觉最大的困扰就是__Vectors这个东西按照我的理解他的值是向量表的起始位置,至少在重定向前是,但是我软件仿真发现这个的值是0x20000688,只有system_stm32f10x.c有一句指令把VTO这些寄存器变成了下面这些值:VTO这个寄存器值是0x08000000,TBLOFF的值是0x100000,TBL是0所以是在代码区,但是我的__Vectors到底在哪里被用到了?被用到也不对啊,不是VTO+TBLOFF应该等于__Vectors吗?

Treblemoon 发表于 2013-3-24 15:41:10

RE:求教关于cotex-m3(这里先问stm32)的启动文件的问题

说错了,应该是VTO=基址+TBLOFF应该等于__Vectors,而且还有个问题system_stm32f10x.c里是这么修改的SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;而VECT_TAB_OFFSET等于0x0,怎么会一下变成0x100000呢

发表于 2013-3-25 09:46:41

RE:求教关于cotex-m3(这里先问stm32)的启动文件的问题

.s是编译器识别的主要汇编代码,IAR和KEIL的.s是不一样的。这个主要是让编译器来识别的。
页: [1]
查看完整版本: 求教关于cotex-m3(这里先问stm32)的启动文件的问题