0
\$\begingroup\$

From my understanding, Arm licenses various processor cores for vendors to use in their own designs. I've seen their Cortex branded cores used everywhere from STM32 to Xilinx Zynq.

What I don't really understand is the differentiation between the different lineups like Cortex-M, Cortex-A, Cortex-R. I get that they're supposed to be used for embedded, application, and real time tasks respectively, but what does that mean?

Cortex-M microcontrollers are very frequently used with RTOS, why is there a separate real time lineup? What makes the Cortex-A lineup different from a more powerful variant of the Cortex-M family, like Cortex-M7?

Also I understand the idea of real time systems to a degree, but what's application?

\$\endgroup\$
9
  • \$\begingroup\$ If you visit the ARM site you will find a wealth of information on this topic. It is a very broad topic, however. \$\endgroup\$ Commented Mar 27, 2021 at 23:46
  • \$\begingroup\$ according to wikipedia, Cortex-A has an MMU, which is required by most OS ... that implies that Cortex-A is designed for use in something like a kiosk \$\endgroup\$
    – jsotola
    Commented Mar 27, 2021 at 23:47
  • 2
    \$\begingroup\$ syntax, I can't begin to count the number of arguments I've seen between informed embedded, application, and real-time programmers over the meaning of "embedded," "application," and "real time." And many of them were quite heated. In a sense, this is a matter of perspective and different people imagine differing factors as important. There are natural demarcations, if you are sufficiently experienced in all of the areas. But it requires many decades of experience (or a super-genius) to see, let alone understand fully, where those natural lines exist and why. So this will be opinion here. \$\endgroup\$
    – jonk
    Commented Mar 28, 2021 at 0:11
  • 2
    \$\begingroup\$ For now, just consider -M, -A, and -R as market-speak designed to herd folks in one direction or another based upon very broad self-categorizations. If you need virtual memory spaces on a per-process basis and can explain exactly why, then you are in the market for something that provides that particular feature. Otherwise, a marketer will tell you that you need it and that you should pay extra to get it and you won't know any better and will buy into the propaganda. Better thing is that you know your needs well and find the better fit possible. Ignore the cattle chutes set up by marketers. \$\endgroup\$
    – jonk
    Commented Mar 28, 2021 at 0:18
  • 1
    \$\begingroup\$ I do not mean to say Cortex-M7 is more powerful than Cortex-A. I'm well aware of the high performance of Cortex-A. I was referring to Cortex-M7 being one of the more powerful in the class of Cortex-M. All I needed to know was that it's just marketing speak, I thought there might've been more to it. I can program just fine and have made plenty of working boards \$\endgroup\$
    – crossroad
    Commented Mar 28, 2021 at 1:34

1 Answer 1

1
\$\begingroup\$

The Micrium founder says the Cortex-M was meant for RTOS.

It all depends on how you manage all your various priorities (P) of tasks, minimizing your IRQ time and having as many stacks as you have classes of Interrupts. You can do pre-emptive high P IRQ and wait for low P IRQ's. You could choose a single stack but it is faster to have shared or dedicated stacks for classes of IRQ's.

It also depends on what tasks need to be done that can be done by other Cores, but if you are an expert in RTOS and have a complex high-speed application then the M series core is what's best according to the chief architect. (hmm M as in Micrium)

Anecdotal

6805 RTOS (custom)

Back in the day when we created the world's 1st 100 home trial of a multi-service ISDN with 1.544 Mbps full duplex starting in 1979 we needed to interface to our synchronous 2-way data streams every 8ms which is the 24 channel DS1 voice/data channel rate while tasks were prioritized on messages like fire/burglar alarms and low P tasks such as gas/water electric meter reading or medium P tasks such as assigning channels to subscriber off-hook and ring generator or TV channel changer. These were all done on the old MOT 6805 packages and there were 2 levels of concentration units on the 1" copper coax distribution channel over a mid-band RF channel and 6/12MHz for the drop to the home all in sync upstream by a single bit upstream feedback loop so they were received all in sync to the same frame (line-build-out) as a hi-P (once in a while) short task. There were 4 levels and three levels of programmers never had RTOS failures while one level, always had random maybe once a week IDT Timeout error message while it still worked. This is like a Windows blue-screen displayed when a task from a real-time h/w message has no ACK response. (that's all it means) I was employee #5 and almost 5 yrs later all the IP was sold a big producer of 70's Game machines and Scientific instrumentation in Philadelphia and we got our last paycheque in Winnipeg. But it was a fun project. Even up in a bucket truck to tune the RF modem or managing the network home for the Mayor of St Louis visit. The RTOS supported more than a dozen ISDN services like pay-TV, Weather graphics on TV, Opinion Polling , 56k Uarts end-end, automated meter reading, alarms to 911 or Fire station etc etc.

\$\endgroup\$
2
  • \$\begingroup\$ No, M as in ARM. The ARMv7 architecture has Cortex-A, Cortex-R, and Cortex-M variants. The definitive information will come from ARM, not from Micrium. \$\endgroup\$ Commented Mar 28, 2021 at 12:25
  • \$\begingroup\$ hmmm TY @ElliotAlderson I guess they just ran out of letters. But ARM requested Micrium to validate their RTOS and this was their expert opinion, not ARM now ARM has a realtime simulation platform to compare v7 & v8 \$\endgroup\$
    – D.A.S.
    Commented Mar 28, 2021 at 14:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.