Embedded Software Blog

System-C for embedded systems programming

Posted Nov 28, 2011, by Colin Walls

I recent wrote about the similarity in software and hardware design, as they are both performed by writing code in a high level programming language. My colleague Richard Vlamynck, wrote to me, suggesting that he might be able to usefully expand on this topic. He is an unusual guy, even within Mentor Graphics, as he is a modern day “Renaissance man” – he has a very good understanding … Read More

Tags: Embedded Software, Precision, C, VHDL, Programming Languages, System-C

What is the plural of Linux?

Posted Nov 21, 2011, by Colin Walls

Somebody asked me: “What is the plural of Linux?” Maybe it is Linuxes. That sounds a bit messy, which seems rather appropriate really… If we think about the desktop world and buying application software, you might have a Windows PC or a Mac or perhaps you run Linux. It is typical for the spec for an application to discuss hardware and OS compatibility. There will normally be ridiculously … Read More

Tags: Linux, Nucleus, Embedded Software, RTOS, Nucleus OS, Open Source

Device drivers on SMP systems

Posted Nov 14, 2011, by Colin Walls

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, … Read More

Tags: Embedded Software, multi-core, device drivers, Nucleus SMP, SMP, Nucleus, Nucleus OS

Who needs a debugger anyway?

Posted Nov 7, 2011, by Colin Walls

If you met someone in a bar, say, and you got talking, they are likely to ask what you do. You will probably reply that you are an embedded software developer. [Actually, in my experience, this can be a bit of a conversation killer. You might be better saying you are an airline pilot or a brain surgeon.] If they carry on talking with you, they might ask you what that job entails and you would probably … Read More

Tags: Development Tools, Embedded Software, Debugging, JTAG

Hardware designers and software

Posted Oct 31, 2011, by Colin Walls

As I work for a company that has traditionally had a strong focus on hardware design, I am particularly interested in the relationship between hardware and software development and the synergies between the two disciplines. Previously, I have discussed the dominance of software in modern designs [here] and the relationships in the EDA world [here]. But today I want to think about how hardware guys … Read More

Tags: Embedded Software, Hardware, C, Verilog, VHDL, hardware design, Programming Languages

Dennis Ritchie and C for embedded

Posted Oct 24, 2011, by Colin Walls

I was, of course, saddened to hear the recent news of the death of Steve Jobs. Since then, the Internet has been buzzing with stories, anecdotes and speculation about him. As a result, the news of the death of another key figure in the computing world barely got a mention: Dennis Ritchie died on 12 October 2011. Although not so much of a household name as Jobs, there are many [including myself] who … Read More

Tags: Dennis Ritchie, Embedded Software, C, Steve Jobs, Linux, Programming Languages

The value of software

Posted Oct 17, 2011, by Colin Walls

It is interesting how different parts of my life intersect with one another. I am thinking of my working life in embedded software and an aspect of my personal life: my lifelong interest in photography. Years ago, they were very separate activities, but the move from film to digital has brought them closer together. A particular incident occurred last week that raised interesting questions about the … Read More

Tags: Embedded Software, Open Source, Development Tools

Efficient code - quiz answers

Posted Oct 10, 2011, by Colin Walls

Two weeks ago, I set a quiz. I listed four ways to write some code, which was supposed to divide an unsigned integer by 8. I commented that the priority was for the code to be as fast as possible and asked which of my lines of C was most efficient. I was pleased with the response and acknowledge contributions from Peter Bushell, Dan S, Ken Simone, Krzysztof Wesołowski, Lee Riemenschneider, and Shaun … Read More

Tags: Development Tools, Embedded Software, C, Optimization, Programming Languages

Conference season

Posted Oct 3, 2011, by Colin Walls

It is October, which is always the start of a busy time of year for me. Most people I know are preoccupied with returning to school or the change in weather heralding the approach of Winter, but I am contemplating all the conferences that I need to attend. It is the same every year. The world of embedded software goes quiet during the Summer, then everyone realizes that they have sales targets to make … Read More

Tags: Embedded Software, Programming Languages, Development Tools, RTOS, USB

Efficient code - a quiz

Posted Sep 26, 2011, by Colin Walls

I was recently reading a set of “golden rules” for embedded programming. I am very skeptical about such proscriptive instructions as, for them to be valid, a great many assumptions must be made and clearly stated. These rules were supposed to promote the production of safe, efficient code. I am OK with “safe” – that simply means that the code does what it is supposed to … Read More

Tags: Development Tools, Embedded Software, C, Optimization, Programming Languages