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.

  • Resolved

CCS/TM4C129ENCPDT: Big endian? target endianness? ccxml? gel file?

Intellectual 585 points

Replies: 3

Views: 108

Part Number: TM4C129ENCPDT

Tool/software: Code Composer Studio

I would like to optimize my firmware by switching to big-endian (network byte) order.

I have an lwIP networking firmware that's working fine in the default little-endian byte order, so it should be a simple matter to rebuild. (?)

I was linking to driverlib.lib, but see that it's compiled for little-endian order. The solution here was simple: remove the linker entry and compile from source instead.

Now I'm getting a warning that my binary can't be loaded because it doesn't match the target endianness, and the dialog refers to the ccxml file. When I look in that file with the CCS editor, no options are seen for endianness, so I can't figure out what to change. In addition, my ccxml refers to a GEL file, ../../emulation/gel/tm4c129encpdt.gel, that doesn't seem to have any endianness settings.

I did a clean build after changing the Properties : CCS General : Tool-chain : Device endianness: big

What else do I need to change?

p.s. I tried scanning the Guidelines and FAQ, but didn't see anything on endianness for the TM4C. Note that a couple of links in the Guidelines are dead links! 

  • Hi Brian,
    I believe that Tiva device is fixed for little endian. I will bring this thread to the attention of the Tiva device experts.

    Thanks
    ki

    -----------------------------------

    Did you read the CCS Forum Guidelines & FAQ? If not, PLEASE read it. If you haven't read it in awhile, please read it again to see if any updates were made.

    Having CCS problems? Check out the CCS Troubleshooting Guide

    Looking for CCS Training? Check out the CCS Training Site

    Curious about the status of a bug and know the tracking ID? Track it via the public bug tracking portal

    NOTE: When a bug is filed and a tracking ID is provided, the thread may then be suggested as "TI Thinks Resolved". Why? Please read the first FAQ of the CCS Forum Guidelines & FAQ

  • The M4 in the TM4C129ENCPDT is hardwired as little endian. Code compiled in big endian format will not execute on the TM4C devices.

    Best Regards,
    Bob Crosby

  • In reply to Bob Crosby:

    Ah, there it is, right in section 2.3.6 Data Types and 2.4.6 Data Storage, as well as page 178 of the primary TM4C129ENCPDT data sheet. Some peripherals seem to support either endianness, but that's independent of the main ARM core.
    Thanks!

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.