高级会员

- 积分
- 591
- 金钱
- 591
- 注册时间
- 2013-3-1
- 在线时间
- 153 小时
|
8金钱
最近在做一个项目使用的是stm32L496vg,该芯片有一个2个bank,想使用dual bank的功能功能进行在线升级,通过串口发送升级文件,但不知道该如何进行操作,有使用过stm32 dual bank功能的朋友能不能指引一下该如何升级,又参考官方的文档AN4767,但其中对于编程,擦除,切换bank部分不是很理解,我想知道,在接收到串口的数据后的流程是什么?参考的示例代码里的步骤如下,感觉不对:
Serial_PutString((uint8_t *)"===========================================\r\n\n");
Serial_PutString((uint8_t *)" Flash binary to the other bank ------- 1\r\n\n");
Serial_PutString((uint8_t *)" Erase the other bank ----------------- 2\r\n\n");
Serial_PutString((uint8_t *)" Rewrite the other bank --------------- 3\r\n\n");
Serial_PutString((uint8_t *)" Check the other bank integrity ------- 4\r\n\n");
Serial_PutString((uint8_t *)" Switch bank -------------------------- 5\r\n\n");
Serial_PutString((uint8_t *)" Toggle the system bank selection ----- 6\r\n\n");
Serial_PutString((uint8_t *)"===========================================\r\n\n");
我在第一步接收到串口文件后,应该已经擦除,写入bank2了,怎么第2步骤又要擦除,该擦除不是把之前串口写入的文件擦掉了吗?第3步骤是把bank1文件写入bank2,使两bank代码相通,第4步骤怎么又检查bank了,第5步骤才切换bank,搞不清楚?到底是什么流程?
示例代码连接如下:https://www.stmicroelectronics.c ... es/x-cube-dbfu.html
|
|