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.

CMSIS and Stellaris Peripheral Driver Library.

Other Parts Discussed in Thread: LM3S608

Hello,

I am trying to make my custom board LM3S608 having a mic connected to the ADC to read in Analog Voltages and then blink a corresponding LED depending on the range of frequencies..(implement low pass/band pass/high pass filters).

I am confused about how to approach this topic, I did read about the and the corresponding for controllers and also about integrating this with CCS.

CMSIS Device Header files : http://www.ti.com/tool/cmsis_device_headers

CMSIS DSP Headers : http://www.ti.com/tool/cmsis_dsp_headers

CMSIS DSP Library : http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php


I am also using precompiled CodeSourcery based on GCC.

Question : Whats the difference between the CMSIS library and the Stellaris Peripheral driver Library ? Is it possible to use both in my project ?
My Answer : CMSIS library provides generic programming support to all Cortex M3/M4 devices. The Stellaris peripheral driver library is for use with Stellaris controllers only and supports both the direct register access model and the other software driver model. TI very recently launched support for CMSIS library, keeping in mind people who migrate from board of other vendors based on Cortex M3/M4. I am not sure on how i can use both in my project.

It would be great if someone can clarify this.

Thanks! 

--
Shanjit Singh Jajmann

  • Your interpretation is actually not quite correct, at least for the device header component.  The CMSIS header files can be though of more as a coding style (a way to access peripheral registers) than a programming layer that makes all of your code work on various Cortex-M devices.  The original goal of CMSIS was to do what you stated, but it quickly became evident that it was not going to be efficient or even work across devices.  We do support the CMSIS model with the header files in the link you listed.

    The DSP and RTOS components are very different.  They are indeed a way to use the same code across different devices.

    TI (and Luminary Micro before) have always supported CMSIS.  The stuff we added recently was to support the new components (mainly DSP library) and the new header file scheme.  Like I said, the original idea of CMSIS didn't really catch on, so while we did have support for it, not many people used it or asked about it.