RTOS Feasibility Study


Karthik Thangavel <kthangav@...>
 

Hi Zephyr Dev Team,

 

We are evaluating different RTOS for our upcoming project.

Can you share us below details for Zephyr RTOS,

 

HW Spec:-

ARM Cortex R52 (32-bit)

Number of Cores ==> 2/4

 

RTOS Requirement:-

 

Below are the different RTOS requirements,

 

License:

Looking for no-royalty, Open Source free redistribution license.

 

SMP:

RTOS should be able to see all Cortex R52(Same Architecture). CPU’s will share the common memory space. Single instance of RTOS that runs on all the CPUs, dividing work between them.

 

Memory Footprint:

RTOS memory footprint should be < 100KB. What is the memory footprint of Zephyr RTOS.

 

Scheduling Algorithm & Policy:

Scheduler determines which thread to run on each CPU in the system at any given time. What is the scheduling algorithm used in Zephyr RTOS.

 

CPU Affinity:

Affine particular task to specific CPU core. Group a list of process & assign it to particular CPU core. Zephyr supports this ?

 

Interrupt Affinity:

Affine particular interrupt to specific CPU core. Always IRQ-x will be routed to specific CPU core to service the interrupt. Zephyr supports this ?

 

Interrupt Handling:

Process the interrupt even the CPU executing the user process. May be disables the scheduler to avoid interrupt handler preemption. Provision to initialize interrupt vector with the proper interrupt handler. Triggers the specific handler associated with the IRQ.

 

Thread Safety feature:

Safe for use from multiple threads; operation is protected by an RTOS primitive and can be used from multiple threads.

 

Safety Certified:

Automotive functional safety certified ISO 26262.

 

Context Switching:

Save the current task state (with the intention for it to be restored at a later point in time) and switching it with another task/process already saved task state.

 

RTOS Components Configurable:

Suppose File System is not required, in that case to reduce the memory print of OS. There should be a configuration to enable to disable such modules.

 

Toolchain:

Compatible with ARM Cortex R52

 

Any existing automotive customers using Zephyr RTOS ?

 

Even if you don’t have RTOS readily supports all the above features, share the RTOS details which comes closure to our requirement & whether it can be extended to fulfill the requirements.

 

Regards,

Karthik


Lee Courtney <leec2124@...>
 

Karthik,

Is your expectation with this post that someone with the Zephyr Open Source Project will research your questions, complete your RFP, and return to you? I may be wrong, but that's not the way typical Open Source project work. 

If I am wrong I would love to see the results, especially for the automotive space as that is the area I am looking at Zephyr for.

Lee Courtney



On Mon, May 16, 2022 at 10:12 AM Karthik Thangavel <kthangav@...> wrote:

Hi Zephyr Dev Team,

 

We are evaluating different RTOS for our upcoming project.

Can you share us below details for Zephyr RTOS,

 

HW Spec:-

ARM Cortex R52 (32-bit)

Number of Cores ==> 2/4

 

RTOS Requirement:-

 

Below are the different RTOS requirements,

 

License:

Looking for no-royalty, Open Source free redistribution license.

 

SMP:

RTOS should be able to see all Cortex R52(Same Architecture). CPU’s will share the common memory space. Single instance of RTOS that runs on all the CPUs, dividing work between them.

 

Memory Footprint:

RTOS memory footprint should be < 100KB. What is the memory footprint of Zephyr RTOS.

 

Scheduling Algorithm & Policy:

Scheduler determines which thread to run on each CPU in the system at any given time. What is the scheduling algorithm used in Zephyr RTOS.

 

CPU Affinity:

Affine particular task to specific CPU core. Group a list of process & assign it to particular CPU core. Zephyr supports this ?

 

Interrupt Affinity:

Affine particular interrupt to specific CPU core. Always IRQ-x will be routed to specific CPU core to service the interrupt. Zephyr supports this ?

 

Interrupt Handling:

Process the interrupt even the CPU executing the user process. May be disables the scheduler to avoid interrupt handler preemption. Provision to initialize interrupt vector with the proper interrupt handler. Triggers the specific handler associated with the IRQ.

 

Thread Safety feature:

Safe for use from multiple threads; operation is protected by an RTOS primitive and can be used from multiple threads.

 

Safety Certified:

Automotive functional safety certified ISO 26262.

 

Context Switching:

Save the current task state (with the intention for it to be restored at a later point in time) and switching it with another task/process already saved task state.

 

RTOS Components Configurable:

Suppose File System is not required, in that case to reduce the memory print of OS. There should be a configuration to enable to disable such modules.

 

Toolchain:

Compatible with ARM Cortex R52

 

Any existing automotive customers using Zephyr RTOS ?

 

Even if you don’t have RTOS readily supports all the above features, share the RTOS details which comes closure to our requirement & whether it can be extended to fulfill the requirements.

 

Regards,

Karthik



--
Lee Courtney
+1-650-704-3934 cell


Karthik Thangavel <kthangav@...>
 

Hi Lee,

 

Yes, that’s the expectation from Zephyr project.

Initially, I posted the same set of questions in https://zephyrproject.org/contact-us/. They recommended to post these questions in dev & user mailing list.

 

Regards,

Karthik

 

From: Lee Courtney <leec2124@...>
Sent: Monday, May 16, 2022 11:07 PM
To: Karthik Thangavel <kthangav@...>
Cc: devel@...; P Hanumath Prasad <phanumat@...>; Veera Venkata Satish Kumar Kothamasu <vkothama@...>
Subject: Re: [Zephyr-devel] RTOS Feasibility Study

 

Karthik,

 

Is your expectation with this post that someone with the Zephyr Open Source Project will research your questions, complete your RFP, and return to you? I may be wrong, but that's not the way typical Open Source project work. 

 

If I am wrong I would love to see the results, especially for the automotive space as that is the area I am looking at Zephyr for.

 

Lee Courtney

 

On Mon, May 16, 2022 at 10:12 AM Karthik Thangavel <kthangav@...> wrote:

Hi Zephyr Dev Team,

 

We are evaluating different RTOS for our upcoming project.

Can you share us below details for Zephyr RTOS,

 

HW Spec:-

ARM Cortex R52 (32-bit)

Number of Cores ==> 2/4

 

RTOS Requirement:-

 

Below are the different RTOS requirements,

 

License:

Looking for no-royalty, Open Source free redistribution license.

 

SMP:

RTOS should be able to see all Cortex R52(Same Architecture). CPU’s will share the common memory space. Single instance of RTOS that runs on all the CPUs, dividing work between them.

 

Memory Footprint:

RTOS memory footprint should be < 100KB. What is the memory footprint of Zephyr RTOS.

 

Scheduling Algorithm & Policy:

Scheduler determines which thread to run on each CPU in the system at any given time. What is the scheduling algorithm used in Zephyr RTOS.

 

CPU Affinity:

Affine particular task to specific CPU core. Group a list of process & assign it to particular CPU core. Zephyr supports this ?

 

Interrupt Affinity:

Affine particular interrupt to specific CPU core. Always IRQ-x will be routed to specific CPU core to service the interrupt. Zephyr supports this ?

 

Interrupt Handling:

Process the interrupt even the CPU executing the user process. May be disables the scheduler to avoid interrupt handler preemption. Provision to initialize interrupt vector with the proper interrupt handler. Triggers the specific handler associated with the IRQ.

 

Thread Safety feature:

Safe for use from multiple threads; operation is protected by an RTOS primitive and can be used from multiple threads.

 

Safety Certified:

Automotive functional safety certified ISO 26262.

 

Context Switching:

Save the current task state (with the intention for it to be restored at a later point in time) and switching it with another task/process already saved task state.

 

RTOS Components Configurable:

Suppose File System is not required, in that case to reduce the memory print of OS. There should be a configuration to enable to disable such modules.

 

Toolchain:

Compatible with ARM Cortex R52

 

Any existing automotive customers using Zephyr RTOS ?

 

Even if you don’t have RTOS readily supports all the above features, share the RTOS details which comes closure to our requirement & whether it can be extended to fulfill the requirements.

 

Regards,

Karthik


 

--

Lee Courtney

+1-650-704-3934 cell


Carles Cufi
 

Hi there,

 

Some responses to your original email:

 

HW Spec:-

ARM Cortex R52 (32-bit)

Number of Cores ==> 2/4

 Zephyr has basic support for Cortex-R

 

License:

Looking for no-royalty, Open Source free redistribution license.

Apache v2.0, so you are good.

 

SMP:

RTOS should be able to see all Cortex R52(Same Architecture). CPU’s will share the common memory space. Single instance of RTOS that runs on all the CPUs, dividing work between them.

 As far as I know SMP is supported in Cortex-R.

 

Memory Footprint:

RTOS memory footprint should be < 100KB. What is the memory footprint of Zephyr RTOS.

 Memory footprint heavily depends on what features you enable. There are multiple ways to measure how flash and RAM is being used, both at compile time and runtime.

 

Scheduling Algorithm & Policy:

Scheduler determines which thread to run on each CPU in the system at any given time. What is the scheduling algorithm used in Zephyr RTOS.

https://docs.zephyrproject.org/latest/kernel/services/scheduling/index.html#scheduling-algorithm

 

CPU Affinity:

Affine particular task to specific CPU core. Group a list of process & assign it to particular CPU core. Zephyr supports this ?

Yes, via CPU mask, see https://docs.zephyrproject.org/latest/kernel/services/smp/smp.html

 

Interrupt Affinity:

Affine particular interrupt to specific CPU core. Always IRQ-x will be routed to specific CPU core to service the interrupt. Zephyr supports this ?

 Not sure, I recommend you ask on Discord, #kernel channel.

 

Interrupt Handling:

Process the interrupt even the CPU executing the user process. May be disables the scheduler to avoid interrupt handler preemption. Provision to initialize interrupt vector with the proper interrupt handler. Triggers the specific handler associated with the IRQ.

 Yes

Thread Safety feature:

Safe for use from multiple threads; operation is protected by an RTOS primitive and can be used from multiple threads.

 Yes

 

Safety Certified:

Automotive functional safety certified ISO 26262.

 Not yet, in progress

 

Context Switching:

Save the current task state (with the intention for it to be restored at a later point in time) and switching it with another task/process already saved task state.

 Yes

 

RTOS Components Configurable:

Suppose File System is not required, in that case to reduce the memory print of OS. There should be a configuration to enable to disable such modules.

Yes

 

Toolchain:

Compatible with ARM Cortex R52

 ? I assume you mean compatible with GNU Arm Embedded. Then yes.

 

Any existing automotive customers using Zephyr RTOS ?

No idea.

 

 

From: devel@... <devel@...> On Behalf Of Karthik Thangavel via lists.zephyrproject.org
Sent: 17 May 2022 07:35
To: Lee Courtney <leec2124@...>
Cc: devel@...; P Hanumath Prasad <phanumat@...>; Veera Venkata Satish Kumar Kothamasu <vkothama@...>
Subject: Re: [Zephyr-devel] RTOS Feasibility Study

 

Hi Lee,

 

Yes, that’s the expectation from Zephyr project.

Initially, I posted the same set of questions in https://zephyrproject.org/contact-us/. They recommended to post these questions in dev & user mailing list.

 

Regards,

Karthik

 

From: Lee Courtney <leec2124@...>
Sent: Monday, May 16, 2022 11:07 PM
To: Karthik Thangavel <kthangav@...>
Cc: devel@...; P Hanumath Prasad <phanumat@...>; Veera Venkata Satish Kumar Kothamasu <vkothama@...>
Subject: Re: [Zephyr-devel] RTOS Feasibility Study

 

Karthik,

 

Is your expectation with this post that someone with the Zephyr Open Source Project will research your questions, complete your RFP, and return to you? I may be wrong, but that's not the way typical Open Source project work. 

 

If I am wrong I would love to see the results, especially for the automotive space as that is the area I am looking at Zephyr for.

 

Lee Courtney

 

On Mon, May 16, 2022 at 10:12 AM Karthik Thangavel <kthangav@...> wrote:

Hi Zephyr Dev Team,

 

We are evaluating different RTOS for our upcoming project.

Can you share us below details for Zephyr RTOS,

 

HW Spec:-

ARM Cortex R52 (32-bit)

Number of Cores ==> 2/4

 

RTOS Requirement:-

 

Below are the different RTOS requirements,

 

License:

Looking for no-royalty, Open Source free redistribution license.

 

SMP:

RTOS should be able to see all Cortex R52(Same Architecture). CPU’s will share the common memory space. Single instance of RTOS that runs on all the CPUs, dividing work between them.

 

Memory Footprint:

RTOS memory footprint should be < 100KB. What is the memory footprint of Zephyr RTOS.

 

Scheduling Algorithm & Policy:

Scheduler determines which thread to run on each CPU in the system at any given time. What is the scheduling algorithm used in Zephyr RTOS.

 

CPU Affinity:

Affine particular task to specific CPU core. Group a list of process & assign it to particular CPU core. Zephyr supports this ?

 

Interrupt Affinity:

Affine particular interrupt to specific CPU core. Always IRQ-x will be routed to specific CPU core to service the interrupt. Zephyr supports this ?

 

Interrupt Handling:

Process the interrupt even the CPU executing the user process. May be disables the scheduler to avoid interrupt handler preemption. Provision to initialize interrupt vector with the proper interrupt handler. Triggers the specific handler associated with the IRQ.

 

Thread Safety feature:

Safe for use from multiple threads; operation is protected by an RTOS primitive and can be used from multiple threads.

 

Safety Certified:

Automotive functional safety certified ISO 26262.

 

Context Switching:

Save the current task state (with the intention for it to be restored at a later point in time) and switching it with another task/process already saved task state.

 

RTOS Components Configurable:

Suppose File System is not required, in that case to reduce the memory print of OS. There should be a configuration to enable to disable such modules.

 

Toolchain:

Compatible with ARM Cortex R52

 

Any existing automotive customers using Zephyr RTOS ?

 

Even if you don’t have RTOS readily supports all the above features, share the RTOS details which comes closure to our requirement & whether it can be extended to fulfill the requirements.

 

Regards,

Karthik


 

--

Lee Courtney

+1-650-704-3934 cell


Lee Courtney <leec2124@...>
 

Thanks, that is good to know. Following with interest.

Lee

On Mon, May 16, 2022 at 10:35 PM Karthik Thangavel <kthangav@...> wrote:

Hi Lee,

 

Yes, that’s the expectation from Zephyr project.

Initially, I posted the same set of questions in https://zephyrproject.org/contact-us/. They recommended to post these questions in dev & user mailing list.

 

Regards,

Karthik

 

From: Lee Courtney <leec2124@...>
Sent: Monday, May 16, 2022 11:07 PM
To: Karthik Thangavel <kthangav@...>
Cc: devel@...; P Hanumath Prasad <phanumat@...>; Veera Venkata Satish Kumar Kothamasu <vkothama@...>
Subject: Re: [Zephyr-devel] RTOS Feasibility Study

 

Karthik,

 

Is your expectation with this post that someone with the Zephyr Open Source Project will research your questions, complete your RFP, and return to you? I may be wrong, but that's not the way typical Open Source project work. 

 

If I am wrong I would love to see the results, especially for the automotive space as that is the area I am looking at Zephyr for.

 

Lee Courtney

 

On Mon, May 16, 2022 at 10:12 AM Karthik Thangavel <kthangav@...> wrote:

Hi Zephyr Dev Team,

 

We are evaluating different RTOS for our upcoming project.

Can you share us below details for Zephyr RTOS,

 

HW Spec:-

ARM Cortex R52 (32-bit)

Number of Cores ==> 2/4

 

RTOS Requirement:-

 

Below are the different RTOS requirements,

 

License:

Looking for no-royalty, Open Source free redistribution license.

 

SMP:

RTOS should be able to see all Cortex R52(Same Architecture). CPU’s will share the common memory space. Single instance of RTOS that runs on all the CPUs, dividing work between them.

 

Memory Footprint:

RTOS memory footprint should be < 100KB. What is the memory footprint of Zephyr RTOS.

 

Scheduling Algorithm & Policy:

Scheduler determines which thread to run on each CPU in the system at any given time. What is the scheduling algorithm used in Zephyr RTOS.

 

CPU Affinity:

Affine particular task to specific CPU core. Group a list of process & assign it to particular CPU core. Zephyr supports this ?

 

Interrupt Affinity:

Affine particular interrupt to specific CPU core. Always IRQ-x will be routed to specific CPU core to service the interrupt. Zephyr supports this ?

 

Interrupt Handling:

Process the interrupt even the CPU executing the user process. May be disables the scheduler to avoid interrupt handler preemption. Provision to initialize interrupt vector with the proper interrupt handler. Triggers the specific handler associated with the IRQ.

 

Thread Safety feature:

Safe for use from multiple threads; operation is protected by an RTOS primitive and can be used from multiple threads.

 

Safety Certified:

Automotive functional safety certified ISO 26262.

 

Context Switching:

Save the current task state (with the intention for it to be restored at a later point in time) and switching it with another task/process already saved task state.

 

RTOS Components Configurable:

Suppose File System is not required, in that case to reduce the memory print of OS. There should be a configuration to enable to disable such modules.

 

Toolchain:

Compatible with ARM Cortex R52

 

Any existing automotive customers using Zephyr RTOS ?

 

Even if you don’t have RTOS readily supports all the above features, share the RTOS details which comes closure to our requirement & whether it can be extended to fulfill the requirements.

 

Regards,

Karthik


 

--

Lee Courtney

+1-650-704-3934 cell



--
Lee Courtney
+1-650-704-3934 cell