仅对英特尔可见 — GUID: twf1521914558960
Ixiasoft
5.6.6. 移除一个应用程序映像
- 通过在Tcl Console窗口中运行 QSPI_OPEN 和QSPI_SET_CS命令设置对AS x4接口和闪存的独占访问。您现在可以独占访问AS x4接口和闪存,直到运行QSPI_CLOSE命令放弃访问权限。使用QSPI_WRITE命令将新应用程序映像写入闪存中。
- 通过使用QSPI_WRITE命令将0x00000000写入到存储在配置固件指针模块(CPB0和CPB1)的映像指针入口中的应用程序映像起始地址中。
注: 编辑配置固件指针模块和子分区表时,必须更新两个副本(copy0和copy1)。
- 使用QSPI_ERASE命令擦除闪存中的应用程序映像内容。
- 要删除新应用程序映像,需要在下一个或后续映像指针入口中添加另一个新应用程序映像,或者允许器件回退到应用程序映像列表中的之前的或次要的应用程序映像。下表显示了CPB0和CPB1的图像指针入口的正确入口(偏移0x20和0x28):
表 47. 配置固件指针模块内容 CPB起始地址 + 0x20 内容 值 CPB0 + 0x20 = 0x002E4020 旧应用程序映像指针入口(较低优先级) 0x002F4000 CPB0 + 0x28 = 0x002E4028 当前/新应用程序映像指针入口(最高优先级) 0x03FF0000 CPB1 + 0x20 = 0x002EC020 旧应用程序映像指针入口(较低优先级) 0x002F4000 CPB1 + 0x28 = 0x002EC028 当前/新应用程序映像指针入口(最高优先级) 0x03FF0000 图 85. 读取当前CPB值% qspi_read 0x002e4020 1 0x002f400 % qspi_read 0x002e4028 1 0x03ff0000 % qspi_read 0x002ec020 1 0x002f4000 % qspi_read 0x002ec028 1 ISR is empty 0x03ff0000
现在,您可以使用QSPI_write_one_word函数将值写入到0x00000000来删除当前或新的应用程序映像地址映像指针入口,如以下示例所示。QSPI_write_one_word函数使用地址和数据参数。请务必清除刚刚从闪存中删除的应用程序内容。
图 86. 删除应用程序映像% qspi_write_one_word 0x002e4028 0x00000000 % qspi_write_one_word 0x002ec028 0x00000000
对CBP0和CPB1, 在offset 0x28上的映像指针入口使用QSPI_read来验证QSPI_write_one_word命令是否完成。
图 87. 验证写入% qspi_read 0x002e4028 1 % qspi_read 0x002ec028 1
图 88. 验证写入% qspi_read 0x004A0028 1 % qspi_read 0x004A8028 1
您现在可以使用旧的应用程序映像对器件进行配置。如果重启器件或者主机置位nCONFIG管脚,那么旧的应用程序映像具有最高优先级。您可以运行rsu_status报告来检查当前映像地址的状态。