This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS UniFlash 3.1.0.00026 Failure To Program Device

Other Parts Discussed in Thread: UNIFLASH, TMS570LS3137

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.

  • Tony,

    The "One or more sections of your program falls into a memory region that is not writable" message usually indicates that UniFlash was not able to detect that your device supports Flash Programming.

    The most common cause of this error is an incorrect CCXML file (ie; incorrect device was chosen). But since you mentioned that you are using the same one from CCXML, and that you are able to program to it once in a while, that is probably not the problem.

    Another reason for this is when the device check fails. When we connect to the device, we read a few register/OTP values from the device to determine the capabilities of the device. I'm guessing the reads are failing for some reason. It doesn't really explain why it would be working in CCS5.5 though.

    Have you tried using the UniFlash command line tool? and if so, are you getting the same error?

    Another suggestion would be to generate the logs during the operation. This will give us more information on what is happening internally. To generate the logs in UniFlash, please go to 'Help -> Logging -> Start Logging'.

    Keep me updated.

    Thanks,
    Ricky
  • Hi Ricky,

    Sorry for the tardy response. For some reason I'm not getting notifications to posts I make, but am getting them for everybody else's posts even though I've unsubscribed... but that's another forum post!

    I would like to send you a couple of hex files and my ccxml file so you can have a better look yourself. The hex files are practically identical with only a register assignment change and then associated CRC and part number id in the image footer. One of them programs successfully every time, one of them fails every time. I also have associated log files.

    These files are subject to our NDA and so I would like to email them rather than post on the forum.

    Regards,
    Tony

  • Tony,

    Please find my email in my profile info.

    Also, your initial post made it sound like program load was working in CCS but not UniFlash, but your current post made it sound like one program is loading fine, but not the other. Can you help me clarify the behaviour you are seeing when you send me the binaries?

    Thanks,
    Ricky
  • All,

    Ricky thinks that there is a potential compatibility issue between UniFlash 3.1 and the TMS570LS3137 I am using:

    Quote "Based on the log, and the extra information you provided in this email, I can see that the problem you are seeing is related to memory access during connect. In the current implementation of UniFlash, it accesses various memory and registers to determine Flash capabilities, but due to the errors during connect, it is not able to read it properly. This in turn tells UniFlash to think the device is not a Flash device."

    I have reverted to UniFlash V3.0 which is more akin to the successful CCS 5.5 which was my workaround solution.

    UniFlash 3.0 does indeed work with my TMS570LS3137, this resolves my problem.

    Regards, Tony