STM32 dual bank功能使用方法

2019-07-20 03:38发布

最近在做一个项目使用的是stm32L496vg,该芯片有一个2个bank,想使用dual bank的功能功能进行在线升级,通过串口发送升级文件,但不知道该如何进行操作,有使用过stm32 dual bank功能的朋友能不能指引一下该如何升级,又参考官方的文档AN4767,但其中对于编程,擦除,切换bank部分不是很理解,我想知道,在接收到串口的数据后的流程是什么?参考的示例代码里的步骤如下,感觉不对:

    Serial_PutString((uint8_t *)"=========================================== ");
    Serial_PutString((uint8_t *)"  Flash binary to the other bank ------- 1 ");
    Serial_PutString((uint8_t *)"  Erase the other bank ----------------- 2 ");
    Serial_PutString((uint8_t *)"  Rewrite the other bank --------------- 3 ");
    Serial_PutString((uint8_t *)"  Check the other bank integrity ------- 4 ");
    Serial_PutString((uint8_t *)"  Switch bank -------------------------- 5 ");
    Serial_PutString((uint8_t *)"  Toggle the system bank selection ----- 6 ");
    Serial_PutString((uint8_t *)"=========================================== ");


我在第一步接收到串口文件后,应该已经擦除,写入bank2了,怎么第2步骤又要擦除,该擦除不是把之前串口写入的文件擦掉了吗?第3步骤是把bank1文件写入bank2,使两bank代码相通,第4步骤怎么又检查bank了,第5步骤才切换bank,搞不清楚?到底是什么流程?
示例代码连接如下:https://www.stmicroelectronics.c ... es/x-cube-dbfu.html


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。