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.

TMS320F280041C: TMS320F280041C

Part Number: TMS320F280041C
Other Parts Discussed in Thread: UNIFLASH

Hi TI Community Team,

I have bootloader that will boot a binary image at address 0x83000 in the MCU's Flash. I can load the binary image in at that address and the bootloader will boot into the image with no issues. So I know the binary image is flashed correctly. I've viewed the binary image using UniFLash and a sample of it can be seen below:

Ive generated the binary using the hex2000 utility with the following command:

${CG_TOOL_ROOT}/bin/hex2000 -q -b -fill=0xffff -image -o ${BuildArtifactFileBaseName}.bin ${CCS_PROJECT_DIR}/scripts/application_f280041.roms ${BuildArtifactFileName}

When I view the binary in a hex editor I see the below:

As far as I can make out the bytes withinga 16bit word have been flipped. The first word in flash is 0x761F but the first in the binary is 0x1F76.

The MCU is little endian and I would expected any binaries generated would also be in little endian. But the flash bytes and binary bytes are flipped. My question is why are the bytes flipped ?

Thanks for any help with this

  • I think I solved this. Its down to how I was interrupting the Uniflash memory browser.

    The first word 761F. I assumed this mean that 0x83000 = 76 and 0x83001 = 1F. A better way to look at this is as a full hex number 0x7615 where 0x<msb><lsb>. This means that 0x1F is the LSB and 0x76 is the MSB.

    The outputted binary is in little endian so the LSB comes first. Which means 0x1F is the first byte in the binary, which is correct and can be seen in the hex editor.

    Looking at this in the memory browser with the format set as 8-bit Hex made this clear:

  • Hi Gary,

    Glad this is solved.  Can I close this post OR do you have further questions?

    Thanks and regards,
    Vamsi