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.

CCS/TM4C1233H6PM: CMSIS layer for TM4C parts

Part Number: TM4C1233H6PM

Tool/software: Code Composer Studio

All:

I worked out a CMSIS layer for TM4C/LM4F120 (as well as TM4D/4E parts), and am looking for your feedback.

The code is available here, if you want to try: github.com/.../CMSIS-framework-for-TM4-devices

an example of using the CMSIS layer on such devices is my Arduino port (partial) on the LM4F120 launchpad, available here: https://github.com/dannyf00/xDuino

Both pieces are tested under Keil / CCS. It should work for IAR but I haven't had a chance to test it.

Any feedback is appreciated.

  • Hi Danny,
    Thank you for sharing your CMSIS projects. I'm sure it will benefit many in the community. Could you tell us what specifics or lesson learned you have acquired during the CMSIS build process for TM4C. We have the below app note on building CMSIS for TM4C as well in case community members are loooking for guidance.

    www.ti.com/.../spma041g.pdf
  • Sure, Charles. for LM3S/TM4 parts, I have been using a wrapper layer to remap Stellaris/Tivaware libraries to my own calling convention (built on CMSIS for core functions), so that I could borrow my code base written for other MCUs.

    Two things made that approach difficult in my porting xDuino to TM4C/LM4F120: 1) the use of Tivaware would require some user intervention; 2) the non-struct based approach in the stock device header files provided by TI makes porting repeatitive, if I were to move away from Tivaware.

    So I decided to go Tivaware-less instead. The use of the struct-based header files + the CMSIS layer (borrowed from MSP432) worked very well, as shown in the xDuino-TM4 port.

    BTW, the stock CMSIS dsp lib works also with the set of CMSIS files I linked to earlier, following ARM's instructions. That provides another alternative.