I'm using the CLI version of Uniflash with a XDS110 to program our products (TMS570LS033X based) in a production line environment.
This works quite well so far, however a recent change has been made, where additional data for the product is stored into the Bank 7 Sector 3 area of the MCU memory (this is stored by FW commands and not through JTAG).
I want to exclude this area from programming, erasing and verification during the programming cycle.
I have managed to exclude it from programming and erasing with the range setting
{"FlashRangeToggle":true,"FlashRangeAddr":"0x0000000-0x0003FFFF,0xF0200000-0xF0202FFF"}
This however still creates an error for the verification part, were the area the serial number is programmed to causes a failure of the verification.
My problem is that I have to erase the chip after having run HW verification on the product, and program an end-user FW. Similar, if a second test has to be run in case errors are found in the initial run, the board will already have the the additional data stored, and therefore fail the verification.
I'm aware that the smart move would be to program this additional data to the OTP area, but that was not the decision that was taken, and it is not a possibility to change this.
Best Regards,
Henrik Dam
Uniflash output:
DSLite version 9.2.0.1723
Configuring Debugger (may take a few minutes on first launch)...
Initializing Register Database...
Initializing: IcePick
Executing Startup Scripts: IcePick
Initializing: Dap
Executing Startup Scripts: Dap
Initializing: CortexR4
Executing Startup Scripts: CortexR4
Connecting...
CortexR4: GEL Output: Memory Map Setup for Flash @ Address 0x0Loading Program: Multiple Files
Preparing ...
CortexR4: GEL Output: Memory Map Setup for Flash @ Address 0x0 due to System Reset
0 of 40960 at 0x0
Erasing Flash
Erasing Bank 0, Sector 0
Erasing Bank 0, Sector 1: 5%
Erasing Bank 0, Sector 2: 10%
Erasing Bank 0, Sector 3: 15%
Erasing Bank 0, Sector 4: 20%
Erasing Bank 0, Sector 5: 25%
Erasing Bank 0, Sector 6: 30%
Erasing Bank 0, Sector 7: 35%
Erasing Bank 0, Sector 8: 40%
Erasing Bank 0, Sector 9: 45%
Erasing Bank 0, Sector 10: 50%
Erasing Bank 0, Sector 11: 55%
Erasing Bank 0, Sector 12: 60%
Erasing Bank 0, Sector 13: 65%
Erasing Bank 7, Sector 0: 75%
Erasing Bank 7, Sector 1: 80%
Erasing Bank 7, Sector 2: 85%
32752 of 40960 at 0x0: 12%
0 of 200352 at 0xa000: 15%
32752 of 200352 at 0xa000: 28%
65504 of 200352 at 0xa000: 41%
98256 of 200352 at 0xa000: 53%
131008 of 200352 at 0xa000: 66%
163760 of 200352 at 0xa000: 79%
196512 of 200352 at 0xa000: 92%
0 of 288 at 0x3fee0: 93%
0 of 16384 at 0xf0200000: 93%
Finished: 93%
CortexR4: GEL Output: Memory Map Setup for Flash @ Address 0x0 due to System Reset
Setting PC to entry point.: 93%
Verifying Program: Multiple Files
Preparing ...
0 of 40960 at 0x0
32752 of 40960 at 0x0: 12%
0 of 200352 at 0xa000: 15%
32752 of 200352 at 0xa000: 28%
65504 of 200352 at 0xa000: 41%
98256 of 200352 at 0xa000: 53%
131008 of 200352 at 0xa000: 66%
163760 of 200352 at 0xa000: 79%
196512 of 200352 at 0xa000: 92%
0 of 288 at 0x3fee0: 93%
0 of 16384 at 0xf0200000: 93%
error: CortexR4: File Loader: Verification failed: Values at address 0xF0203000 do not match Please verify target memory and memory map.
Finished: 93%
Failed: File: Multiple Files: a data verification error occurred, file load failed.
Configuration file:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><configurations XML_version="1.2" id="configurations_0"><configuration XML_version="1.2" id="configuration_0"> <instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe" xml="TIXDS110_Connection.xml" xmlpath="connections"/> <connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe"> <instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/> <instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/> <instance XML_version="1.2" href="drivers/tixds510cortexR.xml" id="drivers" xml="tixds510cortexR.xml" xmlpath="drivers"/> <platform XML_version="1.2" id="platform_0"> <instance XML_version="1.2" desc="TMS570LS033x" href="devices/tms570ls033x.xml" id="TMS570LS033x" xml="tms570ls033x.xml" xmlpath="devices"/> </platform> </connection> </configuration></configurations>
Settingsfile: {"Texas Instruments XDS110 USB Debug Probe/CortexR4":{"FlashRangeToggle":true,"FlashRangeAddr":"0x0000000-0x0003FFFF,0xF0200000-0xF0202FFF"}}