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

[复制链接]
 楼主| xxrs 发表于 2019-12-19 21:28 | 显示全部楼层 |阅读模式
本人接触keil和stm32时间不长,目前使用一块F401的芯片,flash大小是256K。
目前因为搞升级功能,写了个引导程序。 我开始设定是这样的,引导程序起始地址是0x08000000,size是默认的0x40000,也就是256K。 应用程序起始地址定为0x08003000,长度也是默认的0x40000.
引导程序编译后的大小不足1k。
开始我怎么都无法跳转应用程序成功,后来发现我用keil下载程序之后,发现0x08000000到0x08003fff,也就是16K的flash空间全部擦除了,从0x4000开始数据不是0xFF。后来我将应用程序的起始地址调整为0x4000,一切都正常了。
我的疑问是,这个stm32的flash擦除为什么直接擦除了16K?
tian111 发表于 2019-12-19 21:31 | 显示全部楼层
不同芯片,擦除的块大小是不一样的,具体看芯片手册
zwll 发表于 2019-12-19 21:35 | 显示全部楼层

编译后可以定位到操作函数的原型,看看怎么定义的。
llljh 发表于 2019-12-19 21:38 | 显示全部楼层

不清楚,看你用的哪个擦除函数了。
 楼主| xxrs 发表于 2019-12-19 21:41 | 显示全部楼层

能解决就好,16k也太大了吧
guanjiaer 发表于 2020-1-16 12:54 | 显示全部楼层
官网好像有现成的例程可以参考
heimaojingzhang 发表于 2020-1-16 12:59 | 显示全部楼层
我一直在用iar
keaibukelian 发表于 2020-1-16 13:03 | 显示全部楼层
一般来说是不是都是64k的啊
labasi 发表于 2020-1-16 13:19 | 显示全部楼层
不足1k的话 也没法擦除啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

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