[STM32F4] keil下载程序 擦除flash块问题

[复制链接]
 楼主| xxrs 发表于 2022-1-1 17:54 | 显示全部楼层 |阅读模式
本人接触keil和stm32时间不长,目前使用一块F401的芯片,flash大小是256K。
目前因为搞升级功能,写了个引导程序。 我开始设定是这样的,引导程序起始地址是0x08000000,size是默认的0x40000,也就是256K。 应用程序起始地址定为0x08003000,长度也是默认的0x40000.
引导程序编译后的大小不足1k。
开始我怎么都无法跳转应用程序成功,后来发现我用keil下载程序之后,发现0x08000000到0x08003fff,也就是16K的flash空间全部擦除了,从0x4000开始数据不是0xFF。后来我将应用程序的起始地址调整为0x4000,一切都正常了。
我的疑问是,这个stm32的flash擦除为什么直接擦除了16K?
yszong 发表于 2022-1-1 17:56 | 显示全部楼层
不同芯片,擦除的块大小是不一样的,具体看芯片手册
juventus9554 发表于 2022-1-1 17:59 | 显示全部楼层
编译后可以定位到操作函数的原型,看看怎么定义的。
renyaq 发表于 2022-1-1 18:00 | 显示全部楼层
不清楚,看你用的哪个擦除函数了。
 楼主| xxrs 发表于 2022-1-1 18:03 | 显示全部楼层
能解决就好,16k也太大了吧
huangchui 发表于 2022-1-1 18:05 | 显示全部楼层
官网好像有现成的例程可以参考
shimx 发表于 2022-1-1 18:07 | 显示全部楼层
我一直在用iar
zhaoxqi 发表于 2022-1-1 18:09 | 显示全部楼层
一般来说是不是都是64k的啊
wyjie 发表于 2022-1-1 18:14 | 显示全部楼层
不足1k的话 也没法擦除啊
 楼主| xxrs 发表于 2022-1-1 18:17 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

405

主题

7415

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部