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.

How to program the out file into TMS320C6678?

I need the DSP_C6678 to boot from flash. what information can I refer to? How can I program the out file into 6678-evm flash. 

  • Hi Yuan,

    Moved this thread to correct forum for faster response.

  • Hi Yuvan,

    Please refer the program_evm_userguide document on MCSDK package. It should be useful for you.

    MCSDK Path: "\ti\mcsdk_x_xx_xx_xx\tools\program_evm/program_evm_userguide.pdf"

    Thanks,

  • Hi,

    Please find the flashing tools and binaries available in under below mentioned path on MCSDK. Please go through and follow the readme.txt on each directories.

    PATH: ..\mcsdk_x_xx_xx_xx\tools

    Also refer wiki sections,

    http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#Flash_and_Flash_Utilities

    http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#Using_Program_EVM

    Thank you.

  • After read user_Guide, I try to use the NAND Writer  to program a CCS format image/data file to the NAND flash under  mcsdk_2_01_02_06\tools\writer\nand  file.   

    The steps to program the NAND  said Copy the binary file to writer\nand\evmc66xxl\bin directory.

    I wonder how to change the *.out file into the binary file ?   Please help. Thanks

  • Updating NOR/NAND Images

    The NOR/NAND writers support reading a binary image directly. Please rename the DSP executable xxx.out to app.bin and use the writers to directly write a binary image file to the NAND or NOR. Please refer to writer\nand\docs\README.txt or writer\nor\docs\README.txt for details.

    Thanks,

  • Hi,Ganapathi Dhandapani

         I follow the steps of readme file under the mcsdk_2_01_02_06\tools\writer\nand\docs content.  Copy a  *.out file to the bin directory, and rename it to app.bin. Other steps are the same with Steps to program the NAND.

    The console print NAND programming completed successfully. After that I restart  the power and see whether it can boot  itself.

    Unfortunately, I found that it appears no response.  Is there need any other set up?  

        

  • Hi Yuan,

    Please take a look at below e2e thread, it should be helpful for you.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/268921/942701.aspx#942701

    Thanks,

  • Hi, Ganapathi Dhandapani 

         I have read the recommended article, following the steps as:

    1. Be sure to set the boot mode dip switch to no boot/EMIF16 boot mode on the EVM.

    2. Copy the *.out  file to writer\nand\evmc66xxl\bin directory, and rename it to app.bin.

    3.Connect core 0 and enter into debug page, the console print messages are as  below

    C66xx_0: GEL Output: DSP core #0

    C66xx_0: GEL Output: C6678L GEL file Ver is 2.0

    C66xx_0: GEL Output: Global Default Setup...

    C66xx_0: GEL Output: Setup Cache...

    C66xx_0: GEL Output: L1P = 32K

    C66xx_0: GEL Output: L1D = 32K

    C66xx_0: GEL Output: L2 = ALL SRAM

    C66xx_0: GEL Output: Setup Cache... Done.

    C66xx_0: GEL Output: Main PLL (PLL1) Setup ...

    C66xx_0: GEL Output: PLL in Bypass ...

    C66xx_0: GEL Output: PLL1 Setup for DSP @ 1000.0 MHz.

    C66xx_0: GEL Output: SYSCLK2 = 333.3333 MHz, SYSCLK5 = 200.0 MHz.

    C66xx_0: GEL Output: SYSCLK8 = 15.625 MHz.

    C66xx_0: GEL Output: PLL1 Setup... Done.

    C66xx_0: GEL Output: Power on all PSC modules and DSP domains...

    C66xx_0: GEL Output: Power on all PSC modules and DSP domains... Done.

    C66xx_0: GEL Output: PA PLL (PLL3) Setup ...

    C66xx_0: GEL Output: PA PLL Setup... Done.

    C66xx_0: GEL Output: DDR3 PLL (PLL2) Setup ...

    C66xx_0: GEL Output: DDR3 PLL Setup... Done.

    C66xx_0: GEL Output: DDR begin (1333 auto)

    C66xx_0: GEL Output: XMC Setup ... Done

    C66xx_0: GEL Output:

    DDR3 initialization is complete.

    C66xx_0: GEL Output: DDR done

    C66xx_0: GEL Output: DDR3 memory test... Started

    C66xx_0: GEL Output: DDR3 memory test... Passed

    C66xx_0: GEL Output: PLL and DDR Initialization completed(0) ...

    C66xx_0: GEL Output: configSGMIISerdes Setup... Begin

    C66xx_0: GEL Output:

    SGMII SERDES has been configured.

    C66xx_0: GEL Output: Enabling EDC ...

    C66xx_0: GEL Output: L1P error detection logic is enabled.

    C66xx_0: GEL Output: L2 error detection/correction logic is enabled.

    C66xx_0: GEL Output: MSMC error detection/correction logic is enabled.

    C66xx_0: GEL Output: Enabling EDC ...Done

    C66xx_0: GEL Output: Configuring CPSW ...

    C66xx_0: GEL Output: Configuring CPSW ...Done

    C66xx_0: GEL Output: Global Default Setup... Done.

    4.Open the Memory view , and view the memory address 0x80000000

    5.Load app.bin to 0x80000000, I could see 0x80000000 and following address contents changed in memory window

    6.run the program (in CCSv5, press F8), it will start to program the NAND. After a while, the console print "NAND programming completed successfully", 

    7.Power down the EVM, set the boot mode to IBL NAND boot on image 0.

    8. Power on the EVM.

    But my application does not work from NAND after restart EVM6678 board. Are there any errors in my steps?

    It has mentioned that to rebuilt the IBL. How to rebuild it?

  • Hi Yuan,

    Yes, you need to modified the "ibl_BOOT_FORMAT_BBLOB" to "ibl_BOOT_FORMAT_ELF" in IBL code (mcsdk_2_01_02_06\tools\boot_loader\ibl\src\util\iblConfig\src\device.c), edit this file by changing ibl_t c6678_ibl_config(void) ====> if you are using 6678.     ibl.bootModes[1].u.nandBoot.bootFormat        = ibl_BOOT_FORMAT_ELF;

    Re-build IBL.

    IBL Build instructions are clearly documented in MCSDK package. Please take a look at \ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\doc\build_instructions.txt

    Thanks,

  • Hi,Ganapathi Dhandapani

         I have installed the MinGW as picture show

    but next step how to use it build the IBL?  The Build Instructions said Modify the environment setup script to match the tool chain installation directory, the setupenvMsys.sh code as follows

    #!/bin/bash
    
    # Environment setup to be done if using MSYS Bash shell for build
    
    # Specify the base directory of the c6000 compiler with UNIX style path separator
    export C6X_BASE_DIR='"C:/Program Files/Texas Instruments/C6000 Code Generation Tools 7.2.4"'
    
    # Specify the base directory of the c6000 compiler in format understandable by the MSYS Bash shell 
    export C6X_BASE_DIR_MSYS=/c/Program\ Files/Texas\ Instruments/C6000\ Code\ Generation\ Tools\ 7\.2\.4
    
    # Don't modify the below variables. They are derived from the above definitions 
    export PATH=$PATH:$C6X_BASE_DIR_MSYS/bin
    export TOOLSC6X=$C6X_BASE_DIR
    export TOOLSC6XDOS=$C6X_BASE_DIR

    In my PC, it only has E:\ti\ccsv5\tools\compiler\c6000_7.4.1.   Does C6X_BASE_DIR modify to that directory? 

    Another question, how to build it .  I enter the cmd,  type the order, but unable to build.

    Please  help! 

  • Hi Yuan,

    For my understanding you are using windows command prompt. Don't use windows cmd prompt for building IBL source.

    Use MinGW msys batch file for building the IBL souce

    Thanks,

  • The build Instructions says: 

    Modify the environment setup script to match the tool chain installation directory:For building in MINGW-MSYS Bash shell modify setupenvMsys.sh. The code as below,

    #!/bin/bash
    
    # Environment setup to be done if using MSYS Bash shell for build
    
    # Specify the base directory of the c6000 compiler with UNIX style path separator
    export C6X_BASE_DIR='"C:/Program Files/Texas Instruments/C6000 Code Generation Tools 7.2.4"'
    
    # Specify the base directory of the c6000 compiler in format understandable by the MSYS Bash shell 
    export C6X_BASE_DIR_MSYS=/c/Program\ Files/Texas\ Instruments/C6000\ Code\ Generation\ Tools\ 7\.2\.4
    
    # Don't modify the below variables. They are derived from the above definitions 
    export PATH=$PATH:$C6X_BASE_DIR_MSYS/bin
    export TOOLSC6X=$C6X_BASE_DIR
    export TOOLSC6XDOS=$C6X_BASE_DIR
    

       My install CCS file as below:    

     I can not found C6000 Code Generation Tools 7.2.4. I wonder whether can set 

    export C6X_BASE_DIR='"E:\ti\ccsv5\tools\compiler\c6000_7.4.1"

  • The building error as picture show

  • Hi Yuan,

    I think you missed "source setupenvMsys.sh" command.

    please follow the below step for building IBL source

    1. Open MinGW MSYS build window

    2. Change directory to \ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\src\make

    3. Modify the environment setup script to match the tool chain installation directory(I think you already done for "E:\ti\ccsv5\tools\compiler\c6000_7.4.1").

    4. Run "source setupenvMsys.sh" command to set the environment variables.

    5. Run "make evm_c6678_i2c ENDIAN=little I2C_BUS_ADDR=0x51" command to build your IBL source.

    Thanks,

  • Hi,Ganapathi Dhandapani 

    I retry the steps, but it appears the same phenomenon.

    I load the boot_loader file, please help to find the problem

    3782.boot_loader.rar

  • Hi Yuan,

    I think c6000 compiler environment variables are not properly imported on your setup.

    Please refer below link and install C6000 Code Generation Tools v7.2.4 on default diectry(C:/Program Files/Texas Instruments/C6000 Code Generation Tools 7.2.4).

    http://software-dl.ti.com/codegen/non-esd/downloads/download.htm

    Thanks,

  • Hi,Ganapathi Dhandapani 

        I have installed C6000 Code Generation Tools v7.2.4 on default diectry, then run the order as build Instructions say, but it does not work properly. The phenomenon are the same as before.

    My mcsdk is installed on E:\ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\src\make.