完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近开发一个项目,使用STM32F207片子,遇到特殊需求需要用前面4个扇区64K做参数配置存储使用(主要是需要读写操作),请问程序是否可以从0x8010000的地址或者其他非0扇区(0x8000000)启动?
|
|
相关推荐
24个回答
|
|
|
|
|
|
|
|
|
|
亲爱的娜娜 发表于 2019-3-26 14:01 具体怎么个弄法? |
|
|
|
一般只需要2步操作,比把大象放到冰箱里面还要简单一些。 1)重新设置程序的load地址为0x8010000,偏移地址根据需要设置,flash的实际size根据你的芯片大小设置。 2)设置向量表的偏移地址0x10000,在时钟初始化库函数中找到 void SystemInit(void) 设置里面的偏移量 VECT_TAB_OFFSET 为0x10000 即下面的宏定义, |
|
|
|
亲爱的娜娜 发表于 2019-3-26 14:47 谢谢creep,我照着你的方法试了下好像不行,第一步:我的mcu是STM32F207VE,512K flash,128K RAM,设置如下图 e:1.bmp 第二步跟你的一样 程序无法进入调试查看 |
|
|
|
亲爱的娜娜 发表于 2019-3-26 14:47 不会发图片。。不好意思 IROM1:0X8000000 0X10000 default勾上 IROM2:0X8010000 0X30000 startup选中 IRAM1:0X20000000 0X10000 default勾上 IRAM2:0X20010000 0X10000 |
|
|
|
这个可要弄好,不然出问题就是神奇的问题
|
|
|
|
60user183 发表于 2019-3-26 15:18 1、回复时点高级模式 2、然后点击图片图标,点击选中文件上传,上传完了,点击图片缩列图插入到回复的帖子中。 另外,感觉你设置的可能不对。 |
|
|
|
第一个设置是这样的 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
单片机上BOOT引脚控制程序从哪里开始执行。
|
|
|
|
|
|
|
|
boot0为0,从main flash memory启动的 |
|
|
|
可以。通过设置启动向量。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,可以正常调试运行的 |
|
|
|
先写个简单的测试程序把其他的代码都去掉比如点亮LED看可不可以,调试看下中断向量表是否放到0x8010000处。 |
|
|
|
不光要代码,工程配置也要改。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1049 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1017 浏览 2 评论
2123 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1219 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1639 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 02:45 , Processed in 0.854113 second(s), Total 77, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号