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.

Problem with On-Chip Flash Utility

Other Parts Discussed in Thread: OMAPL138

Hi,

I have a problem using the On Chip Flash utility in CCS 4.2.3 when trying to write the flash in a Piccolo device via an XDS100. If I make a configuration file with one XDS100 connected to a Piccolo, it works fine. Howvever, if I make another configuration file with two XDS100's, identified using the serial numbers, with the second XDS100 connected to a OMAPL138, then try to write the flash in the Piccolo I get errors:

C28xx: Flash Programmer: Missing Flash Programming Settings.

C28xx: Flash Programmer: Error erasing Flash memory.

C28xx: Flash Programmer: Missing Flash operation option. Operation cancelled.

C28xx: Trouble Writing Memory Block at 0x3f4000 on Page 0 of Length 0x916

Cannot write to target

When I look on the 'On-Chip Flash properties form I see a single message 'Property for node name 'FlashProgrammerNode' could not be found in 'PropertiesDB.xml'

Any ideas?

Cheers,

John.

 

 

 

  • John,

    It looks like the flash programming settings file for Piccolo A / Piccolo B is missing. This can happen sometimes when the workspace folder gets corrupted.

    Try the following:

    1) Close CCS4v

    2) Delete .metadata folder in the workspace folder

    3) Use a new workspace folder

    4) Open CCS4v and import your project, this should hopefully fix the problem for you.

    5) If the above doesn't work, delete the existing target configuration file and create a new target configuration file.

    Hope this helps resolves the problem

    Other useful links:

    http://processors.wiki.ti.com/index.php/Troubleshooting_CCS

    http://processors.wiki.ti.com/images/0/09/CCSv4_Tips_%26_Tricks.pdf

    Regards,

    Manoj


    If a post answers your question please mark it with the "Verify Answer" button

  • Hi Manoj,

    Thank you for your reply. I followed the steps in your post but this did not change anything, the problem remained as described.

    However, I did discover something: Bearing in mine that my configuration contains two XDS100s, one connected to a OMAPL138 and one to a Piccolo (NOT two piccolos), Originally I had the L138 listed first in the configuration and the piccolo second. This has the described problem. I swapped the order and put the piccolo first in the config and the L138 second and now the on chip flash utility works correctly.

    Does this shed any light on what's going on? Is this a CCS bug?

    Cheers,

    John.

  • John,

    I don't think this is a CCS bug. I believe when you have L138 listed first. It would have been the default emulator settings and not Piccolo. So, when you connected if would think you are getting connected to L138 but actually gets connected to Piccolo. So, this would explain why it doesnt load with correct Flash programmer settings and hence the flash programming issue reported.

    Regards,

    Manoj

  • Hi Manoj,

    Thanks for taking to the time to reply again. You explanation seems entirely reasonable but perhaps we disagree on the definition of the word 'bug'?

    Surely, it is not desirable behaviour to have all the connected emulators using the settings for the first one on the list? I was lucky in this case because the solution, swapping the order,  was relatively simple and has caused no other side effects - at least none that I have found. Does it mean though that there may be some L138 functionality that no longer works because it is not first any more? What happens when I want to connect three emulators? Or more?

    Cheers,

    John.

  • John - If I understand correctly, you have one target configuration file with defines two XDS100 connections. One for Piccolo and one for L138. You need to have the Piccolo listed first otherwise you get flashing errors.

    How are you starting a debug session? Are you using 'debug active project'? If that is the case, it will try to connect and load to the first connection/device it finds and if the L138 is listed first, it will use that one.

    ki

     

  • Hello Ki,

    Yes, your understanding is correct.

    I always start a debugging session by clicking 'Launch TI Debugger' from the drop down menu next to the little green bug on the tool bar after ensuring that the correct ccxml file is selected as 'Active' and 'Default'. In this way, CCS connects to both devices fine regardless of their order in the file, except that the On-Chip flash fails in the way described in my original post if the L138 is first in the file.

    Thanks for your help.

    Cheers,

    John.