Real-Time OS

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Real-Time OS

1,546 Views
joseph_lindula
Contributor IV

Hello, I am not familiar with NXP Processors so please forgive my simple question. I have been using ARM+DSP processors from TI. Most of their processors have many high-speed communication links such as SRIO, 10G-Ethernet, and PCIE. In order to get these peripherals to work you must use an RTOS which they provide for free. 

I would like to know if there is an RTOS that is provided by NXP to get the peripherals working? My co-workers has spent long time developing Baremetal projects and I realize that if I'm going to use these types of devices I'm going to use an RTOS. 

Thank you,

Joe

3 Replies

1,396 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi Joe:

NXP provides FreeRTOS to get the peripherals working. Please refer to below link for more info

FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Th... 

https://docs.aws.amazon.com/freertos/index.html 

Regards

Daniel

1,396 Views
joseph_lindula
Contributor IV

Hello, thank you for responding to my post. Will the RTOS help get the PCIe and SATA interfaces working on the LS1012A processor? What are you comments on writing Baremetal code instead of using an RTOS? It's so hard to convince management that today's modern processors require an RTOS.

Respectfully,

Joe

0 Kudos

1,398 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi Joe:

As for my experience, systems with bare metal code can have good performance and good memory footprint.  If your application is very simple and doesn't need multi tasks, bare metal code is good.

As your applications grows in size or complexity, maybe RTOS is a better choice.

An RTOS can have have multiple tasks simultaneously and can switch between them based on events and priorities. It has many synchronization tools that are included by default in a RTOS. for example, mutex, semaphore, events, message queue..   For bare metal code, it is a big problem.

An RTOS has a scheduler that can decide which task to be executed based on the priority of the task. It can suspend a task in order to execute a higher priority task.

Also it is easier to develop with an RTOS.  and code can be ported to other platform. 

......

For PCIe and SATA interfaces working on the LS1012A processor, I would suggest you ask questions on OorIQ forum

https://community.nxp.com/community/qoriq 

Regards

Daniel