打印
[STM32F4]

keil下载程序 擦除flash块问题

[复制链接]
1099|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者

不清楚,看你用的哪个擦除函数了。

使用特权

评论回复
5
xxrs|  楼主 | 2019-12-19 21:41 | 只看该作者

能解决就好,16k也太大了吧

使用特权

评论回复
6
guanjiaer| | 2020-1-16 12:54 | 只看该作者
官网好像有现成的例程可以参考

使用特权

评论回复
7
heimaojingzhang| | 2020-1-16 12:59 | 只看该作者
我一直在用iar

使用特权

评论回复
8
keaibukelian| | 2020-1-16 13:03 | 只看该作者
一般来说是不是都是64k的啊

使用特权

评论回复
9
labasi| | 2020-1-16 13:19 | 只看该作者
不足1k的话 也没法擦除啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝