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.

ARM Cortex A8 bi-endianness

Other Parts Discussed in Thread: OMAP3530

I'm working with the ARM Cortex-A8 Core in the OMAP3530 running Angstrom Linux 2.6.34.  From the data sheet I see that the ARM is bi-endian, does this mean that the processor can be statically pre-configured either or does this mean that the endianness can be set dynamically as desired?

  • Hi Joe Joe,

    The Cortex-A8 treats Endianess separately for instructions and data.  Instructions are all Little Endian (LE) while data can be interactively switched between LE and BE. There is an instruction which you can use to switch:

     

        SETEND  BE          ; Set the CPSR E bit for big-endian accesses
      SETEND  LE          ; Set the CPSR E bit for little-endian accesses
    You can find some information on endianess in the ARM TRM from arm.com, but make sure you are 
    looking at the right version: 
    http://processors.wiki.ti.com/index.php/How_to_Find_the_Cortex-A8_Revision_of_your_OMAP35x
    
    Also check your peripherals, not all operate in both Big and Little Endian.

     

  • Hi,

     

    Does this mean, we can communicate between little-endian and big-endian processors.

    In our case we need to connect DM816x with an external processor which uses the big-endian data format.

    Do we have any application notes regarding Endianess from TI?

     

    Regards

    Ayus