Sie sind auf Seite 1von 5

INSIDERS’ GUIDE EMBEDDED RTOS: KEYNOTE INTERVIEWS

MICRIUM: RTOS SPECIAL FEATURES & SPECIAL CAPABILITIES

15 December 2008: RTOS Special Features & Special Capabilities


INTERVIEWEE. JEAN J. LABROSSE
PRESIDENT
TEL. 954-217-2036
EMAIL. INFO@MICRIUM.COM
COMPANY. MICRIUM
WEB. http://www.Micrium.com

Q. First of all, tell us a little bit about yourself and your responsibilities at
Micrium.
A. I am Jean Labrosse, Micrium's founder and president, and regular speaker at the
Embedded Systems Conferences. I hold a MSEE degree, and have been designing
embedded systems for over 25 years. I authored two books: MicroC/OS-II (or µC/OS-II),
the Real-Time Kernel and Embedded Systems Building Blocks, Complete and Ready-to-
Use Modules in C and have several articles published in a variety of technology
magazines. My MicroC/OS-II book has sold well over 100,000 copies worldwide.
According to TechInsights, this is the most popular book ever written in the embedded
space. You might say that I wrote the book on RTOSes.
Micrium was founded in 1999 with a mission to shorten the time-to-market for all
product development cycles by providing extremely high quality embedded software
components in source-code form.

Q. Elsewhere in the guide, we have a full product Q&A interview, but please tell
us just in a nutshell what Micrium offers in the RTOS space.
A. Let me start by saying that a Real-Time Kernel is a subset of an RTOS. An RTOS actually
means not just the real-time kernel but also other components to be able to claim it as an
RTOS. Micrium’s offering fills the definition of an RTOS quite by offering a full portfolio
of embedded software components including µC/TCP-IP (an embedded TCP/IP stack),
µC/FS (an embedded file system), µC/GUI (an embedded Graphical User Interface),
µC/USB (a bulk and mass-storage device stack), µC/CAN (a CAN-bus framework),
µC/Probe (a universal run-time data monitor), and the list continues to expand.
Micrium’s real time kernel, µC/OS-II, is provided in source form on a CD along with my
book. It is licensed for use in thousands of commercial applications worldwide. Unlike
most competitive products, µC/OS-II is certified for use in Avionics (DO178B Level A)
and complies with medical requirements (510(k), both used in safety-critical applications.

Q. Our focus in this keynote interview is on the very special ways that a
company like Micrium can leverage new technologies and the new processor
architectures to create some RTOS and application advantages. First of all,
Micrium has been a leader in support the ARM Cortex-M3 family. What do
you find so exciting about Cortex-M3 from a software point of view?
INSIDERS’ GUIDE EMBEDDED RTOS: KEYNOTE INTERVIEWS
A. Cortex-M3 is indeed a first-class architecture. We were actually involved with ARM in
the very early stages of the definition of the Cortex-M3. In fact, uC/OS-II was used to
validate several cool features of the chip and, thus was the very first RTOS ported to
Cortex. From a software point of view, the register model is simpler and cleaner than the
previous ARM architecture, especially when it comes to exception handling. A very neat
feature is tail-chaining which prevents the CPU from restoring and then re-saving CPU
registers when back-to-back exceptions occur. The Cortex-M3 auto saves certain
registers on the task’s stack during an exception. Saving all of the CPU registers upon
exception can be accomplished by adding a single instruction to save the remaining
registers. There is also the PendSV exception, which makes writing context switching
code fairly easy. ARM added a Count Leading Zero (CLZ) instruction that can be used by
the scheduler to very quickly find the highest priority task. Bit banding is another cool
feature which allows you to set/clear bits pretty much anywhere in memory and in fact,
can also be used in the scheduling algorithm. The Cortex implements the ‘Thumb 2’
instruction set and thus, does away with the ARM/Thumb mode switching which was
annoying on previous ARM parts.

Q. Take us for a minute into the esoterica about Cortex-M3. What are its unique
features? How does Micrium take advantage of those?
A. The Cortex-M3 also has a dedicated timer just for the tick interrupt as well as a common
interrupt controller (called the NVIC). These two hardware features makes it such that
once Micrium ported Cortex to one chip manufacturer, it’s the exact same port for all.
The Cortex is also good for debugging, especially when combined with Micrium’s award
winning uC/Probe. Specifically, using the SWD (Single Wire Debug) port, uC/Probe can
examine and change variables in the target at run-time without requiring any code in the
target and, without halting the CPU. The SWO (Single Wire Output) also allows for
printf() debug messages without halting the CPU.

Q. Some vendors tell us that all RTOSes are “pretty much all alike” from a
technical point of view. Do you agree or disagree with that statement? Or is
it a case in which Micrium has some unique advantages vis-à-vis the Cortex-
M3, for example, and the others might get them soon (but not yet)?
A. Indeed, we all do basically the same thing from a technical point of view. However, not
all RTOS companies, quality, and user-friendliness the same. We pride ourselves in
having the cleanest code in the industry and, more importantly deliver products that
specifically address the way engineers work. Micrium clearly has advantages recognized
by ARM given that our software was used to validate not only the Cortex-M3 but also the
Cortex-M1 and possibly others.

Q. Another area of technology has been your uC/Probe. How is this


development tool unique? Does it also depend on have certain capabilities
inherent in the processor?
A. µC/Probe eliminates the need to stop an application to obtain system feedback. It saves
considerable development time by visually allowing users to see the internals of a running
embedded application. As a result, developers can ensure that the system is working
properly or immediately identify system instabilities visible only when the system is live.
µC/Probe works with just about any compiler, any 8-, 16-, 32- and 64-bit CPU as well as
DSPs and, can be used with any tool chain that generates an ELF/DWAFF or IEEE695
file.
INSIDERS’ GUIDE EMBEDDED RTOS: KEYNOTE INTERVIEWS
Data is displayed graphically on a PC running Microsoft Windows, and values can be
numeric or shown as gauges, bar graphs, plots, graphs, LEDs, counters, pie charts and
more. µC/Probe does not require users to write 'any' code and can operate with or
without a real time operating system (RTOS). The product interfaces with hardware
targets via J-Tag, RS-232C, TCP/IP, USB and works especially well with the Cortex-M3
with its SWD interface.
Until µC/Probe, there was no significant improvement in the way developers could
possibly examine the run-time behavior of their system (LEDs, printf() statements,
character displays, graphics displays, etc.). All of these prior techniques required that the
developer spend time and resources 'instrumenting' their code. With µC/Probe, there is
no code instrumentation, no time spent setting up test code and temporary hardware to
'see' what's going on, etc. It takes seconds to examine/display/change/plot the run-time
value of just about any variable or memory location in a system.
µC/Probe is a product that is as fundamental and universal as text editors are to writing
code. µC/Probe’s ease of use is clearly evident. It is not only effectively used by
developers but also marketers, field service technicians, and management to easily
demonstrate their products.
A fully functional, 30-day limited version of µC/Probe is available from Micrium's
website.

Q. From a technology standpoint, there are often new architectures (e.g.,


Cortex-M3) or new standards (e.g., USB/OTG). Developers are often “in the
dark” about these technologies, and especially the ways in which a
prominent RTOS vendor like Micrium can “enable” them to make their
applications just that much greater by leveraging the “new.” What ways
would you suggest a developer interview a potential RTOS partner to
determine if they are on the leading or laggard edge of technologies?
A. New technologies don’t always mean “good” technologies. Of course, Cortex and USB
and similar technologies are valuable. However, multicore, for example is still in its
infancy and there are several issues to resolve. I don’t think that multicore is the silver
bullet everybody is waiting for, but that there are still fundamental things that need to be
improved with the technologies we current have. For example:
o Coding techniques need to be improved.
o Portability of I/O software and drivers also needs improvement.
Debugging. More needs to be provided by semiconductor manufacturers on
chip such as better visibility into the chip (similar to SWD), more hardware
breakpoints, data breakpoints, 32-bit free-running timers to do time
measurements, trace ports, etc.
Developers need to ask RTOS partners what they can do for them today. What target they
support, whether there are complete ready-to-go projects to base their designs on, maybe
be given the opportunity to test the RTOS before they have to spend money, what tools
they support, etc.

Q. What is your feeling about multicore and virtualization? Do you find these to
be really exciting technologies that can help you as an RTOS vendor
differentiate from the pack? Or not so much?
A. Both are interesting technologies.
INSIDERS’ GUIDE EMBEDDED RTOS: KEYNOTE INTERVIEWS
Multicore is promising but, as indicated, there are plenty of issues to resolve before it is
ready to be mainstream. As you know, there are two basic multicore architectures: AMP
(Asymmetric Multi Processing) and SMP (Symmetric Multi Processing). In some case,
it’s possible to use both at the same time. I believe we will see more bangs for the bucks
with AMP because it scales better than SMP. It’s well known that performance with SMP
actually decreases past 8 or so cores. The biggest problem with SMP is that you have very
fast cores but memory systems are orders of magnitude slower. In other words, it’s not
possible to keep feeding the cores as fast as they need to from the single common memory
bus. With AMP, each core has its own memory space and only communicates with other
cores when necessary. With AMP, each core can have its own OS or no OS at all. With
SMP, they all share the same OS and the OS potentially needs to interrupt cores to
provide them with the highest priority task.
There are also programming and debugging aspects which are already difficult with a
single core.
As for virtualization, it’s great for large systems on which to run multiple OSes under
protected time and memory spaces, however there is a heavy performance price. I
believe that it will take a while before virtualization migrates down to smaller systems, if
ever.

Q. Looking forward into 2009, what new technologies are you especially excited
about from an RTOS/software perspective? Why?
A. For me, it’s not so much a matter of new technologies, but getting back to basics and not
reinventing the proverbial wheel. Looking for the hottest technology may not be the right
vision in the near term. It’s more about hunkering down and making sure products under
development progress rapidly and at projected cost. It’s no secret that the economy will
be a difficult one in 2009. It is even more important that companies see real “value” in
the RTOS/software they use. When the market gets soft, even small failures or delays can
be devastating. Instead, designers must be up and running quickly and their product
delivered to market rapidly. Micrium’s RTOS helps them to hit that home run that’s so
necessary today.

Q. Thank you for this interview.

Das könnte Ihnen auch gefallen