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.

CCS/SW-EK-TM4C123GXL: CCS build image is too large for TM4C123GXL as its flash is 256KB

Part Number: SW-EK-TM4C123GXL
Other Parts Discussed in Thread: EK-TM4C123GXL, UNIFLASH

Tool/software: Code Composer Studio

I am a beginner to EK_TM4C123GXL and CCS

I imported a ti-rtos example hello_EK_TM4C123GXL_TI from tirtos_tivac_2_16_00_08 for EK-TM4C123GXL;

Then I build it as default configuration both debug and release version

I got the hello_EK_TM4C123GXL_TI.out file which is 1,774,740  bytes;

how can this large file being flash to EK_TM4C123GXL;

is there some thing wrong?

  • could Ti help suggest a post build command for EK_TM4C123GXL ?

  • I use CCS10 and I do find a script:

    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

    is this right? I can use this script to get a bin file hello_EK_TM4C123GXL_TI.bin with 2kB size

    I also find some script having the following:

    "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe" & "D:/TI/AM335X_StarterWare_02_00_01_01/tools/ti_image/tiimage.exe"
    "0x80000000" "NONE" "${BuildDirectory}/${ProjName}.bin" "${BuildDirectory}/${ProjName}_ti.bin"
    Do I need this?
  • when I flash hello_EK_TM4C123GXL_TI.bin,it shows the following error:

    [2020/3/20 下午3:54:16] [ERROR] CORTEX_M4_0: File Loader: Verification failed: Values at address 0x00000004 do not match Please verify target memory and memory map.
    [2020/3/20 下午3:54:36] [ERROR] CORTEX_M4_0: File Loader: Verification failed: Values at address 0x00000004 do not match Please verify target memory and memory map.
  • First of all, the .out file can contain a lot more information than just the object code to be programmed into the part. Typically the debug information that is used by the debugger to identify the size of variables and associate C code lines to assembly code instructions adds considerably to the size of the .out file. Did you try to load the .out file using Code Composer Studio? Did you look at the .map file to see the actual size of the image loaded?

    The post processing steps to make a .bin file are typically used by bootloaders and are not used when programming with Code Composer Studio.

  • Thanks for your reply;

    I have tried loading .out file using Code Composer Studio.  it works;

    I want to know how to compile image from source for production enviroment like using the uniflash to program the image into chip FLash?

  • I am not sure what you are asking. Uniflash will program the .out file created by Code Composer Studio. You can use Uniflash to create a batch file for use in a production environment. 

  • if the .out file is 1.7MBytes size ,the the uniflash will program the .out image to the chip with 256KB flash, uniflash will automatically exclude the debug info of the .out file,  is this right?

  • Hi:

       In my enviroment, the host should be an embedded arm system which will do the program process, I thinks uniflash may not work;

       I have to write a program application following the programming protocol for TM4C123GXL;

       Is this possible?

       Thanks!

  • Hi:

       Can Serial Flash Downloader tool program a .out file to TM4C123GXL flash?

       Thanks

  • Yes, Uniflash will program only the actual code and data, not the debug information when given an .out file.

  • The Serial Flash bootloader (and the serial ROM bootloader) require the .bin file that is created using the post build step.