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.

Invalid endianness....

Other Parts Discussed in Thread: LM3S3748

Hello,

I am trying to launch a debugging session with the Stellaris LM3S3748 EVB. I am using Code Composer (Version: 4.1.2.00027) with a 90-day evaluation license (TMDFCCS-ALLT90A-v4.0.lic).  From the Console Window, I have encountered the following error while launching a Debug Session:  "Invalid endianness".

I was under the impression that the Target Configuration was set-up for the correct properties.  I believe that the correct setting should be "little endian", but am not able to find the proper place to make this correct to resolve the aforementioned Debug Session Error. 

Any ideas?

Thanks in advance.

Regards,

Rob

  • Hi Rob

    EmbeddedGuy said:
    I was under the impression that the Target Configuration was set-up for the correct properties.  I believe that the correct setting should be "little endian", but am not able to find the proper place to make this correct to resolve the aforementioned Debug Session Error. 

    You can check (and change) the project endianness by right-clicking on your project in the C/C++ Projects view and then selecting Build Properties, then selecting CCS Build in the left panel. Under the General tab there is a setting for the endianness. 

    ki

  • Hi Ki-Soo.

    Thanks for answering my post.  I appreciate your time.

    I was able to easily to navigate the following link that you provided:

         View > C/C++ projects

         then right-clicking the Active Project: Build Properties > CCS Build > General Tab: Device Endianness => changed from "BE-32" to "little". 

    In addition, I also selected the target Device Variant to be "Stellaris LM3S3748".  I selected "Apply" in the lower left-hand corner and performed another BUILD.  The BUILD now displays the following Linker Warning:

         warning: - -be32 ignored; output must be big-endian

    So, I must still have some issues......or is this normal?  It would appear that I should un-install CCS and then re-install it....adding in the proper license file. 

    Any other ideas other than re-installing?

    Thanks again in advance.

    Regards.....Rob

  • Strange. Stellaris should be little endian. Are you building one of the StellarisWare examples? Or is this something your wrote?

  • Hi Ki-Soo,

    I am Building a simple program that loops indefinitely.....just a while loop!  I was trying to keep it simple....lol

    Regards....Rob

    +++++++++

    int main(void) {
       
        int happy = 1;
       
        while (happy) {};
       
        return 0;
    }

    ++++++++++

  • Can you zip up your project folder and attach it here?

  • sure.  I am including a ZIPped file name MyFirstProject.zip.

    (if I understand how this attaching thing works....lol)

    Thanks for taking a look at this issue for me.

    Regards....Rob

    MyFirstProject.zip
  • EmbeddedGuy said:

    I am Building a simple program that loops indefinitely.....just a while loop!  I was trying to keep it simple....lol

    When you first created this project, did you by any chance, select the Device Variant as Generic CortexM3 Device? If you did, that sets the endianness to big (BE32) which in addition to the compiler option for big endian also sets a linker option --be32. I noticed that even if you later modify the CCS Build settings to choose Little endian and modify the Device Variant to Stellaris LM3S3748, the linker option --be32 is not removed.

    To get rid of that warning, go into Project Properties->C/C++ Build->Linker->Runtime Environment and make sure ARM big endian modes is not set.

    Alternately, if you create a new project and select Device Variant to be one of the Stellaris devices, you should not run into this issue.

    Hope this helps.

  • Thank you Ki-Soo.  I appreciate the info.

    you may be correct.  As this is My First Project using this IDE, I may have messed up the settings when creating this project!

    I will apply your recommendation and let you know how it works.

    Regards....Rob

  • Hi Rob,

    I see what is going on. You have the --be32 set in the linker options. But because that option only applies to big endian targets and you have specified your build properties to build for little endian, CCS is telling you that the option will be ignored. This is correct and your output is indeed little endian.

    ki

  • Hi Ki-Soo,

    Since my project was not critical, I deleted it and started over.  I created a new project, selecting the proper MCU (Stellaris LM3S3748 EVB).  It now compiles properly.  Thanks for your assistance in getting this CCS project issue resolved

    Regards....Rob