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 CLI Program CPU2

Part Number: TMS320F28379D
Other Parts Discussed in Thread: UNIFLASH

I created a batch script for the TMS320F28379D dual core microcontroller using the Standalone Command Line generator in Uniflash v4.3.1.1835.  The programming of CPU1 using the resulting dslite.bat file is successful.  The programming of CPU2 fails when calling the generated batch script file for CPU2.  I have included the output of the batch file below.  Is there a way to utilize the generated batch script from the Uniflash Command Line option to program CPU2? 

many thanks for your response

Executing default command:
> dslite --mode flash -c user_files/configs/f28379d.ccxml -l user_files/settings
/generated.ufsettings -e -f "user_files/images/cpu2_release_1.out"
-n 1

DSLite version 8.1.0.1275
Configuring Debugger (may take a few minutes on first launch)...
        Initializing Register Database...
        Initializing: IcePick_C_0
Loaded FPGA Image: C:\Software\uniflash_windows_64\ccs_base\common\uscif\dtc_top
.jbc
        Executing Startup Scripts: IcePick_C_0
        Initializing: C28xx_CPU1
        Executing Startup Scripts: C28xx_CPU1
        Initializing: CPU1_CLA1
        Executing Startup Scripts: CPU1_CLA1
        Initializing: C28xx_CPU2
        Executing Startup Scripts: C28xx_CPU2
        Initializing: CPU2_CLA1
        Executing Startup Scripts: CPU2_CLA1
Connecting...
C28xx_CPU1: GEL Output:
Memory Map Initialization Complete
info: C28xx_CPU1: If erase/program (E/P) operation is being done on one core, th
e other core should not execute from shared-RAM (SR) as they are used for the E/
P code.  Also, CPU1 will be halted to determine SR ownership for the CPU which w
ill run the Flash Plugin code, after which CPU1 will be set to run its applicati
on. User code execution from SR could commence after both flash banks are progra
mmed.
Loading Program: user_files/images/cpu2_release_1.out
        Preparing ...
        .text: 0 of 9326 at 0x8928c
error: CPU1_CLA1: File Loader: Verification failed: Values at address 0x0008928C
 do not match Please verify target memory and memory map.
        Finished
Failed: File: user_files/images/cpu2_release_1.out: a data verificat
ion error occurred, file load failed.

  • Samuel,

    From the error messages that you copied, looks like the error is from CPU1_CLA1.
    Which CPU are you trying to load?

    Can you share your batch script (if it is ok to share)?

    Thanks and regards,
    Vamsi
  • Samuel,

    As noted by Vamsi, "-n 1" actually talks to the CLA1 core; "-n 2" would refer to CPU2 instead.

    That being said, there is a bug that prevents the UniFlash command line from working correctly for the these devices. This is because access to CPU2 requires connecting to CPU1 first, which the command line does not support right now. This is being tracked internally and is targeted to be fixed in UniFlash 4.5, targeted for release at end of September.

    As for workarounds, apart from using the GUI to access CPU2, the other workaround is to use Debug Server Scripting (DSS), which is the scripting language we have in CCS and is also accessible within UniFlash. Please read the following wiki page to learn more about how to set up DSS in UniFlash:

    processors.wiki.ti.com/.../UniFlashv4_DSS

    Once you set this up, you should be able to write a script that connects to CPU1 and then loads a program to CPU2.

    More information on DSS here:
    processors.wiki.ti.com/.../Debug_Server_Scripting

    Please let me know if you have any questions on this.

    Thanks,
    Ricky
  • Vamsi, Ricky

    Many Thanks for your reply.

    I will use the GUI so far and wait for release 4.5.

    Samuel