Basic questions about Azure RTOS

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

Basic questions about Azure RTOS

123 Views
Maciek
Contributor V

Hi,

I'm looking at Azure RTOS and have some basic questions.

1. Where is the Azure RTOS documentation? I can't find much on NXP site. Should we look for documentation at Microsoft sites?

2. We have been using MQX 4.2. MQX has it's own peripheral drivers with POSIX-like interface (for UART, SPI, I2C). FlexCAN driver has different API - but it's still delivered with MQX distribution. It looks to me that it's different situation with Azure RTOS. As I understand from brief looking at examples: if we want to use UART, SPI, CAN, GPIO etc. - we are using standard drivers from MCUXpresso SDK. Am I right? What are general guidelines for writing RTOS 'higher-level drivers' using MCUXpresso SDK peripheral drivers? Why is it safe to use transactional APIs (from MCUXpresso SDK) with Azure RTOS (they implement interrupts and state machines)? Or maybe I don't understand the peripheral drivers model of Azure RTOS ?

Please help.
Maciek

0 Kudos
3 Replies

59 Views
HangZhang
NXP Employee
NXP Employee

Hi @Maciek 

1. Yes, you should look for documentation at Microsoft sites.

2

(1) You are right, we are using standard drivers from MCUXpresso SDK. 

(2)

Transactional APIs from the MCUXpresso SDK can be safely used with Azure RTOS because they implement interrupts and state machines in a way that is compatible with the RTOS. The MCUXpresso SDK transactional APIs are designed to be used in an RTOS environment, where tasks may be preempted at any time. They use locking mechanisms to ensure that a task does not interfere with another task's operation on the same peripheral.

The use of interrupts and state machines in the MCUXpresso SDK ensures that the APIs can handle changes in the state of the hardware, such as when an interrupt occurs. This is crucial in an RTOS environment, where tasks may be interrupted at any time. The state machine keeps track of the current state of the peripheral, allowing the API to resume operation from the correct state after an interrupt.

Hope this will help you.

BR

Hang

0 Kudos

71 Views
Maciek
Contributor V

Hi,

We are using i.MXRT1064. Why is it relevant to my question ?

Regards

Maciek

0 Kudos

79 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

Hi Maciek 

SDK includes Azure RTOS for some parts. What's your chip part number?

Best Regards

Jun Zhang

0 Kudos