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.

MSPM0G3507: TI Drivers and freeRTOS

Part Number: MSPM0G3507

Tool/software:

Hello,

I am working on a project which interfaces with a few devices using GPIO, I2C and ADC (to name a few peripherals). It is also using freeRTOS for managing communicating with the external devices. I have been doing some pre-development work with the MSPM0G3507 launchpad and MSPM0 SDK version 2.5.1.0 where I'm exploring the capabilities of the chip. 

To get more familiar with using freeRTOS with a TI micro, I began looking at the empty_freertos_LP_MSPM0G3507_freertos_ticlang example project. Right off the bat, the POSIX API calls used in this example project have been confusing to me and I have not been able to find any documentation explaining what this API is doing, so I by-passed this layer and went directly to using freeRTOs as I have done in previous projects. I was able to create some example tasks and got it running with queues and timers. It works as I intend it to. 

So now I am investigating the individual peripherals and how to interface with them. I am still working on familiarizing myself with them, but one thing that stood out to me and sparked a question was this statement in the Introduction page of the TI-Driver Library, "TI-Drivers are designed to be thread safe and work seamlessly inside of a real time operating system (RTOS) application." This got me thinking. Do these drivers depend on the POSIX layer of the architecture or can they work without it? I want to use the TI-Drivers because of their simplicity and ease-of use.

When I create my actual project, I do not plan on integrating in the POSIX source code as I will be directly calling freeRTOS functions from my application. But now I am left wondering if I actually do need to include the source code because of the TI-Drivers.

So I had the following question(s):

  1. Do I need to compile in the POSIX source code with my project?
  2. Do TI-Drivers require using the POSIX API within my application or can I not use it and still have correct functionality with the drivers.
    1. I do not wish to use the POSIX API.
  3. Can I create my project directly calling freeRTOS and allow the TI-Drivers to use the POSIX layer as needed?

Thanks for your help and I hope I wasn't too confusing with my explanation. I am new to the SDK and am still trying to figure stuff out.

  • Do I need to compile in the POSIX source code with my project?

    It's a layer above rtos. Not must have.

    Do TI-Drivers require using the POSIX API within my application or can I not use it and still have correct functionality with the drivers.
    1. I do not wish to use the POSIX API.

    You can remove that part. POSIX is for better cross platform compatibility.

    Can I create my project directly calling freeRTOS and allow the TI-Drivers to use the POSIX layer as needed?

    You can directly use freertos's own API to develop your project.

  • Thank you for your help!

    Summary: POSIX is only needed for better cross-platform compatibility and therefore not required when integrating into my project.