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/RM48L952: armhex

Part Number: RM48L952
Other Parts Discussed in Thread: UNIFLASH

Tool/software: Code Composer Studio

I want to convert .out to .hex, Can I get a link where I can download armhex.exe? I search on TI.com and I can not find the download link

  • Hello,

    The ARMHEX is installed along with the compiler. It is located in:

    C:\ti\ccsxx\ccs\tools\compiler\ti-cgt-arm_xx.LTS\bin

    BTW, The CCS is able to generate hex file:

  • ok,thanks. I have found the way to generate hex in CCS. For some reasons, I can not use the bootloader provided by TI.I want to update the program uising the hex file. Now I want to run some functions in ram and these functions will receive the hex file, then write the data in flash using flash lib API. Can it work? Up to now, I am confused that in the hex file, some data is written to RAM Address, Can the API in flash lib help me do this or I need to ignore the data? Is there any documents I can refer to?

  • Hello,

    The record of hex file consists of header, address, checksum and data. You can program the data to the address (absolute address).

  • BTW, please check your linker cmd file if the const is mapped and loaded to RAM instead of Flash.

  • Do you mean I write the data to 0x0800000? In memory map, 0x0800000 is start of the RAM and in my linker file, 0x0800000 is the start of STACK. Can the flash API write data to RAM?

    attachment is my linker file 

  • It is log data starting at 0x080053B0. The Hex file is for the bootloader rather than the application image. You can use Uniflash to load Hex file or .out file to flash.

    When programming the application image in HEX format using bootloader, you need to calculate the absolute the address first:

    TTyle (7th and 8th bytes) = 0x04 --> upper address

    Address (3rd~6th bytes): lower -address

    Absolute address = upper address << 16 + lower address

  • If the address is located at RAM range, just copy the initialized variables to RAM, and the flash APIs is not used.