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.

TMS320F28379D: UNIFLASH standalone command line downloads to the wrong core.

Part Number: TMS320F28379D
Other Parts Discussed in Thread: UNIFLASH

I download 2 images on each core.  I can successfully download on Core1 but Core2 is having problems.  The default setting for "n" in "dslite-C28xx_CPU2.bat" is 2 as indicated by "set ADDITIONALS=-n 2". 

The default setting generated  an error :"Failed: Unknown core index: 2"

I changed the default settings to ""set ADDITIONALS=-n 1".  The change allowed the code to be downloaded but got programmed in the wrong core.  It downloaded to Core1 instead!!

Please help.

  • ok.. it is not downloading to the wrong core.
    However, why do we get n=2 ?
  • Anil,

    Are you saying that n=1 is working for you for loading to CPU2?

    I just tried it on my F2837xD and n=0 works for CPU1 and n=2 works for CPU2 and I was able to program both cores.

    The reason why CPU2 has index 2 is because each of the cores has a CLA, which is listed as a debuggable core and therefore CLA1 can be accessed using n=1 and CLA2 can be accessed using n=3.

    Just to confirm, are you using a custom config (CCXML) file, or just one created in UniFlash? Also, what connection type are you using? and is this in UniFlash 4.5?

    Thanks,
    Ricky
  • Thanks for your response. In my xml config file, I have bypassed CLA1 & 2.. may be that is why I am getting the error. I will try with CLAs enabled.

    I have a related question: For production purposes (on a virgin machine), I need to download to each core and lock the device subsequently using UNIFLASH standalone method. How can I do that?
  • BTW.. Yes.. I can download to core2 with n=1 with CLAs bypassed.
  • You are right.. n=2 works with CLAs enabled. If you could answer my question about securing the device after downloading, I can resolve this ticket. Thanks
  • Anil,

    You can only access one core at a time with UniFlash CLI, so you will need to run 2 separate commands to load and lock each core.

    From what I can see, these devices have 2 separate zones you can lock (Zone 1 and Zone 2). Assuming you already programmed the password, you can execute the lock operations via the "-a [--after]" command. The 'after' command will let you run the operation after loading your program.

    Example (assuming you want to lock both zones):
    > dslite -c f28379d.ccxml -e -a Z1Lock Z2Lock program.out

    You can get the list of operations that your device supports via the "-p [ --list-ops ]". After that you can use "-b [--before]" or "-a [--after]" to run these operations before or after a program load.

    Please let me know if you need addition information on how this works.

    Thanks,
    Ricky
  • Thank you for your response.  I would really appreciate it if you can answer the following questions.  I haven't found adequate documentation to describe what you have suggested.

    For production purposes, I can create a batch file that would run the commands.  But I don't have enough information to execute the commands you listed.

    Questions:

    1. How do I specify the core for a dual core device?

    2. Where are the settings of passwords and link pointers specified?  Are they part of "Z1Lock"?

    3. After I create a stand alone package, the package contains two batch files:

    Would I change the batch files to contain "Z1Lock"?

    4. Finally, within "dslite-c28xx_CPU1.bat" I assume that I would change "GENERATED_COMMAND" to add Z1Lock.

  • 1. If you are using the generated package, you will not need to specify the core (assuming you are not bypassing CLA), as dslite-C28xx_CPU1.bat and dslite-C28xx_CPU2.bat should set -n correctly.

    2. Again, if you are using the generated package, you can use the GUI to set the desire value for the password and link pointer fields. The values you set in the GUI will be saved into a .ufsettings file, and be loaded using -l command.

    The generated package will load the same settings to both cores, so if you need to load different settings, you will need to generate a different .ufsettings file in the GUI. Input the settings you want, go to the "Standalone Command Line" tab, find the "Settings" row, and click on the "Download" button to download the settings.ufsettings file. This again can be used to load the settings using the -l command.

    3 and 4. Yes, you can update C28xx_CPU1.bat and dslite-C28xx_CPU2.bat to add the "-a Z1Lock" command in the "GENERATED_COMMAND" variable.

    Let me know if you have additional questions.

    Thanks.
  • Thank you for your quick response. I think I have a clearer picture of what is going on. I will resolve this issue for now. Thanks again.