Yet more embedded articles – power, MMUs, the static keyword, and multicore
I am continuing my catch-up process of cataloging embedded software articles that I have had published on embedded.com This time they cover the influence of software on power management, using a memory management unit, all about the C/C++ keyword static and the basics of multicore …
Device Power Consumption and the Choice of Operating System
Device power issues are becoming increasingly important. It is widely recognized that this is no longer simply a hardware matter – software has an increasing impact on power consumption. The selection of an operating system may be governed by many factors; a consideration of power management is an important factor. This article reviews the various aspects of an OS that can affect its influence on power consumption and offers guidelines to avoid pitfalls. [Nucleus power management technology applies much of what is covered in this article.]
Using a Memory Management Unit
Memory Management Units [MMUs] are incorporated in or available for a wide range of embedded CPUs. Under some circumstances their use is mandatory; in other situations they might represent an unwanted overhead. This article looks at what MMUs do and how they might be applied. Process and thread model are compared and contrasted and an intermediate option considered, which might provide a compromise between security and performance requirements. [Nucleus has a light-weight process model option.]
The C Keyword static
In C and C++, the keyword static has two, quite separate uses. In C++, there is even a third use of the keyword. The nuances of these meanings/uses are not always well understood. This article explains those different uses and clarifies their relevance to embedded developers.
Multicore Basics: AMP and SMP
With multicore embedded systems becoming so common, this article outlines some of the basics, reviewing the possible hardware architectures. Broadly, there are two options: Asymmetric Multi-Processing and Symmetric Multi-Processing. These are defined and the circumstances under which each may be selected outlined, along with the implications to the embedded software engineer. [Nucleus is readily supported for AMP and SMP systems.]
Any comments or questions, please comment or email.