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.

TM4C1294NCPDT: Using GCC Compiler for TM4C device

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: TM4C1292NCZAD

Dear Support:

I am currently working on a firmware application using Tivaware Lib (v2.2.0.295) and Linaro GNU compiler (v7.2.1) and have been using the TI compiler in the past but need to switch to using the GNU GCC compiler.  I have found this reference below:

https://processors.wiki.ti.com/index.php/Using_GCC_with_Tiva_in_CCSv6

and have some questions after going through this document.

1.)  From my CCS project, I am using tm4c1294ncptd_startup_ccs_gcc.c and tm4c1294ncptd.lds files in it.  Are these the proper files to use when building a new GNU project using CCS?

2.)  Reading the wiki I figured out that I didn’t define the symbol TARGET_IS_TM4C129_RA2, is this symbol correct ? I saw there are a couple more: TARGET_IS_TM4C129_RA1 and TARGET_IS_TM4C129_RA0, they are connected to some hardware version? PART_TM4C1294NCPDT is the symbol present now.

3.)  Related to build option I have these:

Target architecture : armv7e-m

Code state : Compile for Thumb

Use floating point hardware : hard

Target floating point: fpv4-sp-d16  

 

I left the option that I found in the basic CCS GCC project and I checked with a  QP::Cpp example and they are the same, do you have any suggestion or guide related to the choice of these runtime libraries option?  

 

4.)   I have some difficult to find the CMSIS Cortex-M4 Peripheral Access Layer Header File for the processor we are using, just for testing purpose we are using the  TM4C1292NCZAD.h , where can I find the correct header?

 

Thanks,

Tim


  • Hello Tim,

    I will try and answer what I can but I am not familiar with GCC at all. I will try and get someone from the CCS to also have a look and try to answer what I don't know.

    1) Will have to defer to CCS team.

    2) Almost certainly correct, RA2 vs RA1 vs RA0 refer to TM4C silicon revisions with RA2 matching with Rev 3. As long as you are using Rev 3 silicon (which you should be at this point) then it is correct. The datasheet

    3) I don't see any issue with those options to my knowledge.

    4) Our CMSIS support is a bit limited currently as we don't have any expertise on the team but regarding the files you should be able to get everything you need from the download offered by our CMSIS app note: https://www.ti.com/lit/pdf/spma041

    This E2E post also discusses how to use CMSIS with TM4C and has more up-to-date info than the app note: CCS: Issues Setting Up CMSIS DSP in CCS

  • Hi Tim,

    Tim Simerly said:
    1.)  From my CCS project, I am using tm4c1294ncptd_startup_ccs_gcc.c and tm4c1294ncptd.lds files in it.  Are these the proper files to use when building a new GNU project using CCS?

    The *.lds file is GCC's equivalent of a TI linker command file (*.cmd), hence a good idea to have a properly defined one. As for the startup file, it would vary depending on the device and type of project, but for this particular device the startup file is commonly needed,

    Hope this helps

    ki