How to run your code

How to run your code

What is involved in writing software? That is a rather broad question. I will start with considering the situation if…

Some more embedded software programming tips

Some more embedded software programming tips

From time to time, I post a few programming tips that I hope are of use to embedded developers. Sometimes…

Choose your weapons – options for debugging

Choose your weapons – options for debugging

I was recently approached by a software developer, who was new to embedded programming. As is commonly the case, we…

Waiting for something to happen in an embedded system – a while loop

Waiting for something to happen in an embedded system – a while loop

An embedded system is normally a CPU [or some CPUs] interfaced to a number of peripheral devices. The software processes…

Comments and debug code

Comments and debug code

I have frequently asserted that one of the most important attributes – maybe the most important attribute – of code…

Embedded article: non-intrusive debug

Embedded article: non-intrusive debug

New Year greetings to everyone. But, before charging into 2016, I will just hark back to 2015 briefly … On…

Low power multicore from a software designer’s perspective

Low power multicore from a software designer’s perspective

After talking about low power CPU modes last week, I make no apology for returning to the topic. Reducing power…

GENIVI Diagnostic Log and Trace

GENIVI Diagnostic Log and Trace

Last week there was a new release of Sourcery CodeBench, which I saw somewhere posted as “A Christmas present from…

Software integrity testing

Software integrity testing

Last week, I talked about self-testing possibilities for embedded software, where the goal was to detect and mitigate the effects…