我将 Uniflash 的 CLI 版本与 XDS110搭配使用、以便在生产线环境中对我们的产品(基于 TMS570LS033X)进行编程。
迄今为止、这种方法效果非常好、但最近进行了更改、其中产品的其他数据存储在 MCU 存储器的组7扇区3区域中(这由 FW 命令存储、而不是通过 JTAG 存储)。
我想在编程周期中将这个区域排除在编程、擦除和验证之外。
我设法将其从使用范围设置进行编程和擦除中排除
{"FlashRangeTog":true、"FlashRangeAddr":"0x0000000-0x0003FFFF、0xF0200000-0xF0202FFF"}
但是、如果编程序列号的区域导致验证失败、这仍然会为验证部件创建错误。
我的问题是、在对产品运行硬件验证后、我必须擦除芯片、并对最终用户的固件进行编程。 类似地、如果在初始运行中发现错误时必须运行第二个测试、则电路板将已存储额外的数据、因此无法验证。
我知道、智能移动是将这些附加数据编程到 OTP 区域、但这不是所做的决定、也不可能更改此数据。
此致、
Henrik 水坝
Uniflash 输出:
DSLite 版本9.2.0.1723
正在配置调试器(首次启动可能需要几分钟时间)...
正在初始化寄存器数据库...
正在初始化:IcePick
执行启动脚本:IcePick
正在初始化:DAP
执行启动脚本:DAP
正在初始化:CortexR4
执行启动脚本:CortexR4
正在连接...
CortexR4:GEL 输出: 闪存的存储器映射设置@地址0x0Loading Program:Multiple Files
正在准备...
CortexR4:GEL 输出: 由于系统复位、闪存@地址0x0的存储器映射设置
0x0时为40960的0
正在擦除闪存
擦除组0、扇区0
擦除组0、扇区1:5%
擦除组0、扇区2:10%
擦除组0、扇区3:15%
擦除组0、扇区4:20%
擦除组0、扇区5:25%
擦除组0、扇区6:30%
擦除组0、扇区7:35%
擦除组0、扇区8:40%
擦除组0、扇区9:45%
擦除组0、扇区10:50%
擦除组0、扇区11:55%
擦除组0、扇区12:60%
擦除组0、扇区13:65%
擦除组7、扇区0:75%
擦除组7、扇区1:80%
擦除组7、扇区2:85%
0x0时40960的32752:12%
0xa000处为200352的0:15%
0xa000处200352的32752:28%
200352的65504在0xa000:41%
200352的98256在0xa000:53%
200352的131008在0xa000:66%
200352在0xa000处的163760:79%
200352在0xa000处的196512:92%
0x3fee0为288的0:93%
0xf0200000处16384的0:93%
完成:93%
CortexR4:GEL 输出: 由于系统复位、闪存@地址0x0的存储器映射设置
将 PC 设置为入口点。:93%
正在验证程序:多个文件
正在准备...
0x0时为40960的0
0x0时40960的32752:12%
0xa000处为200352的0:15%
0xa000处200352的32752:28%
200352的65504在0xa000:41%
200352的98256在0xa000:53%
200352的131008在0xa000:66%
200352在0xa000处的163760:79%
200352在0xa000处的196512:92%
0x3fee0为288的0:93%
0xf0200000处16384的0:93%
错误:CortexR4:文件加载程序:验证失败:地址0xF0203000上的值不匹配请验证目标内存和内存映射。
完成:93%
失败:文件:多个文件:发生数据验证错误、文件加载失败。
配置文件:
设置文件: {"Texas Instruments XDS110 USB Debug Probe/CortexR4":{"FlashRangeTog":true、"FlashRangeAddr":"0x0000000-0x0003FFFF、0xF0200000-0xF0202FFF"}