完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
从下图的datasheet上看,Code FLASH地址应该是从0x0800 0000开始的区间,但是从IAP的demo程序代码看,自己编写的Bootloader应该是向0x0000 3000跳转去运行固件,也就是Code FLASH地址好像是从0x0000 0000开始的区间。
void SW_handler(void) { //jump UserCode __asm("li a6, 0x3000"); __asm("jr a6"); while(1); } 我的问题是:我在自己编写的Bootloader程序中,从外部SPI Flash读取的固件数据应该写在哪个地址区间(假设Bootloader占用0x3000也就是12K的空间)?是0x0800 3000开始还是0x0000 3000开始?我现在发现如果往0x0000 3000开始的地址去写,调用FLASHStatus = FLASH_ErasePage(0x0000 3000)函数根本就擦除不了,虽然获得的FLASHStatus值是等于FLASH_COMPLETE。而如果我换成FLASHStatus = FLASH_ErasePage(0x0800 3000),擦除完后我读数据发现都是0xE339……之类的值,并不是预期的0xFFFFFFFF,所以也不知道这种情况正不正常。还望指教,谢谢! |
|
相关推荐
4个回答
|
|
|
|
|
|
|
|
|
|
|
|
1 条评论
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
326 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
848 浏览 0 评论
1452 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3413 浏览 2 评论
2820 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1808浏览 1评论
1459浏览 1评论
342浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
860浏览 0评论
467浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:40 , Processed in 0.796433 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2722