creep 发表于 2015-10-17 12:00:44

zhp-345798 发表于 2015-10-17 11:51
第一个设置是这样的

你没有修改过RAM的设置吧,原来没有设置前ROM和RAM是什么样子的配置。

zhp-345798 发表于 2015-10-17 12:16:29

creep 发表于 2015-10-17 12:00
你没有修改过RAM的设置吧,原来没有设置前ROM和RAM是什么样子的配置。

默认是下面图片这样的

creep 发表于 2015-10-17 12:31:41

zhp-345798 发表于 2015-10-17 12:16
默认是下面图片这样的

这里只修改 0x8000000 为 0x8010000 ,其他的不要改变。

yanhaijian 发表于 2015-10-17 13:15:56

单片机上BOOT引脚控制程序从哪里开始执行。

zhp-345798 发表于 2015-10-17 14:35:13

creep 发表于 2015-10-17 12:31
这里只修改 0x8000000 为 0x8010000 ,其他的不要改变。

这样更不行,我一开始就是这样尝试过了

zhp-345798 发表于 2015-10-17 14:35:49

yanhaijian 发表于 2015-10-17 13:15
单片机上BOOT引脚控制程序从哪里开始执行。

boot0为0,从main flash memory启动的

发表于 2015-10-17 14:43:07

可以。通过设置启动向量。NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

zhp-345798 发表于 2015-10-17 15:02:25

安 发表于 2015-10-17 14:43
可以。通过设置启动向量。NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

不可以哦,
我把SystemInit最后那里的SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;跟你的NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);是一样的效果
程序一开始调试r15(pc)的值为0xfffffffe
如果不设置flash偏移按常规的从0扇区启动的话r15(pc)值为0x8001bf4,可以正常调试运行的

creep 发表于 2015-10-17 15:31:30

zhp-345798 发表于 2015-10-17 14:35
这样更不行,我一开始就是这样尝试过了

先写个简单的测试程序把其他的代码都去掉比如点亮LED看可不可以,调试看下中断向量表是否放到0x8010000处。

发表于 2015-10-17 16:45:19

不光要代码,工程配置也要改。
页: 1 [2] 3
查看完整版本: stm32的M3程序启动地址问题