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.

[FAQ] TMS320C6678: How to rebuild the IBL of Processor SDK 6.3 in Windows Environment?

Part Number: TMS320C6678

Hi,

How to rebuild the IBL of Processor SDK 6.3 in Windows Environment?

  • How to rebuild the IBL of Processor SDK 6.3 in Windows Environment?

    ==========================================================

    Pre-requisite:

    1. Download PROCESSOR-SDK-RTOS-C667x  06_03_00_106 at https://software-dl.ti.com/processor-sdk-rtos/esd/C667x/latest/index_FDS.html

    [ For the detailed steps of 2,3,4 below, click here : faq

    2. MINGW 

    2.1 MinGW project link: http://www.mingw.org/

    2.1 MinGW installer can be obtained from the following link

    http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110316/mingw-get-inst-20110316.exe/download

    While installing MinGW following options have to be chosen:
    1. MinGw Compiler Suite
    - C Compiler
    2. MinGW Developer Toolkit

    3) Required toolset
    - TI CGEN compiler CGT_C6000_7.3.0 

    Download and install this Package : https://www.ti.com/tool/download/C6000-CGT

    Please scroll and select the paraticular CGT version 7.3.0

    4 ) Modify the "environment setup script", setupenvMsys.sh located at \ti\pdk_c667x_2_0_16\packages\ti\boot\ibl\src\make 

    Sample - modification according to the compiler path in the PC.

    #!/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:/ti/c6000_7.4.24"'
    
    export PATH=$PATH:C:/ti/c6000_7.4.24/bin
    
    # Don't modify the below variables. They are derived from the above definitions
    export TOOLSC6X=$C6X_BASE_DIR
    export TOOLSC6XDOS=$C6X_BASE_DIR

    Build Instructions

    1. Modify the environment setup script, setupenvMsys.sh to match the tool chain installation
    directory.        


    2. Set the environment variables:
        - On a MinGW-MSYS Bash shell "source setupenvMsys.sh"

    ---

    For C6678, Supported ENDIAN are 
    - big
    - little

    ---

    3. commands to build IBL:

    1. Change directory to ibl\src\make

    2. make>make evm_c6678_i2c ENDIAN=little I2C_BUS_ADDR=0x51

    After re-building the IBL, the output binaries will be found at \ti\pdk_c667x_2_0_16\packages\ti\boot\ibl\src\make\bin

    i2crom_0x51_c6678_le.bin (CCS data format)

    i2crom_0x51_c6678_le.dat (raw binary) 

    --------

    Alternatively, we will find the same instructions in the file, "build_instructions.txt" located at :"\ti\pdk_c667x_2_0_16\packages\ti\boot\ibl\doc"

    5807.build_instructions.txt
    =====================================================
    C6x Bootloader Build Instructions
    =====================================================
    
    1) Supported EVM's:
        - C6678 LC EVM
        - C6670 LC EVM
        - C6474 LC EVM
        - C6474 Mezzanine EVM
        - C6472 LC EVM
        - C6457 LC EVM
        - DSK6455 EVM
        - C6657 LC EVM
        - TCI6634K2K EVM
    
    2) Supported ENDIAN
        - big
        - little
    
    3) Required toolset
        - TI CGEN compiler CGT_C6000_7.3.0
    
       Requirements for building IBL on Windows:
       For building on a Windows machine, a GNU development environment is
       required. MinGW installation is required for this. 
       MinGW project link: http://www.mingw.org/
       MinGW installer can be obtained from the following link
       http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110316/mingw-get-inst-20110316.exe/download
       While installing MinGW following options have to be chosen:
        1.  MinGw Compiler Suite
            -   C Compiler
        2. MinGW Developer Toolkit 
     
    4) Build Instructions
    
        - Change directory to ibl\src\make
        - Modify the environment setup script to match the tool chain installation
          directory:
            For building in MINGW-MSYS Bash shell modify setupenvMsys.sh 
            For building in Linux Bash shell modify setupenvLnx.sh 
        - Set the environment variables:
             On a Linux Bash shell run  "source setupenvLnx.sh"
             On a MinGW-MSYS Bash shell "source setupenvMsys.sh"
        - Following are the commands for building IBL:
    
    	For TCI6634K2K Low Cost EVM:
    	
            make evm_tci6634k2k_i2c ENDIAN=little I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_tci6634k2k_le.dat (CCS data format)
                     : bin/i2crom_0x51_tci6634k2k_le.bin (raw binary)
    
            make evm_tci6634k2k_i2c ENDIAN=big I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_tci6634k2k_be.dat (CCS data format)
                     : bin/i2crom_0x51_tci6634k2k_be.bin (raw binary)
    
    	For C6657 Low Cost EVM:
    	
            make evm_c6657_i2c ENDIAN=little I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_c6657_le.dat (CCS data format)
                     : bin/i2crom_0x51_c6657_le.bin (raw binary)
    
            make evm_c6657_i2c ENDIAN=big I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_c6657_be.dat (CCS data format)
                     : bin/i2crom_0x51_c6657_be.bin (raw binary)
    
    
            For C6678 Low Cost EVM:
            
    	make evm_c6678_i2c ENDIAN=little I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_c6678_le.dat (CCS data format)
                     : bin/i2crom_0x51_c6678_le.bin (raw binary)
    
    	make evm_c6678_i2c ENDIAN=big I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_c6678_be.dat (CCS data format)
                     : bin/i2crom_0x51_c6678_be.bin (raw binary)
    
          
            For C6670 Low Cost EVM:
    	
            make evm_c6670_i2c ENDIAN=little I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_c6670_le.dat (CCS data format)
                     : bin/i2crom_0x51_c6670_le.bin (raw binary)
    
            make evm_c6670_i2c ENDIAN=big I2C_BUS_ADDR=0x51 
            Output images:
            IBL image: bin/i2crom_0x51_c6670_be.dat (CCS data format)
                     : bin/i2crom_0x51_c6670_be.bin (raw binary)
    
    	
    
    	For C6474 LC EVM
    
    	make evm_c6474l ENDIAN=little 
            Output images:
            IBL image: bin/i2crom_0x50_c6474l_le.dat (CCS data format)
                     : bin/i2crom_0x50_c6474l_le.bin (raw binary)
    
            make evm_c6474l ENDIAN=big 
            Output images:
            IBL image: bin/i2crom_0x50_c6474l_be.dat (CCS data format)
                     : bin/i2crom_0x50_c6474l_be.bin (raw binary)
    
    	For C6474 Mezzanine EVM
    
    	make evm_c6474 ENDIAN=little 
            Output images:
            IBL image: bin/i2crom_0x50_c6474_le.dat (CCS data format)
                     : bin/i2crom_0x50_c6474_le.bin (raw binary)
    
            make evm_c6474 ENDIAN=big 
            Output images:
            IBL image: bin/i2crom_0x50_c6474_be.dat (CCS data format)
                     : bin/i2crom_0x50_c6474_be.bin (raw binary)
    
    	For C6472 LC EVM
    
    	make evm_c6472 ENDIAN=little 
            Output images:
            IBL image: bin/i2crom_0x50_c6472_le.dat (CCS data format)
                     : bin/i2crom_0x50_c6472_le.bin (raw binary)
    
            make evm_c6472 ENDIAN=big 
            Output images:
            IBL image: bin/i2crom_0x50_c6472_be.dat (CCS data format)
                     : bin/i2crom_0x50_c6472_be.bin (raw binary)
    
    	For C6457 LC EVM
    
    	make evm_c6457 ENDIAN=little 
            Output images:
            IBL image: bin/i2crom_0x50_c6457_le.dat (CCS data format)
                     : bin/i2crom_0x50_c6457_le.bin (raw binary)
    
            make evm_c6457 ENDIAN=big 
            Output images:
            IBL image: bin/i2crom_0x50_c6457_be.dat (CCS data format)
                     : bin/i2crom_0x50_c6457_be.bin (raw binary)
    
    
    	For DSK 6455 EVM
    
    	make evm_c6455 ENDIAN=little 
            Output images:
            IBL image: bin/i2crom_0x50_c6455_le.dat (CCS data format)
                     : bin/i2crom_0x50_c6455_le.bin (raw binary)
    
            make evm_c6455 ENDIAN=big 
            Output images:
            IBL image: bin/i2crom_0x50_c6455_be.dat (CCS data format)
                     : bin/i2crom_0x50_c6455_be.bin (raw binary)
    
    
    	
    
    
    		 
    
    
            
    

    Regards

    Shankari G