搜索

[AT32F415] flash擦除

[复制链接]
2693|14
手机看帖
扫描二维码
随时随地手机跟帖
slf123123|  楼主 | 2021-7-10 16:55 | 显示全部楼层 |阅读模式
升级程序保存在0x801B000-0x801EC00 flash从0x801B000擦除没有问题可以把升级程序擦除掉  但一从0x8000000开始擦除就过不去了 之前在st32f103可以

使用特权

评论回复
slf123123|  楼主 | 2021-7-10 16:57 | 显示全部楼层
用的是415CBT6        
  FLASH_Unlock();
          j=0;for(i=0;i<ErasePagelen;i++)
                {
                        FLASH_ErasePage(((uint32_t)0x8000000)+j);j=j+0x400;IWDG_Feed();
                }
                FLASH_Lock();

使用特权

评论回复
slf123123|  楼主 | 2021-7-10 16:58 | 显示全部楼层
slf123123 发表于 2021-7-10 16:57
用的是415CBT6        
  FLASH_Unlock();
          j=0;for(i=0;i

ErasePagelen值是107

使用特权

评论回复
fuqinyyy| | 2021-7-11 09:06 | 显示全部楼层
是不是实际地址偏移不对

使用特权

评论回复
slf123123|  楼主 | 2021-7-12 15:13 | 显示全部楼层
fuqinyyy 发表于 2021-7-11 09:06
是不是实际地址偏移不对

我试了一下把升级的程序做为主程序跑 是可以正常擦除的  但把升级程序放到0x801B000 擦除0x8000000的内容的话  只能擦除掉两页 之后的操作就不执行 好像是被中断了

使用特权

评论回复
lidi911| | 2021-7-14 08:41 | 显示全部楼层
雅特力的flash结构和分区和ST一样不?

使用特权

评论回复
muyichuan2012| | 2021-7-14 09:07 | 显示全部楼层
和ST一样,要注意flash page size会根据flash容量而不同。256K及以上flash容量,page size为2K.   而对于256K以下flash容量,page size为1K.

使用特权

评论回复
slf123123|  楼主 | 2021-7-14 13:21 | 显示全部楼层
muyichuan2012 发表于 2021-7-14 09:07
和ST一样,要注意flash page size会根据flash容量而不同。256K及以上flash容量,page size为2K.   而对于25 ...

我看到一个文档是将IAP放在非闪存起始地址的方法  
当放在非 page0 的起始地址时,需要在 page0 增加一个引导程序,
请问一下这个引导程序是必须要加的吗  因为我之前用st的时候是没有这个引导程序的  IAP是放在非闪存起始地址   然后直接从0x8000000开始擦开始写

使用特权

评论回复
slf123123|  楼主 | 2021-7-14 13:23 | 显示全部楼层
muyichuan2012 发表于 2021-7-14 09:07
和ST一样,要注意flash page size会根据flash容量而不同。256K及以上flash容量,page size为2K.   而对于25 ...

flash页数我应该是没搞错的  用的是CBT6 128k 的flash  所以擦的时候按一页0x400擦的

使用特权

评论回复
单片小菜| | 2021-7-14 14:41 | 显示全部楼层
这样做是可以的,没有任何问题的。

使用特权

评论回复
单片小菜| | 2021-7-14 14:50 | 显示全部楼层
这个可以随意的擦除的,没有任何问题的。

使用特权

评论回复
自己造声卡| | 2021-7-14 16:21 | 显示全部楼层
需要进行擦除之后,再进行烧录。解锁,擦除,烧录。

使用特权

评论回复
wsnsyy| | 2021-7-14 18:20 | 显示全部楼层
前面两页是不能擦除的吧,自动写保护的

使用特权

评论回复
slf123123|  楼主 | 2021-7-17 09:10 | 显示全部楼层
来结一下贴  我用的是AT32F415CBT6 程序的话起始地址放的是一个UCOSIII 然后IAP放在了flash的最后面几页  一开始从os跳转到iap升级后  一直发现flash擦除出现问题  只能擦除掉几页不能全擦  然后我就在flash起始页做了个引导程序做跳转发现可以了  但我一直奇怪的是为什么不能从0x8000000开始擦写 我明明用ICP把flash全擦 保护什么也全关了 然后我又回去试了一下把主程序放起始的位置发现可以了!

使用特权

评论回复
aple0807| | 2021-7-19 09:20 | 显示全部楼层
升级程序放在后半段是很危险的,一旦升级过程失败设备就废了。 我们一般是放在复位处,APP放在后半段。

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 kk的回忆 得到打赏 ¥561.01
  • 2 火星国务卿 得到打赏 ¥518.00
  • 3 呐咯密密 得到打赏 ¥295.00
  • 4 小叶三千 得到打赏 ¥210.00
  • 5 jinglixixi 得到打赏 ¥190.00
  • 6 Gavin3389 得到打赏 ¥180.00
  • 7 神圣雅诗人 得到打赏 ¥170.00
  • 8 xyz549040622 得到打赏 ¥150.00
  • 9 linghz 得到打赏 ¥120.00
  • 10 137017878 得到打赏 ¥115.00
在线客服 快速回复 返回顶部 返回列表