Hi,
I am attempting to program a TMS570LS3137 using UniFlash 3.1 but am difficulty. I can successfully program the device directly from CCS 5.5.0.00077.
I am using a Spectrum Digital XDS510 USB Plus. I am running Windows 7 Professional Service Pack 1.
The console window reported by UniFlash is as follows:
[12:15:08] CortexR4: GEL Output: Memory Map Setup for Flash @ Address 0x0
[12:15:08] Start operations on multiple programs on the target core...
[12:15:08] Loading program: C:\work\PD_MV\Firmware\SVN\MvBootLoaderDv1\Release\MvBootLoaderDv1.hex
[12:15:09] WARNING >> CortexR4: Loader: One or more sections of your program falls into a memory region that is not writable. These regions will not actually be written to the target. Check your linker configuration and/or memory map.
[12:15:19] ERROR >> CortexR4: File Loader: Data verification failed at address 0x00000000 Please verify target memory and memory map.
[12:15:19] ERROR >> CortexR4: GEL: File: C:\work\PD_MV\Firmware\SVN\MvBootLoaderDv1\Release\MvBootLoaderDv1.hex: a data verification error occurred, file load failed.
[12:15:19] File: C:\work\PD_MV\Firmware\SVN\MvBootLoaderDv1\Release\MvBootLoaderDv1.hex: a data verification error occurred, file load failed.
[12:15:19] Programs operation finished.
My UniFlash and CCS configuration files (ccxml) are identical. I had to add the line (by text edit) '<property Type="stringfield" Value="6" id="TCK Frequency MHz (Counter mode)"/>' in an attempt to get comms working, but this has no discernible impact. I have tried using the CCS ccxml file from UniFlash but this has no impact.
<?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="Spectrum Digital XDS510USB Emulator" href="connections/SD510USB_Connection.xml" id="Spectrum Digital XDS510USB Emulator" xml="SD510USB_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Spectrum Digital XDS510USB Emulator">
<instance XML_version="1.2" href="drivers/sdgoicepickusb_c.xml" id="drivers" xml="sdgoicepickusb_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/sdgocs_dapusb.xml" id="drivers" xml="sdgocs_dapusb.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/sdgocortexRusb.xml" id="drivers" xml="sdgocortexRusb.xml" xmlpath="drivers"/>
<property Type="stringfield" Value="6" id="TCK Frequency MHz (Counter mode)"/>
<platform XML_version="1.2" id="platform_0">
<instance XML_version="1.2" desc="TMS570LS3137" href="devices/tms570ls3137.xml" id="TMS570LS3137" xml="tms570ls3137.xml" xmlpath="devices"/>
</platform>
</connection>
</configuration>
</configurations>
My input HEX file encompasses address range 0x000000 to 0x01373F only. It does not include ECC information. My flash settings are the same within both UniFlash and CCS (where a parameter appears in both, which is not common for some reason):
UniFlash:
CCS:
I have also used SDConfigEx 1.43.04 to configure the UDS510USB as follows:
I have pre-erased my device flash using CCS. It is not programmed at all. it remains at all 0xFFFFFFFF.
Note that I have, on fairly limited occasions, managed to program the device with UniFlash, but it seems very flaky and could be dependent on various pre-program states, for example, whether I've just has a successful CCS reprogramming, whether the device was blank before etc. These pre-existing conditions should have no impact of course.
Any ideas?
Regards, Tony.