大家好、
客户有问题需要您的帮助:
当前方案结构:
引导加载程序:sector0~sector1、上电以启动该程序、确定是否有程序要 APP_temp 擦除应用区域、将 APP_temp 数据复制到应用区域并擦除 APP_temp 区域、然后跳转到应用
APP:sector2~sector8、当前应用程序、在接收升级指令时擦除 APP_temp 区域、将接收到的数据写入 APP_temp 区域、并使用关断器重新启动 DSP
APP_temp:sector9~sector15、用于升级的临时应用程序区域
主机与 DSP 通信、发送程序 bin 数据、 擦除应用程序中的指定 APP_temp、然后将接收到的 bin 数据写入 APP_temp 。
当主机持续不间断地发送整个 bin 文件时、DSP 可以正常擦除、编程和跳转。
当主机发送数据时、主机关闭、只有部分数据写入 APP_temp。
稍后、如果您尝试再次下载程序、则在使用数据擦除扇区时 DSP 将复位、并且 Debug 会发现程序此时进入 ESTOP0。
如果使用 CCS 强制下载应用程序并同时擦除 APP_temp 区域、则可以继续使用主机下载程序。
当 APP_temp 中有数据时、为什么应用程序无法擦除 APP_temp?
现在的解决方案是修改引导加载程序代码、该代码已通电、然后是正常的升级判断、最后擦除 APP_TEMP 区域、无论是否进行升级。
这样、当应用在升级期间中断时、再次下载程序将导致 DSP 重新启动到擦除 APP_temp 的引导加载程序区域、然后可以正常擦除再次下载程序。
谢谢。此致、
本