Posts Tagged ‘multi-core’

5 June, 2017

My latest video blog is now available. I am talking about multicore systems and the various software architectures that are available. You can see the video here or here:

Future video blogs will continue to look at topics of interest to embedded software developers. Suggestions for topics are always welcome via comment, email or social networking.

, , , ,

19 September, 2016

My latest video blog is now available. I am talking about multicore embedded designs and how the software can be configured. You can see the video here or here:

The challenge of multicore software development can be met by utilizing the best development tools and embedded software IP, such as the Multicore Framework from Mentor Embedded.

Future video blogs will continue to look at topics of interest to embedded software developers. Suggestions for topics are always welcome via comment, email or social networking.

, , , ,

2 February, 2016

Multicore designs in embedded systems are now becoming mainstream as the cost-effective way to implement the complex functionality required in modern devices. There are essentially two multicore system architectures – AMP and SMP. SMP [Symmetrical Multi-Processing] utilizes a number of identical CPUs, with a single operating system running on them all. All that is required is a special SMP version of the chosen OS. This is not problem for Linux and is also available for many RTOS products, like Nucleus.

For the most part, AMP [Asymmetrical Multi-Processing] has a wider application for embedded systems. And this is where new developments are progressing quickly … Read the rest of this entry »

, , , , , , , , ,

9 March, 2015

I have finally caught up and this is the last aggregation of recent articles. From now on, all being well, I’ll post to alert readers of new material being available. This time the articles cover measuring RTOS performance, the use of open source tools, memory use optimization and approaches to debugging … Read the rest of this entry »

, , , , , , , , ,

1 December, 2014

I am continuing my catch-up process of cataloging embedded software articles that I have had published on 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 … Read the rest of this entry »

, , , , , , , , , , , ,

16 September, 2014

I have written before about multicore systems – here for example – and looked at AMP vs SMP and various other aspects of the technology. As the use of multicore designs has become increasingly mainstream, the options and possible configurations available has increased drastically.

A particular facet is the incorporation of a hypervisor in an AMP system … Read the rest of this entry »

, , , , , , , , , ,

18 August, 2014

Although I enjoy writing articles and blogs and giving presentations – I am always hoping that I can impart some useful information and help engineers with their projects – the Q&A session after a presentation is often the moist interesting part. If I am doing a Web seminar, for example, I normally have a one hour slot; I try to talk for no more than 20-25 minutes, leaving plenty of time for Q&A. I find that so often it is the questions that trigger ideas for articles, blogs and further presentations. So, please keep them coming – comment here or email are always options.

I attended a recent Web seminar at which there were lots of interesting questions … Read the rest of this entry »

, , , , , , , , ,

21 July, 2014

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. This is a topic that I have discussed somewhat before, but the increasing popularity of multicore and additional technology options make it a topic worth revisiting.

Figuring out the terminology is the first challenge … Read the rest of this entry »

, , , , , , , , , ,

22 February, 2014

Next week, the world’s largest event, dedicated to embedded systems, takes place: Embedded World is on Tuesday-Thursday 25-27 February in Nuremberg, Germany. I have attended this show for many years and talked about it here. This year is no exception.

Mentor Embedded has a strong presence at the show in Booth 4‐422 in Hall 4, with numerous demos to see and members of the team to meet. I will be around on the booth for much of the show – do come along and say hello.

Embedded World is much more than a trade show – there is a growing conference too. The sessions are strictly vetted to ensure a good technical content. A number of members of our team have papers to present. This year, I have two:

  • Tues 25 Feb 14:00-14:30 – session 05 – “Power Management in Embedded Systems”
  • Thurs 27 Feb 11:30-12:00 – session 20 – “Interprocessor Communications and MCAPI”

Do come along if you are at the conference. If you would like copies of my presentations after the event, please email.

You can see a complete run down of Mentor Embedded’s presence, which outlines all the demos and lists all the conference papers.

, , , , ,

6 January, 2014

A majority of embedded devices nowadays are implemented using an operating system of some kind. This has not always been the case and need not be today. Historically, using an OS was less common mainly because the applications were less complex and CPUs less powerful.

Some thought is needed, at an early stage in a project, to determine which OS to use [or whether to use one at all] … Read the rest of this entry »

, , , , , ,

2 December, 2013

, , , , , , , , ,

25 November, 2013

I recently discussed hypervisor technology and how it is being applied in embedded systems. This coincided with Mentor Embedded’s announcement of Mentor Embedded Hypervisor. I described what a hypervisor is and something about how it works, but I did not address applications for hypervisors – where they are used and why.

The initial announcement that I quoted, was focused on using hypervisors in automotive applications, but that is far from the whole story … Read the rest of this entry »

, , , , , , , , , ,

11 November, 2013

Some technologies, it seems to me, should not really exist. They do, however, because they address a specific need. Typically, such technologies stretch something to make it perform in a way that was not originally intended. An example would be the fax machine. In a paper-based office environment, there was a frequent need to move documents from A to B. Initially, this resulted in the mail. But fax was an ingenious way to use phone lines to deliver a similar result. As soon as email became widespread, fax disappeared almost overnight.

The technology that I have in mind today is hypervisors, which are a software layer that enables multiple operating systems to be run simultaneously on a single hardware platform. They have been used for decades on mainframes, more recently on desktop computers, but are now beginning to be very relevant to embedded developers … Read the rest of this entry »

, , , , , , , , ,

19 August, 2013

From time to time, a concept or some terminology pops up and suddenly everyone is talking about it. That is usually the point when I think “I wonder what that is all about.” and start to investigate. That is what happened with ARM’s big.LITTLE concept.

As a C programmer at heart, any terminology that uses the case of letters in an odd way gets my attention – and big.LITTLE is certainly an original construct. Fortunately, there is rather more to it than that … Read the rest of this entry »

, , , , ,

8 April, 2013

My colleague Richard Vlamynck [who has been a guest blogger here] and I were discussing tracing and debugging. Like me, he has been doing software for a few years. Hence, when we considered tracing and instrumenting code, he commented “It used to be easy to see what effect trace statements had on your program because, as you put more or less trace cards in your Fortran deck, you could visually see it growing or shrinking.”

We have come a long way from the use of punched cards, but tracing and debugging are still very much a matter of concern … Read the rest of this entry »

, , , , , , ,

14 November, 2011

As I am on vacation, I thought that I would invite colleagues to provide a guest blog and Faheem Sheikh came up with the goods …

Multicore embedded designs are becoming increasingly common – a topic that I have addressed before. This presents some new challenges to software developers. Faheem was talking to an existing user of our Nucleus RTOS, who is considering a multicore design and, hence, a transition to the recently announced Nucleus SMP product. The matter of device drivers was raised, which brings up some interesting issues … Read the rest of this entry »

, , , , , ,

23 August, 2011

Just a quick “heads up”. If you are interested in the selection of an operating system for embedded applications [a topic I discussed briefly here] you might like to attend a Web seminar that I am presenting later this week. The session will be less than one hour, including live Q&A. The live session will be on Thursday at 9:00 Pacific and an archive recording will be available after the event. Full details can be found here.

, , , , , ,

13 June, 2011

I reported before on my plans to attend the Design Automation Conference in San Diego last week. It was an interesting event and I would like to take this opportunity to share some of my experiences and impressions. By my standards, DAC is a large event. If you are familiar with the various shows focused on embedded, DAC is bigger than any of the ESC events, but smaller than Embedded World. It does illustrate that the EDA world is very much alive and kicking.

Looking back, I ask myself two key questions: Was the goal to include a greater proportion of embedded at DAC achieved? And what technology [related to embedded] seemed to be on people’s minds? … Read the rest of this entry »

, , , ,

6 June, 2011

I have raised the subject of embedded device power consumption before and I will again, as this is becoming more and more of a hot topic [no pun intended]. As I have touched upon on a previous occasion, power consumption is no longer purely a hardware – the software can have a significant effect. There are obvious ways that software has an influence: code efficiency, control of system voltage and clock frequency, de-activation of currently unused sub-systems [like displays, wireless etc.], good use of sleep modes … The list goes on.

Designing code for power efficiency is a big challenge, even with an OS that has facilities to assist. Verifying the implementation is another matter … Read the rest of this entry »

, , ,

1 April, 2011

Just a quick “heads up”. If you are interested in Android and Linux in embedded systems, you might like to attend a Web seminar that I am presenting next week. The session will be less than one hour, including live Q&A and I’ll be giving a brief introduction to Android and discussing how it might be deployed in a variety of systems. There will be two sessions on Tuesday 5 April at 9:30 and 14:00 UK time. Full details can be found here.

, , , , , ,

4 March, 2011

Just a quick “heads up”. If you are interested in multicore embedded systems and their associated challenges, you might like to attend a Web seminar that I am presenting next week. The session will be less than one hour, including live Q&A and I’ll be looking at the key concepts and issues in multicore in general and in inter-core communication in particular. There will be two sessions on Tuesday 8 March at 9:30 and 14:00 UK time. Full details can be found here.

, , ,

14 February, 2011

Multicore is a hot topic at the moment. The subject crops up in numerous articles and I have written about it before. Surveys suggest that, before long, more than half of embedded designs will be implemented using multiple CPUs.

There are broadly two hardware architectures: homogeneous multicore, where there are numerous identical cores, and heterogeneous multicore, where the cores differ in architecture. Then, as I have described in a previous post, there are generally two software architectures: SMP [Symmetrical Multi-Processing], where a single operating system instance executes across a number of cores, and AMP [Asymmetrical Multi-Processing], where each core runs its own operating system instance [each of which may be different]. But I recently learned that this is not the whole story … Read the rest of this entry »

, , , , ,

8 February, 2011

I was recently asked to participate in a “panel” article in a UK electronics publication. The topic was the apparent decline importance of hardware design, over software design, in embedded systems. An interesting subject – I needed to be careful what I said, as I work for a company where 90% of my colleagues are hardware design specialists! The final piece can be seen here.

I was sent a set of questions, my answers to which were integrated with others of produce the final publication. I though that readers might be interested in the Q&As … Read the rest of this entry »

, , , ,

@colin_walls tweets

Follow colin_walls