Archive for the ‘Uncategorized’ Category
Tuesday, June 16th, 2020
Most of the software that most of us use most of the time is obtained as a binary executable. The program may be run and does what it does, but the user has no knowledge of its inner workings and no opportunity to modify its functionality. And all of this is fine. For example, I am writing this posting on my PC using a Windows program. Later, I will probably review it on my iPad using the corresponding app. The two programs are probably written in different languages by different teams. Do I care? Nope. The important thing to me is the data [my text] and what the software does with it.
In the world of embedded software, things are a bit different … (more…)
No Comments »
Monday, May 18th, 2020
C++ is effectively a superset of C. As a result, many developers who are learning the language start from the basis of knowing C. This leads to various aspects of the language being rather surprising. One example results in a common question: What is the idea behind the provision of multiple constructors for a class? … (more…)
No Comments »
Thursday, April 16th, 2020
Multicore systems may be configured in a number of different ways. An approach that is useful for many embedded applications is Asymmetrical MultiProcessing [AMP], where each CPU runs its own operating system or may no OS at all. A particular facet of interest is the incorporation of a hypervisor in an AMP system … (more…)
No Comments »
Monday, March 16th, 2020
In many contexts – blog posts, seminars, webinars, via email – I am presented with questions about embedded software matters. I do my best to provide answers to the questioners. However, sometimes I think that the Q&A might have wider interest, so I might publish a few here … (more…)
No Comments »
Monday, February 17th, 2020
Multicore continues to be a hot topic, as an ever-increasing number of embedded systems are designed with multiple CPUs – most commonly multiple cores on a chip. One of the challenges with understanding multicore is that the term actually covers a number of architectures and approaches to design.
Figuring out the terminology is the first challenge … (more…)
No Comments »
Wednesday, January 15th, 2020
A common question about C++: how does a struct differ from a class in C++? …
I will start by defining a struct in C. I would see it as a customized, composite data type, which may be constructed from the existing built-in data types [int, char, etc.], bit fields [integers of specified bit size] and other structures… (more…)
No Comments »
Monday, December 16th, 2019
There is sometimes a little confusion about the difference between the scope of a variable/object and its actual existence. For “existence”, read “validity” because the memory occupied by a variable never goes away; the time at which the memory is actually allocated to the variable varies … (more…)
No Comments »
Monday, November 18th, 2019
Various aspects of the C++ language concern embedded software engineers, and a particular one is exception handling … (more…)
No Comments »
Wednesday, October 16th, 2019
In C code, variables can be declared in a couple of ways. They might be static, so they are allocated a specific address in memory; this is the case for variables defined outside of functions or inside a function and qualified with the keyword static. Alternatively, a variable might be automatic, which means that it is allocated space on the stack or in a register for the duration of its scope [or, more precisely, its lifetime]. Another possibility is to dynamically allocate memory using the standard library functions … (more…)
No Comments »
Monday, September 16th, 2019
You might question why, in a blog that is supposed to be about embedded software, I am considering the selection of an embedded CPU, which is clearly a hardware matter. It would be a fair question, except that, in embedded system design, the development of hardware and software are inextricably entwined, each having an influence on the other.
So, how do software considerations affect the selection of a CPU? … (more…)
No Comments »
|