xia_yangchun 发表于 2019-2-24 10:25:47

STM32L496VG dualbank功能

最近使用stm32l496vg芯片使用dualbank功能通过串口实现在线升级的功能,也参考了官方L476的教程,有一些疑问
1/第一次烧写firmware应该是写在bank1中,我通过串口接收到新的firmware后,应该先擦除bank2,然后在写入新的firmware到bank2,然后切换到bank2运行,在检查bank1 flash与bank2是否一致,不一致执行重新拷贝bank2到bank1?

但是我看l476的历程好像不是这样(具体如下),搞不懂,具体的步骤是怎么样的,请坐的朋友帮忙看一下
Flash binary to the other bank ------- 1
Erase the other bank ----------------- 2
Rewrite the other bank --------------- 3
Check the other bank integrity ------- 4

Switch bank -------------------------- 5

Toggle the system bank selection ----- 6

以上是l476的例程,看他的意思第一步就执行了变成文件到bank2,那第2步为什么又执行擦除,这里擦除的是bank1还是bank2??
第3步又执行重新写bank,这里又是bank几写到bank几??,第4步是检查bank文件,这里又该检查bank1还是bank2??
第5步是执行bank切换,应该还好理解,第6步是互换bank,也还好理解。
做过类似的项目的朋友帮忙解答一下这个疑问?


toofree 发表于 2019-2-26 10:25:11

你可能理解有误,请提供看的是哪个“教程”,跑的是哪个“例程”?
如果你说的是例程FLASH_DualBoot的话,那么它可不是这么玩的。

xia_yangchun 发表于 2019-2-26 16:17:02

参考如下链接http://www.stmicroelectronics.com.cn/content/st_com/zh/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-dbfu.html

xia_yangchun 发表于 2019-2-26 16:19:47

toofree 发表于 2019-2-26 10:25
你可能理解有误,请提供看的是哪个“教程”,跑的是哪个“例程”?
如果你说的是例程FLASH_DualBoot的话, ...

现在已经可以切换到bank2了,只是无法再切换回来,看资料说要进入bank2后复位OB的BF2位,但是我复位了,似乎无效,不知道什么问题
页: [1]
查看完整版本: STM32L496VG dualbank功能