OFF-TOPIC: The Last Post

OFF-TOPIC: The Last Post

In late Spring 2009 – nearly 12 years ago – the Mentor blog platform was introduced and I was keen...
Article about MISRA C

Article about MISRA C

My latest article on embedded.com has been published here. I am looking at the application of MISRA C to develop...
emBO++ - embedded conference online

emBO++ - embedded conference online

Later this week is an online embedded conference; the interestingly named emBO++, at which I have two sessions: Power Management...
OFF-TOPIC: The history of today

OFF-TOPIC: The history of today

When I was at school [a long, long time ago!], I really could not see the use, or more specifically...
Video on break statements in C for embedded systems

Video on break statements in C for embedded systems

My latest video blog is now available. This time I am looking at the use of break statements and best...
OFF-TOPIC: How many words?

OFF-TOPIC: How many words?

I am fascinated by language and communication. Because I am British – or, rather, English, to be precise – I...
Initializing structures in C

Initializing structures in C

I have been using C for over 30 years; using it, teaching it, writing about it, supporting users. Of course,...
OFF-TOPIC: The countdown to Phase 3

OFF-TOPIC: The countdown to Phase 3

It was about 18 months ago that we decided on a schedule for retiring or, as I prefer to think...
Article about using malloc() in embedded applications

Article about using malloc() in embedded applications

My latest article on embedded.com has been published here. I am looking at why using dynamic memory in embedded applications...
OFF-TOPIC: End of an era

OFF-TOPIC: End of an era

In 1986, when I started my job at Microtec Research, I visited the United States for the first time. Specifically,...
Embedded World

Embedded World

Next week is Embedded World – the annual event when everybody involved with embedded system design descends on Nuremberg, Germany...
OFF-TOPIC: Lost and found

OFF-TOPIC: Lost and found

When I come into the house, I hang my keys on the hook. If I want my keys and they...
Low power event

Low power event

This week – Tuesday-Wednesday – there is a free-to-attend online event addressing a very topical subject: The Low Power Technologies...
OFF-TOPIC: Things I learned

OFF-TOPIC: Things I learned

It started during lock-down last year. My wife and I started to record things that we had learned each day...
Video about initialization of variables

Video about initialization of variables

My latest video blog is now available. This time I am looking at the initialization of variables and best practices...
OFF-TOPIC: The change of day length

OFF-TOPIC: The change of day length

On the worst of Winter days – when it is gray and damp – I long for Summer. I fantasize...
Embedded multicore FAQ white paper

Embedded multicore FAQ white paper

With multicore embedded system designs becoming increasingly common, there is a great demand from developers to get to grips with...
OFF-TOPIC: Musing on handedness

OFF-TOPIC: Musing on handedness

I have always be fascinated by the concept of being right- or left-handed. Almost all of us have this asymmetry...
Article about some subtleties of the C language

Article about some subtleties of the C language

My latest article on embedded.com has been published here. I am looking at some of the subtleties of the C...
OFF-TOPIC: Photo books

OFF-TOPIC: Photo books

As my main hobby is photography, I am, of course, in contact with many other folks with a like interest....
Video about embedded object code libraries

Video about embedded object code libraries

My latest video blog is now available. This time I am looking at object code libraries – what they are;...
OFF-TOPIC: Expectations vs reality

OFF-TOPIC: Expectations vs reality

I am of the opinion that disappointment is an underrated emotion. Many people do not see to take it seriously....
Upcoming webinar on embedded programming languages

Upcoming webinar on embedded programming languages

I am participating in a joint, free webinar with our friends at Doulos on Friday 15 January. Here are the...
OFF-TOPIC: 12 things for 2021

OFF-TOPIC: 12 things for 2021

I recently wrote about my success – or lack thereof – with my 12 Things for 2020. Last year was...
Article about medical embedded systems

Article about medical embedded systems

My latest article on embedded.com has been published here. I am looking at the opportunities and challenges of embedded medical...
OFF-TOPIC: 12 things done or not

OFF-TOPIC: 12 things done or not

Each year I make a list of “things” that I plan to do. You might call them “goals”, but I...
Embedded software video about developing certified applications

Embedded software video about developing certified applications

My latest video blog is now available. This time I am looking at the issues around certification of embedded software...
OFF-TOPIC: The focus on food

OFF-TOPIC: The focus on food

In this extraordinary year, many people have been thinking about food. Some do not have enough – which, in rich...
RISC-V summit

RISC-V summit

I have long contended that embedded software is subject to fashion; every few years something new comes along that everyone...
ESE Kongress

ESE Kongress

This week, an annual conference on embedded systems normally takes place in Stuttgart, Germany: ESE Kongress. I have presented at...
OFF-TOPIC: Taming the Bear

OFF-TOPIC: Taming the Bear

I like to be organized and generally in control of my life, both at work and the rest. This means...
Article about vulnerabilities in embedded software data

Article about vulnerabilities in embedded software data

My latest article on embedded.com has been published here. I am looking at a possible vulnerability in embedded software data...
OFF-TOPIC: The joy of reading

OFF-TOPIC: The joy of reading

For as long as I can remember I have liked books and reading. As a child, I was a keen...
Embedded software video on the question of RTOS source code

Embedded software video on the question of RTOS source code

My latest video blog is now available. This time I am looking at the availability of source code for real-time...
OFF-TOPIC: Painted vs photographic images

OFF-TOPIC: Painted vs photographic images

Photography is a big interest of mine and, hence, a topic that I talk about here from time to time....
Medical electronics conference

Medical electronics conference

This week, the electronica Medical Electronics Conference was due to take place in Munich, Germany. Like so many events around...
Automotive cockpit software consolidation

Automotive cockpit software consolidation

Away from my immediate professional colleagues, if I talk about my work, I am commonly asked questions like: What is...
OFF-TOPIC: Observational photography

OFF-TOPIC: Observational photography

For all my adult life, with varying degrees of enthusiasm and commitment, I have been interested in photography. A challenge...
Article about embedded hypervisors and multicore frameworks

Article about embedded hypervisors and multicore frameworks

My latest article on embedded.com has been published here. I am looking at the use of hypervisors and multicore frameworks...
OFF-TOPIC: Things I learned

OFF-TOPIC: Things I learned

A while ago, my wife and I started a project to record things that we had learned. It started with...
Embedded software video about some more C++ questions

Embedded software video about some more C++ questions

My latest video blog is now available. This time I am looking at some questions about using C++.You can see...
OFF-TOPIC: Noisy electric cars

OFF-TOPIC: Noisy electric cars

I am clear that electric cars are the future and I have passed some comments on the matter a while...
A multicore webinar with a difference

A multicore webinar with a difference

We were pleased with the recent success of a webinar where we looked at an important aspect of multicore software...
OFF-TOPIC: 9/11 trivia

OFF-TOPIC: 9/11 trivia

I recently read a book that I found fascinating: The Only Plane in the Sky: The Oral History of 9/11...
Arm DevSummit

Arm DevSummit

This week is the Arm DevSummit. This event was originally planned to take place in San Jose, California, but was...
Article about embedded multicore terminology

Article about embedded multicore terminology

My latest article on embedded.com has been published here. I am looking at the vast array of terminology in the...
Embedded software video on multicore

Embedded software video on multicore

My latest video blog is now available. This time I am looking at the basic concepts of multicore system. You...
Embedded software article on C++

Embedded software article on C++

My latest article on embedded.com has been published here. I am looking at the differences [or, actually, the lack thereof]...
Multicore webinar

Multicore webinar

My next webinar will be on Tuesday 29 September [revised date]. The primary focus will be the differences between a...
Video about some C++ questions

Video about some C++ questions

Welcome to my blog at it’s new home! You may want to bookmark: https://blogs.sw.siemens.com/embedded-software/ My latest video blog is now...
Daily learning continues

Daily learning continues

My practice of recording things I learned each day continues, but I notice that I am not quite so observant...
Memory Management Units

Memory Management Units

It is curious to consider some technology that, to many engineers, is rather mysterious, whilst, to others, is indispensable. The...
Photography - an update

Photography - an update

Anyone who knows me or that reads this blog will know that a big interest of mine, and my main...
How is power consumption affected by the OS?

How is power consumption affected by the OS?

Over the past few years, there has been an increasing concern about power consumption of embedded devices. This is commonly...
Real books vs e-books

Real books vs e-books

I recently saw a Facebook posting by a friend: “Share this if you love real books.” My initial [and enduring]...
Video about C++ structures and classes

Video about C++ structures and classes

My latest video blog is now available. This time I am looking at structures and classes in C++ and considering...
Getting along with a Mac

Getting along with a Mac

I realized recently that I had arrived at the fifth anniversary of a kind of freedom. It was in the...
Inline C++ code in embedded applications

Inline C++ code in embedded applications

One of the key differences between coding for an embedded system or for a desktop computer is compiler optimization. For...
What is a virus?

What is a virus?

This is a very topical subject about which much has been written and said in recent months. However, I have...
Embedded code: clear or clever?

Embedded code: clear or clever?

When developing embedded code, there are various priorities. Top of the list, obviously, is delivering the required functionality and performance....
The death of shopping

The death of shopping

“How often do you go shopping?” That is a question that would result in many different answers from different people....
Upcoming RTOS book

Upcoming RTOS book

There is a project that I have been working on for quite some time. The idea started more than a...
12 Things - half year review

12 Things - half year review

As we approach the half-way point of the year, it is a good time for me to consider how I...
Video about RISC-V

Video about RISC-V

My latest video blog is now available. This time I am looking at fashions in embedded systems development and the...
Yet more things I learned

Yet more things I learned

A while ago, I wrote about a project that my wife and I started last year. The idea was to...
Video about C pointers - their scope and lifetime

Video about C pointers - their scope and lifetime

My latest video blog is now available. This time I am looking at the use of pointers in embedded applications...
Becoming

Becoming

I am an avid reader and always have a book on the go. I tend to read contemporary fiction, biography...
DevTalks Reimagined

DevTalks Reimagined

There has been a strong trend, in recent years, towards online events that either replace or augment traditional face-to-face activities....
What matters?

What matters?

Today, I am going to do something unusual [for me]: I am going to touch on politics. We stand at...
The height of fashion: RISC-V

The height of fashion: RISC-V

Having worked in embedded software since before it was called “embedded”, I have spotted a few trends. One of those...
Good management

Good management

I was recently asked by my management to participate in the Strengthfinder program. This is a book and an online...
How good is the software?

How good is the software?

I get pleasure from good quality things. Quality is a vague term, but, to me, it is some combination of...
Continued learning

Continued learning

I recently wrote about our “what we learned” project that we started last year. The idea was to think about...
Optimal code

Optimal code

Hands up who wants to write optimal code? If your hand is not up, it means that either you are...
What cost cleanliness?

What cost cleanliness?

As an engineer/scientist [at heart], I like things that are measurable. Being able to measure something helps me to make...
Head in the clouds

Head in the clouds

It is common to hear folks talk about data being “in the cloud”, as if there were a place called...
Lock-down photography

Lock-down photography

I wrote last week about hobbies that folks seem to be participating in these “interesting” times. I mentioned that my...
A video about C++ exception handling in embedded systems

A video about C++ exception handling in embedded systems

My latest video blog is now available. This time I am looking at the use of C++ exception handling in...
The ultimate cookies

The ultimate cookies

There is much talk lately of people doing their hobbies, as many of us are spending more time at home....
Embedded Online Conference

Embedded Online Conference

We are living in interesting times. The word “interesting” can have many nuances. Normally, I think of interesting stuff as...
Swifts again

Swifts again

Last year, one of my projects was to investigate what might be done to attract swifts back to our house....
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...
What is civilization?

What is civilization?

What do you understand by the term “civilization”? You can check in the dictionary and there will be a definition,...
Reinventing the wheel. Again?

Reinventing the wheel. Again?

It is long enough ago now that I can look back on when I first started writing embedded software and...
More things that I learned

More things that I learned

I recently wrote about a project that my wife and I started last year. The idea was to think about...
A video about dynamic memory in real-time systems

A video about dynamic memory in real-time systems

My latest video blog is now available. This time I am looking at the use of dynamic memory in real-time...
Observing an expert

Observing an expert

How often have you heard: “I judge by results!”? Quite often, I would guess. In fact, this is exactly what...
Preincrement or postincrement?

Preincrement or postincrement?

As I have been using C for over 30 years, I am glad that it is still very popular among...
On lock-down - sort of

On lock-down - sort of

At the time of writing, it is only a matter of a few hours since our Great Leader spoke to...
The 2038 Problem

The 2038 Problem

Anyone over the age of, say, 40 will remember the “Y2K problem”. For several years coming up to 2000, we...
COVID-19: the upsides

COVID-19: the upsides

Somebody said to me a couple of days ago: “There is nothing happening in the world except COVID-19 – that...
Software IP and source code

Software IP and source code

It is increasingly common to utilize existing software components in a new embedded design. These may be internally developed or...
More of what I learned

More of what I learned

I recently wrote about a project that my wife and I started last year. The idea was to think about...
Video about selecting an embedded CPU

Video about selecting an embedded CPU

My latest video blog is now available. This time I am looking at how to select a processor for embedded...
AIPF

AIPF

My principal hobby is photography and has been for many years. Despite my unwillingness to be an expert in anything,...
Am I going Rusty?

Am I going Rusty?

When I go to trade shows and conferences, like Embedded World last week, I do my best to find things...
Becoming an expert

Becoming an expert

As I wrote recently, I like to learn things. I have always had a penchant for “useless” [= rather random]...
Accounting, AI and floating point

Accounting, AI and floating point

Most people, when they think about numbers, mathematics or science, are thinking about precision – getting exact answers. However, I...
What I learned

What I learned

I have always felt that part of the point of living is to learn stuff. It does not mean that...
Embedded World 2020

Embedded World 2020

Next week, the biggest event in the world of embedded systems – Embedded World – takes place in Nuremberg, Germany....
Same old drill

Same old drill

This week, I saw a movie [Seberg], which was set in the late 1960s. It was, IMHO, a well made...
Video about low power CPU modes

Video about low power CPU modes

My latest video blog is now available. This time I am looking at low power CPU modes and what is...
Questions about dæmons

Questions about dæmons

I am a keen – dare I say it: avid – reader and I always have a book on the...
Many happy returns

Many happy returns

It is widely recognized that a very high priority for software developers is writing clear, understandable, and, hence, maintainable code....
The iPad is 10 years old

The iPad is 10 years old

Happy birthday iPad! It was just 10 years ago that these, now ubiquitous, devices first appeared. It was widely rumored...
Really well-tested software

Really well-tested software

Everybody writing software wants it to perform according to its specification and to be reliable. I hope that this is...
Cheap vegetables

Cheap vegetables

We are told that the second most effective thing that we, as individuals, can do to help save the planet...
Video about selecting an embedded operating system

Video about selecting an embedded operating system

My latest video blog is now available. This time I am looking at operating systems for embedded applications and how...
I am entertained

I am entertained

I am not very good at doing nothing. I do not mean that I work all the time. I need...
Instruction set simulation

Instruction set simulation

I enjoy hearing about other people’s lives and, hence, often read biographies. Just lately I have been reading about Bill...
12 Things for 2020

12 Things for 2020

New Year greetings! There are many people who are heralding a new decade as well, though it may be argued...
Video about embedded file systems

Video about embedded file systems

My latest video blog is now available. This time I am looking at file systems for embedded applications. You can...
12 things done or not

12 things done or not

At the beginning of the year, I wrote about my 12 Things for 2019. This was a list of a...
MISRA C anniversary

MISRA C anniversary

I have always liked the C language. Initially the appeal was its power and the possibility to write very succinct...
A bit "off color"

A bit "off color"

I am interested in communication. This is a very important part of my work: writing and speaking in order to...
Always learning

Always learning

All my life I have taken a delight in learning stuff. I do not mean that I particularly like many...
Why not use bit fields for device registers?

Why not use bit fields for device registers?

A topic that I have touched upon before [here and here] is bit fields in C. They are facility in...
House numbers

House numbers

Last week I wrote about how one can have a life-long perception about something and then find that it is...
ESE Kongress 2019

ESE Kongress 2019

The Fall is the traditional time for conferences to start and they are, indeed, coming along thick and fast. One...
The underground mind-shift

The underground mind-shift

There are aspects of life that we just take for granted. Things work in a particular way and obey certain...
Video about software integrity testing

Video about software integrity testing

My latest video blog is now available. This time I am looking at testing software integrity in an embedded system....
No milk thank you

No milk thank you

Earlier in the year, I wrote about my 12 Things for 2019. This was a list of goals to achieve...
3 more embedded software tips

3 more embedded software tips

In my occasional series of tips for embedded software development, I have three more. This time they are all associated...
I do not ski

I do not ski

For many years, I used to attend an annual conference in Grenoble, France. For a number of reasons, I am...
Programming language extensions

Programming language extensions

Embedded systems code is mostly written in C and C++. Other languages are gaining popularity, but these two are still...
Avoiding jet lag

Avoiding jet lag

If you fly East or West you will most likely experience jet lag. For most people, it is only significant...
ECS Stockholm

ECS Stockholm

There are countless technical conferences around the world and, considering that it is something of a niche field, embedded software...
Reunited with a lost wallet - a story of genius

Reunited with a lost wallet - a story of genius

We live in a world that seems to be ever more complex. Much I love so much of the technology...
Video about testing embedded system memory

Video about testing embedded system memory

My latest video blog is now available. This time I am looking at testing memory in an embedded system. You...
Success can be elusive

Success can be elusive

This week I attended the assessment of my work with which I was endeavoring to get an ARPS [Associate of...
Mixed criticality white paper

Mixed criticality white paper

My working life includes a lot of writing – blogs, articles, conference papers and white papers are typical of what...
The “Getting home faster” effect

The “Getting home faster” effect

We are told that we live in a 4-dimensional universe – three spacial dimensions and time as the fourth. It...
RTOS partition memory

RTOS partition memory

For any developer of real-time systems, the word “dynamic” should ring alarm bells, as it is generally a label for...
Reading roundup

Reading roundup

All my life, I have enjoyed reading. Obviously, my enthusiasm ebbs and flows over time, but I generally have at...
Arm TechCon

Arm TechCon

Next week – on Tuesday, Wednesday, Thursday – one of the foremost events in the embedded systems world is taking...
Anxiety

Anxiety

I was involved in a discussion with some friends recently, during which we pondered in what period of history each...
Video about measuring RTOS scheduling latency

Video about measuring RTOS scheduling latency

My latest video blog is now available. This time I am looking at measuring RTOS scheduling latency in an embedded...
A portent of doom?

A portent of doom?

Despite the title above, I am mostly an optimistic, glass-half-full kind of person. I am profoundly saddened by many things...
Do you need a memory management unit?

Do you need a memory management unit?

A memory management unit [MMU] does what its name suggests – almost. It does not actually manage memory – it...
Wine bluff

Wine bluff

I have always enjoyed wine. When I was younger [much younger!], I thought that it would be interesting and sophisticated...
Video about optimization for power in embedded systems

Video about optimization for power in embedded systems

My latest video blog is now available. This time I am looking at optimizing code for power consumption in an...
A rock legend

A rock legend

There seems to be an endless stream of “legendary” rock musicians. They are mostly 10-15 years older than me –...
Three new embedded software tips

Three new embedded software tips

From time to time, I like to offer a little guidance to embedded software developers on various aspects of coding....
Big Brother is watching

Big Brother is watching

It is nearly 50 years since I read George Orwell’s “Nineteen Eighty-Four”. It was required reading at school. I thought...
Measuring time in an RTOS

Measuring time in an RTOS

I spend a lot of my time talking about, writing about and thinking about real time operating systems – including...
What shape is a photo?

What shape is a photo?

There are some photographers who are very proud of ability to “get it right in camera”. What they mean is...
Does anyone write assembly language?

Does anyone write assembly language?

The simple answer to my question is: yes, of course. There are things that can be done in assembly that...
Wild swimming

Wild swimming

At the time of writing, according to my calendar, it is Summer. However, the grey overcast sky and slight chill...
Video about using an SMTP server in an embedded system

Video about using an SMTP server in an embedded system

My latest video blog is now available. This time I am looking at using an SMTP [email sending] server in...
iPhone RAW photography

iPhone RAW photography

A few weeks ago I did some comparative analysis of the image quality from three cameras and wrote about it...
A UI for a deeply embedded system

A UI for a deeply embedded system

From time to time, I have the need to explain to someone exactly what an embedded system is. The definition...
Some more embedded software programming tips

Some more embedded software programming tips

Another in my occasional series of tips for embedded software developers. Sometimes my tips are just personal taste; on other...
The ongoing "What camera?" dilemma

The ongoing "What camera?" dilemma

Late last year, I started pondering about where my photography was going and what camera I should be using. I...
Embedded software article: RTOS Revealed #33

Embedded software article: RTOS Revealed #33

My latest article on embedded.com has been published. This piece is the thirty-third installment of the RTOS Revealed series, which...
The solution to back pain

The solution to back pain

We live in a time when, if you have a problem – almost any problem – there is someone out...
Video about endianness in embedded systems

Video about endianness in embedded systems

My latest video blog is now available. This time I am looking at endianness in an embedded system: what it...
Half-year progress report on "12 Things"

Half-year progress report on "12 Things"

At the start of the year, I made a list of “12 things for 2019” – things that I would...
Further inspiration for embedded developers

Further inspiration for embedded developers

Some time ago, I posted some quotations that I thought might provide some inspiration to embedded developers. Today, I thought...
A cozy chat with over 2,000 people

A cozy chat with over 2,000 people

I have quite a busy life, as, apart from my work, I have a great many other interests and activities...
Mixing C and C++ in an embedded application

Mixing C and C++ in an embedded application

C is the most widely used programming language for embedded applications. For many years, a move to C++ has been...
Observational Photography

Observational Photography

My main hobby is photography, as I have frequently written about here. Although I mostly enjoy taking pictures, I also...
Mixed criticality in embedded systems

Mixed criticality in embedded systems

Multicore embedded designs are becoming more common by the day. There are various of reasons why this design choice is...
Two great nations ...

Two great nations ...

I am a bit of a language nerd. Although I only dabble in languages other than English, I find my...
Video about write-only ports in embedded systems

Video about write-only ports in embedded systems

My latest video blog is now available. This time I am looking at write-only ports in an embedded system and...
Environmentally-friendly Lego

Environmentally-friendly Lego

I recently wrote about my slightly controversial ideas on plastic and its place in a world where we are trying...
Embedded software article: RTOS Revealed #32

Embedded software article: RTOS Revealed #32

My latest article on embedded.com has been published. This piece is the thirty-second installment of the RTOS Revealed series, which...
The Swift Project

The Swift Project

I have some interest in natural history. Although I do not go bird watching or have a comprehensive knowledge of...
Embedded multicore webinar - mixed criticality

Embedded multicore webinar - mixed criticality

Next week – Wednesday 29 May – I am presenting a technical webinar, looking at multicore issue. In particular, we...
10 years and 1000 blogs

10 years and 1000 blogs

This day is one of celebration! And I invite you to raise a glass – a metaphorical one, at least...
Embedded software handy tips

Embedded software handy tips

From time to time, I like to post some useful [hopefully!] tips for embedded software developers. Often, they are not...
Legal shoplifting

Legal shoplifting

As I wrote about a while ago, I think that the world is divided into two kinds of people: engineers...
Video about flashing LEDs on embedded systems

Video about flashing LEDs on embedded systems

My latest video blog is now available. This time I am looking at how flashing an LED can be used...
Oh Canada!

Oh Canada!

We recently returned from a short vacation – I am still suffering the jet-lag! We went to Seattle [where I...
Embedded software article: RTOS Revealed #31

Embedded software article: RTOS Revealed #31

My latest article on embedded.com has been published. This piece is the thirty-first installment of the RTOS Revealed series, which...
Some inspiration for embedded developers

Some inspiration for embedded developers

I am about to take a little bit of vacation around the Easter period. I will be visiting the United...
A choice of viewing

A choice of viewing

I am not a fan of TV and, for a good many years, have watched very little. I appreciate that...
Video about embedded power management

Video about embedded power management

My latest video blog is now available. This time I am looking at power management in embedded software and specifically...
Six of the best: non-fiction books

Six of the best: non-fiction books

From time to time I write a posting about my six favorite things in a given category. Today, it is...
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...
The non-meat month

The non-meat month

I reported before on my plan to pursue 12 “goals” for 2019, where one of those goals was to have...
Programming on bare metal

Programming on bare metal

I am surprised by how often I am asked about how one might go about programming on “bare metal” –...
A kind of immortality

A kind of immortality

I had a thought, which I would like to share. Indeed I am dedicating this blog post to the sharing...
Embedded software article: RTOS Revealed #30

Embedded software article: RTOS Revealed #30

My latest article on embedded.com has been published. This piece is the thirtieth installment of the RTOS Revealed series, which...
Delivering the mail

Delivering the mail

In these days of electronic communication, dominated by email [which people keep saying is passé, but, in reality, is used...
Video about floating point in embedded systems

Video about floating point in embedded systems

My latest video blog is now available. This time I am looking at the use of floating point in an...
Telling me what to do

Telling me what to do

I have concluded that perhaps I am not the easiest person to live with. There are a selection of reasons...
Embedded software article: RTOS Revealed #29

Embedded software article: RTOS Revealed #29

My latest article on embedded.com has been published. This piece is the twenty-nineth installment of the RTOS Revealed series, which...
Progress on "12 things"

Progress on "12 things"

At the end of last year, I drew up a list of 12 “things” [goals, if you like] for 2019...
Embedded World

Embedded World

This week sees the biggest trade show and conference in the world of embedded systems – Embedded World in Nuremberg,...
Country mouse in the big city - in the library

Country mouse in the big city - in the library

I was recently visiting a unfamiliar town – a city suburb really – not far from where I live. I...
Video about embedded RTOS memory footprint

Video about embedded RTOS memory footprint

My latest video blog is now available. This time I am looking at the amount of memory used by an...
Six of the best (not necessarily love) songs

Six of the best (not necessarily love) songs

It has been a while since I last posted one of my occasional “Six of the Best” series. One reason...
C: the language of embedded - a webinar (redux)

C: the language of embedded - a webinar (redux)

On Wednesday – 13 February – I am participating in a joint seminar with Doulos, looking in detail at the...
What would happen if I died?

What would happen if I died?

When I wrote the title to this post, I immediately realized my error: there is no: ”if” about it. There...
Embedded software development tips

Embedded software development tips

Time for a few more tips for embedded software developers. This time, the focus of all the tips is ultimately...
Plastics and unintended consequences

Plastics and unintended consequences

Some time ago, I wrote about why I thought that plastic bags are a good idea. I gave some rather...
Embedded software article: RTOS Revealed #28

Embedded software article: RTOS Revealed #28

My latest article on embedded.com has been published. This piece is the twenty-eighth installment of the RTOS Revealed series, which...
Testing an EV

Testing an EV

I wrote before about my thoughts on buying an electric car. Since then, I have been doing some more research...
Better C code webinar (redux)

Better C code webinar (redux)

Early embedded software was written in assembly language in order to accommodate the limited memory and CPU power available. At...
12 things for 2019

12 things for 2019

I am not a fan of new year’s resolutions. Although having goals and ambitions is good, starting out the new...
Video about embedded system power management

Video about embedded system power management

My latest video blog is now available. This time I am looking at embedded system power management – specifically the...
Signs of the times

Signs of the times

First off, New Year greetings to everyone! Let’s make 2019 a good one. In the UK, it is somewhat traditional...
Embedded software article: RTOS Revealed #27

Embedded software article: RTOS Revealed #27

My latest article on embedded.com has been published. This piece is the twenty-seventh installment of the RTOS Revealed series, which...
A scary moment

A scary moment

What makes you describe something as “scary”? I guess there are many things. Possibilities include events that are unexpected, sudden,...
Embedded software webinar on the use of dynamic memory in C/C++

Embedded software webinar on the use of dynamic memory in C/C++

We are currently offering a program of free webinars covering a selection of embedded software topics: the Embedded Software Masterclass....
Music and the brain

Music and the brain

Music seems to appear in all human cultures. And, for most people, it is a source of pleasure. To me,...
Starting out with embedded software

Starting out with embedded software

I frequently receive enquiries – generally emails – from engineers who are interested in getting into embedded software. They ask...
What camera is right?

What camera is right?

Being my #1 hobby, photography is a common writing theme for me. Some time ago, I mused on whether big,...
Video about RTOS interrupt latency measurement

Video about RTOS interrupt latency measurement

My latest video blog is now available. This time I am looking at measuring the performance of an RTOS –...
Scratching the surface [or not]

Scratching the surface [or not]

Kitchens seem to be the thing everyone is talking about just now. I wrote about our remodeling recently and we...
Embedded software article: RTOS Revealed #26

Embedded software article: RTOS Revealed #26

My latest article on embedded.com has been published. This piece is the twenty-sixth installment of the RTOS Revealed series, which...
A picture is worth 1000 words

A picture is worth 1000 words

Yesterday, more photographs were shot than were the previous day. This statement has been true for more than a century...
Embedded software webinar on self-testing

Embedded software webinar on self-testing

We are currently offering a program of free webinars covering a selection of embedded software topics: the Embedded Software Masterclass....
Hair today, gone tomorrow

Hair today, gone tomorrow

Hair is an odd thing. Most of us are born with little or none, then we acquire some and it...
Video about embedded code debugging

Video about embedded code debugging

My latest video blog is now available. This time I am looking at debugging techniques for embedded code. You can...
First Man

First Man

I would not describe myself as a “movie buff”, but we do go to see a great many movies. The...
Embedded software article: RTOS Revealed #25

Embedded software article: RTOS Revealed #25

My latest article on embedded.com has been published. This piece is the twenty-fifth installment of the RTOS Revealed series, which...
Getting it live

Getting it live

One thing that I enjoy about writing [mostly] is reading stuff that I have written many years before. Sometimes I...
USB 3 webinar questions and answers

USB 3 webinar questions and answers

We run a regular program of embedded software webinars. On Wednesday 17 October, the topic was USB, with a focus...
Just have to scoot

Just have to scoot

My first visit to California – first trip to the US – was in 1986. My culture shock was immense....
ECS 2018

ECS 2018

Having been to Arm TechCon last week, I am already thinking about the next conference on my agenda, which is...
Internet security ... or not

Internet security ... or not

We are all told to be careful about Internet “hygiene”. There are cybercriminals out there who want to gain access...
Arm TechCon 2018

Arm TechCon 2018

As I previously mentioned, the conference season is under way. My next stop is this week, when I am speaking...
Ongoing review

Ongoing review

I am not a big fan of New Year’s resolutions. Even though I think of the New Year as being...
Video about writing efficient embedded code

Video about writing efficient embedded code

My latest video blog is now available. This time I am looking at writing efficient embedded code – where the...
Embedded software article: RTOS Revealed #24

Embedded software article: RTOS Revealed #24

My latest article on embedded.com has been published. This piece is the twenty-fourth installment of the RTOS Revealed series, which...
Lessons learned

Lessons learned

There is a saying: “Nobody makes the same mistake twice. The second time is a choice.” I am not so...
Embedded Live!

Embedded Live!

We have just passed the equinox, so Autumn [or Fall, if you prefer] is upon us. We had quite a...
Heading for an electric car

Heading for an electric car

A while ago, I wrote about my thoughts about the future and said that my next car would be electric....
Embedded software webinar on MISRA C

Embedded software webinar on MISRA C

We are currently offering a program of free webinars covering a selection of embedded software topics: the Embedded Software Masterclass....
Some common sense is prevailing

Some common sense is prevailing

In the UK, the European Union – and in particular our membership of it – is a hot topic just...
Video about bit stuffing

Video about bit stuffing

My latest video blog is now available. This time I am looking at bit stuffing – a technique used in...
Embedded software article: RTOS Revealed #23

Embedded software article: RTOS Revealed #23

My latest article on embedded.com has been published. This piece is the twenty-third installment of the RTOS Revealed series, which...
Off the waggon - the verdict

Off the waggon - the verdict

Recently, I decided to take a break from alcohol consumption. I wrote about my plan and motivations here. I chose...
Video on data packing

Video on data packing

My latest video blog is now available. This time I am looking at packing [optimization] of data. You can see...
What hob?

What hob?

A couple of weeks ago I wrote about our plans to remodel our kitchen etc. At that time we had...
Embedded multicore webinar

Embedded multicore webinar

We are currently offering a program of free webinars covering a selection of embedded software topics: the Embedded Software Masterclass....
Knowing right from wrong

Knowing right from wrong

I try to be a good person. I hope that I can leave the planet a tiny bit better than...
Embedded software article: RTOS Revealed #22

Embedded software article: RTOS Revealed #22

My latest article on embedded.com has been published. This piece is the twenty-second installment of the RTOS Revealed series, which...
The hub of our house

The hub of our house

It is nearly 8 years since I moved to my house. I was moving from Cirencester to Malvern, where Libby...
Industrial Internet of Things architecture

Industrial Internet of Things architecture

The flavor of the month [or, rather, of the last few years] in technical circles, and even the general press,...
On the wagon

On the wagon

I confess that I have always had difficulty with understanding people. My instinct is to expect logic and rational behavior....
Some more embedded software tips

Some more embedded software tips

Some more tips for embedded software developers. Today I am looking at real time programming, using the C language and...
Catching the mood

Catching the mood

As I contemplate my upcoming brief vacation [I am away next week], I have been pondering the mood – the...
C: the language of embedded - a webinar

C: the language of embedded - a webinar

Next Friday – 13 July – I am participating in a joint seminar with Doulos, looking in detail at the...
Throwing away my DSLR camera

Throwing away my DSLR camera

I see endless adverts for accessories to help me take better picture with my phone. There are numerous articles describing...
Video about NVRAM initialization

Video about NVRAM initialization

My latest video blog is now available. This time I am looking at how to deal with the initialization of...
The long arm of the law

The long arm of the law

Most people seem to agree that having laws – indeed, a legal system within government – is a Good Idea....
Embedded software article: RTOS Revealed #21

Embedded software article: RTOS Revealed #21

My latest article on embedded.com has been published. This piece is the twenty-first installment of the RTOS Revealed series, which...
English as a very foreign language

English as a very foreign language

When I am traveling, both for work and pleasure, I am constantly delighted by the English language skills of so...
More handy embedded software tips

More handy embedded software tips

This is the latest in my occasional series of posts where I outline a bunch of tips that I hope...
Weekending

Weekending

How do you spend your weekends? That is a silly question, as there would be as many different answers as...
Videos of presentations on self-testing and RTOS performance

Videos of presentations on self-testing and RTOS performance

I was invited to participate in the TestingStage ’18 conference in Kiev, Ukraine, which took place in mid-April. It was...
Cooking with cups

Cooking with cups

I enjoy cooking. So the plan to invite some friends for dinner, as they are moving house and are, hence,...
Video about programming device registers

Video about programming device registers

My latest video blog is now available. This time I am looking at the programming of device registers in C....
Embedded software article: RTOS Revealed #20

Embedded software article: RTOS Revealed #20

My latest article on embedded.com has been published. This piece is the twentieth installment of the RTOS Revealed series, which...
How many letters are there in the alphabet?

How many letters are there in the alphabet?

An American politician once said “There are things we know and things we do not know and there are things...
4 handy embedded software tips

4 handy embedded software tips

From time to time, I like to muse on some useful programming tips for embedded developers. This is such a...
The Clayton Arms

The Clayton Arms

It was in 1979 – nearly 40 years ago – that I graduated from university and started my first “real”...
Task scheduling with a real time operating system

Task scheduling with a real time operating system

From time to time, I like to poke around at some RTOS feature or functionality. Today I want to ponder...
Taking time off sick [or not]

Taking time off sick [or not]

Before I got up this morning, I was lying in bed listening to the radio – the Today program on...
Video about shared code

Video about shared code

My latest video blog is now available. This time I am looking at the use of shared code and how...
Embedded software article: RTOS Revealed #19

Embedded software article: RTOS Revealed #19

My latest article on embedded.com has been published. This piece is the nineteenth installment of the RTOS Revealed series, which...
It is not winning that counts ...

It is not winning that counts ...

There is an old saying: “It is not winning that counts; it is playing the game.” That sounds rather British...
Better C code webinar

Better C code webinar

Early embedded software was written in assembly language in order to accommodate the limited memory and CPU power available. At...
Do bad things really happen in threes?

Do bad things really happen in threes?

I am not a superstitious person. I do not think that doing certain things bring bad luck. I do not...
5 more embedded software programming tips

5 more embedded software programming tips

Time for another bunch of tips for embedded software developers, which I hope are helpful. I will admit that, in...
My perspective on cars

My perspective on cars

In modern society cars are totally ubiquitous. Almost everyone has one and many people gain a lot of pleasure from...
Embedded software article: RTOS Revealed #18

Embedded software article: RTOS Revealed #18

My latest article on embedded.com has been published. This piece is the eighteenth installment of the RTOS Revealed series, which...
What is a university degree for?

What is a university degree for?

In October 1975, I set off on what, for me, was a great adventure: I went to university. It was...
Video about C++ reference parameters

Video about C++ reference parameters

My latest video blog is now available. This time I am looking at reference parameters in C/C++ and how they...
Memoirs

Memoirs

Like everyone, all my life I have been surrounded by memories. There are other people’s – like my parents talking...
Yet another 5 embedded software programming tips

Yet another 5 embedded software programming tips

This is another in my occasional series of postings, where I give a few little tips that may be of...
The House Book

The House Book

Although, strictly speaking, he did not originate it, there is a famous quote that is usually attributed to Benjamin Franklin:...
After Embedded World 2018

After Embedded World 2018

Every year I depart from Embedded World with a feeling of awe – mainly inspired by the scale of the...
Reflections of a non-traveler

Reflections of a non-traveler

At the end of last week, I was struggling to return home from a short visit to Germany. As I...
Embedded software article: RTOS Revealed #17

Embedded software article: RTOS Revealed #17

My latest article on embedded.com has been published. This piece is the seventeenth installment of the RTOS Revealed series, which...
Can you understand me?

Can you understand me?

This week I am in Nuremberg, Germany. It is a country that I enjoy visiting, as stuff seems to just...
Video about inlining C/C++ functions

Video about inlining C/C++ functions

My latest video blog is now available. This time I am looking at inlining C/C++ functions and how this may...
Six (more) of the best foods

Six (more) of the best foods

My recent experiment with adjusting my diet was interesting, even if it was not 100% conclusive. Watching for the appearance...
Embedded World, Nuremberg is next week!

Embedded World, Nuremberg is next week!

Next week, Tuesday-Thursday, is what I believe to be the biggest event dedicated to embedded system development on the planet:...
Avoiding the cows

Avoiding the cows

I am carrying out an experiment. On myself. It started about 10 days ago and will run for 2 weeks....
My code is bug-free!

My code is bug-free!

There is an old joke saying: “To err is human, but for a real ****-up, get a computer.” This chimes...
How many screens do you need?

How many screens do you need?

I like a simple life. At least, that is what I tell myself. However, working with modern technology, even though...
Another 5 embedded software programming tips

Another 5 embedded software programming tips

Today is another in my occasional series of posts that document a few useful tips for embedded software developers. I...
The answer to Life, the Universe and Everything

The answer to Life, the Universe and Everything

Like most people [I assume!], from time to time, my mind turns to cosmic matters – as I have commonly...
Video about a very simple RTOS

Video about a very simple RTOS

My latest video blog is now available. This time I am looking at how to make the simplest possible multitasking...
Win some, lose some

Win some, lose some

Anyone who knows me, or has interacted with me on social media, will probably be aware that photography is my...
5 embedded software programming tips

5 embedded software programming tips

Most software developers will have received some kind of training or education in programming techniques. Others may be self-taught. But...
Levels of conversation

Levels of conversation

I have always been interested in many aspects of psychology and any form of self-analysis gets my attention. The various...
Embedded software article: RTOS Revealed #16

Embedded software article: RTOS Revealed #16

My latest article on embedded.com has been published. This piece is the sixteenth installment of the RTOS Revealed series, which...
Fixing the government

Fixing the government

I do not really want to get into politics – or, at least, not the details of it – but...
Video about RTOS partition memory

Video about RTOS partition memory

My latest video blog is now available. This time I am looking at partition memory in real time operating systems....
James F. Ready, RIP

James F. Ready, RIP

After my last posting of 2017 was on a light note [at least I hope that it was read that...
A visitor?

A visitor?

All my life, I have been interested in science and I guess this naturally meant that I was attracted to...
Embedded software article: RTOS Revealed #15

Embedded software article: RTOS Revealed #15

My latest article on embedded.com has been published. This piece is the fifteenth installment of the RTOS Revealed series, which...
Six of the best: artifacts in my house

Six of the best: artifacts in my house

As Christmas approaches – and I am still somewhat in denial [mainly because people have been saying “It’s Christmas” for...
Video about a C++ "flaw"

Video about a C++ "flaw"

My latest video blog is now available. This time I am looking at an interesting aspect of C++, where there...
How I do cooking

How I do cooking

If I start listing my interests, away from embedded software, there are a fair number. I have often written about...
ESE Kongress

ESE Kongress

This week I am on my travels again. I am attending Embedded Software Engineering Kongress in Sindelfingen, near Stuttgart, Germany....
Photos that are not pictures

Photos that are not pictures

As I have written about before, when I am not thinking about embedded systems, one of my main interests is...
RTOS event groups

RTOS event groups

This is the latest in my occasional series of posts about RTOS features and I want to talk about event...
A reward for donating blood

A reward for donating blood

This is a subject that I return to from time to time, as it is a matter about which I...
Video about RTOS semaphores

Video about RTOS semaphores

My latest video blog is now available. This time I am looking at semaphores with a real time operating system....
More on what3words

More on what3words

A few weeks ago, I wrote about a technology that was exciting me: what3words. Since then, I have been giving...
Embedded software article: RTOS Revealed #14

Embedded software article: RTOS Revealed #14

My latest article on embedded.com has been published. This piece is the fourteenth installment of the RTOS Revealed series, which...
It is just not fair!

It is just not fair!

I have long been of the opinion that anyone with the last name Adams is a genius. It started with...
Embedded Conference Scandinavia '17

Embedded Conference Scandinavia '17

This week, I am making my annual pilgrimage to Stockholm, Sweden for the Embedded Conference Scandinavia [ECS], which takes place...
Getting "in the zone" to take pictures

Getting "in the zone" to take pictures

I seem to be in “photography mode” just now. I did a post last week and I have been doing...
Video about writing maintainable embedded code

Video about writing maintainable embedded code

My latest video blog is now available. This time I am looking at how to write debuggable and maintainable code....
iPhone photography

iPhone photography

Away from my work, I have many interests, but one that consumes a lot of my time is photography –...
Embedded software article: RTOS Revealed #13

Embedded software article: RTOS Revealed #13

My latest article on embedded.com has been published. This piece is the thriteenth installment of the RTOS Revealed series, which...
Six of the best: vintage musicians/bands

Six of the best: vintage musicians/bands

I have always enjoyed music and have quite a wide taste. In this latest episode of my occasional series, where...
Embedded Software Masterclass webinar series

Embedded Software Masterclass webinar series

It has been a while since I last participated in a webinar, but a plan was recently hatched to run...
Disrupting the status quo

Disrupting the status quo

I have always liked the concept of disruptive technologies – technological advances that change the way things work in a...
Video blog about RTOS event flags

Video blog about RTOS event flags

My latest video blog is now available. This time I am continuing my occasional series of videos about RTOS features...
Six of the best - tools

Six of the best - tools

From time to time, I like to review my favorite things in some specific category. I have looked at quite...
Embedded software article: RTOS Revealed #12

Embedded software article: RTOS Revealed #12

My latest article on embedded.com has been published. This piece is the twelfth installment of the RTOS Revealed series, which...
Tell me where you are in 3 words

Tell me where you are in 3 words

I am very familiar with “the look”. It is the expression on Libby’s face – the response to me talking...
Video blog about parameter passing in C

Video blog about parameter passing in C

My latest video blog is now available. This time I am looking at how parameters are passed to functions in...
Mac apps

Mac apps

Although it has been a while, from time to time, I have written about the apps that I use on...
The missing bullet holes

The missing bullet holes

I enjoy reading and I always have a book on the go [at least one]. Currently I am reading a...
USB 3.2 for embedded systems

USB 3.2 for embedded systems

I have always found USB a fascinating technology. It is a wonderful example of how something can have great complexity...
Party on

Party on

The idea started to hatch a couple of years ago. Libby and I realized that 2017 was going to be...
Embedded software article: RTOS Revealed #11

Embedded software article: RTOS Revealed #11

My latest article on embedded.com has been published. This piece is the eleventh installment of the RTOS Revealed series, which...
Total eclipse

Total eclipse

It was all over the news earlier in the week. Even though I was nowhere near the path of totality,...
Video blog about RTOS mailboxes and queues

Video blog about RTOS mailboxes and queues

My latest video blog is now available. This is the first in an occasional series wheer I look at RTOS...
My iPhone goes walkabout [and then comes home]

My iPhone goes walkabout [and then comes home]

Last week we went to Stockholm, Sweden to attend a family wedding. We traveled a few days early in order...
Passing data between RTOS tasks

Passing data between RTOS tasks

This is the first of an occasional series of blog postings where I will focus on a specific feature or...
Video blog about compiler optimization magic

Video blog about compiler optimization magic

My latest video blog is now available. I am looking at compiler optimization and how such a tool can appear...
Communication breakdown

Communication breakdown

I often marvel at the fact that I now live in a science fiction world. At least, a lot of...
Embedded software article: RTOS Revealed #10

Embedded software article: RTOS Revealed #10

My latest article on embedded.com has been published. This piece is the tenth installment of the RTOS Revealed series, which...
Festival philosophy

Festival philosophy

Music festivals were very big back in the 1960s, though I was too young to have much awareness. Of course,...
Designing power management software for embedded systems

Designing power management software for embedded systems

An increasingly important factor in embedded software development is power management. Historically, this was a solely hardware issue; that has...
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...
Dissatisfaction, customer service and surprises

Dissatisfaction, customer service and surprises

Like all modern consumers, I have a love/hate relationship with many suppliers, which can be largely driven by their products...
Video blog about getting into embedded software

Video blog about getting into embedded software

My latest video blog is now available. For a change, instead of a technical discussion, I am talking about getting...
Quite!

Quite!

I have an enduring interest in the English language. I am constantly fascinated by the immense power of this communications...
Embedded software article: RTOS Revealed #9

Embedded software article: RTOS Revealed #9

My latest article on embedded.com has been published. This piece is the ninth installment of the RTOS Revealed series, which...
Lost in translation

Lost in translation

Last week, we were on vacation. We went to a place in the North of mainland Greece. Although we have...
One return from a function: a good idea?

One return from a function: a good idea?

All C/C++ functions have a single point of entry and it is widely thought that a single point of exit...
The A380 experience

The A380 experience

I am not an aviation geek, but, as I travel on planes quite a lot [and I am an engineer],...
Embedded Software Masterclass

Embedded Software Masterclass

Some months ago, I received an email asking me whether I would be willing and able to conduct a 3-day...
How to get rich

How to get rich

There is a well-know cartoonist, who is very intelligent, observant and outspoken. On many occasions, I have seen his writing,...
Embedded software video blog about multicore

Embedded software video blog about multicore

My latest video blog is now available. I am talking about multicore systems and the various software architectures that are...
The unknown icon

The unknown icon

As in all walks of life, the high-tech world has its icons – key people who have been pivotal in...
Explaining variables

Explaining variables

I recently came across an excellent book: The Art of Readable Code by Dustin Boswell and Trevor Foucher. As soon...
The future is not what it used to be

The future is not what it used to be

If I think back to my childhood, back in the 1960s, and my expectations for the future, there have been...
Embedded software video blog about the C keyword static

Embedded software video blog about the C keyword static

My latest video blog is now available. I am talking about the C keyword static and its different, rather confusing,...
A one-way conversation

A one-way conversation

I work from my home office – when I am not on an airplane going someplace – and the house...
Embedded software article: RTOS Revealed #7

Embedded software article: RTOS Revealed #7

My latest article on embedded.com has been published. This piece is the seventh installment of the RTOS Revealed series, which...
Shopping for a friend

Shopping for a friend

A while ago, my wife told me about a concept – a way of looking at the world – that...
ESC Boston 2017

ESC Boston 2017

This week I will be at the Embedded Systems Conference in Boston. Each year, there are a number of ESC...
The origin of the Universe

The origin of the Universe

Sometimes I niggle about the small things of life. At other times, I think big thoughts and ponder the meaning...
Securing IoT devices

Securing IoT devices

From time to time, I feature guest blogs from colleagues in Mentor or elsewhere. This week I am pleased to...
My electric future

My electric future

Notwithstanding all the politics, dogma and downright ignorance, it is clear to me that mankind’s attitude to energy production and...
Inline recursive functions

Inline recursive functions

Recently, I blogged about a video in which I talked about inlining of code. I thought that this was an...
Clocks and rhythms

Clocks and rhythms

I think that living with a chiming clock is beginning to have an effect on my brain. I have been...
I now work for Siemens

I now work for Siemens

My blog posts here mainly focus on technical issues and a I rarely pass comment on “business” matters. But, sometimes,...
The new 40?

The new 40?

Age is just a number. That is what people tell me. That is true and I firmly believe that you...
Embedded software video blog about using a memory managment unit

Embedded software video blog about using a memory managment unit

My latest video blog is now available. I am talking about the use of a memory management unit [MMU] in...
Better clock chimes

Better clock chimes

A while ago, I wrote about the installation of a new clock in my house and mused on the subject...
More on C++ with an RTOS

More on C++ with an RTOS

I recently wrote about an interesting C++ programming technique, that is particularly useful in some embedded applications. The idea was...
Six of the best: items of clothing

Six of the best: items of clothing

Continuing my occasional “Six of the best” series of blogs, where I talk about my six favorite items in a...
Embedded software article: RTOS Revealed #6

Embedded software article: RTOS Revealed #6

My latest article on embedded.com has been published. This piece is the sixth installment of the RTOS Revealed series, which...
Becoming a pensioner

Becoming a pensioner

Financial planning and investing for the future are matters that we all understand are important. Some people are better than...
Embedded software video blog about power consumption and operating system

Embedded software video blog about power consumption and operating system

My latest video blog is now available. I am talking about the relationship between the choice of operating system and...
Getting a US visa

Getting a US visa

A few weeks ago, I wrote about my challenges with visiting the USA. In summary, I found that I was...
Embedded World, Nuremberg is next week

Embedded World, Nuremberg is next week

Next week, Tuesday-Thursday 14-16 March is Embedded World in Nuremberg, Germany. This is the biggest event in the world of...
A dog on loan

A dog on loan

When I was in my teens, living with my parents, we had a dog. His name was Monty [short for...
Embedded software article: RTOS Revealed #5

Embedded software article: RTOS Revealed #5

My latest article on embedded.com has been published. This piece is the fifth installment of the RTOS Revealed series, which...
What is a marriage all about?

What is a marriage all about?

There has been much discussion in recent years, in most Western countries at least, about marriage – what it means...
Using C++ with an RTOS

Using C++ with an RTOS

If your embedded application makes use of a real-time operating system [RTOS], like Nucleus, you will need to learn the...
Being kind ...

Being kind ...

As I get older, I find that I am increasingly susceptible to strong emotions. I think it started 30 years...
Embedded software video blog about inline code

Embedded software video blog about inline code

My latest video blog is now available. I am talking about the use of inline code – a common speed...
Every color of the rainbow

Every color of the rainbow

What do you do when you see a rainbow? I will tell you what I do: I just stand and...
Reports of the death of the RTOS have been exaggerated

Reports of the death of the RTOS have been exaggerated

Crystal ball gazing is, I feel, commonly a foolhardy activity. So often, I have heard so-called experts making complete idiots...
Introducing the Anüas

Introducing the Anüas

A while ago, I wrote about the benefits of saunas. In summary, it appears that regular use of a sauna...
There ain't no such thing as a free lunch [or operating system]

There ain't no such thing as a free lunch [or operating system]

Not long ago, I was telling a friend about an iPad app that I had found useful. I commented that...
Homeopathy - science or nonsense?

Homeopathy - science or nonsense?

I have some friends, a couple, who are keen tea drinkers – like many English people, of course, including myself....
Embedded software article: RTOS Revealed #4

Embedded software article: RTOS Revealed #4

My latest article on embedded.com has been published. This piece is the fourth installment of the RTOS Revealed series, which...
The latest at the Repair Café

The latest at the Repair Café

A while back, I wrote about the Repair Café, which is a monthly event at which a bunch of volunteers...
EtherCAT - networking for real-time industrial embedded systems

EtherCAT - networking for real-time industrial embedded systems

For many years, I would regularly be asked about networking options for embedded systems. Commonly, the query was about real...
Making a difference

Making a difference

I guess that I spend quite a lot of time thinking about Life the Universe and Everything. Starting out on...
Top 10 embedded.com articles

Top 10 embedded.com articles

Some exciting news today! Every year, embedded.com publish their Top 10 list of embedded articles. This year I had two entries...
Embedded software video blog about memory architecture

Embedded software video blog about memory architecture

My latest video blog is now available. I am talking about memory architectures in embedded systems. Not strictly a software...
Mr. Tsunami and life-saving cricket

Mr. Tsunami and life-saving cricket

We decided that we would like to get away for the Christmas and New Year holiday. We had two objectives:...
Task identifiers in embedded operating systems

Task identifiers in embedded operating systems

As I have been working on the RTOS Revealed series of articles in recent weeks, I have been thinking about...
The last supper - an act of kindness

The last supper - an act of kindness

As this is my last “off-topic” posting of 2016 [there will be a techie one next week], I wanted to...
Embedded software article: RTOS Revealed #3

Embedded software article: RTOS Revealed #3

My latest article on embedded.com has been published. This piece is the third installment of the RTOS Revealed series, which...
Wedding options

Wedding options

I am generally of the opinion that marriage is a Good Thing, as it is a clear step towards the...
Embedded software video blogs about low power and C++

Embedded software video blogs about low power and C++

I have published two new video blogs recently. One looks at power issues and start up time in embedded systems....
Giving thanks

Giving thanks

I have always found the American Thanksgiving holiday rather annoying. I can never remember when it is and nobody gives...
Embedded Systems Conference, San Jose

Embedded Systems Conference, San Jose

Next week, the California ESC event takes place and it is back in San Jose this year. I was planning...
No entry

No entry

It is my broad philosophy in life to be intolerant of prejudice and bigotry. I endeavor to see everyone as...
ESE Kongress, Sindelfingen

ESE Kongress, Sindelfingen

The embedded conference season continues and, next week, I will be in Sindelfingen, near Stuttgart in Germany for the ESE...
Plus ça change ...

Plus ça change ...

Not so much of a long, profound blog story today – more of a Thought for the Day. There is...
Embedded Conference Scandinavia

Embedded Conference Scandinavia

Next week is the Embedded Conference Scandinavia [ECS], which takes place in Kista – a suburb of Stockholm, Sweden. This...
Parking ticket machines - who designed them?

Parking ticket machines - who designed them?

Like most people, I have a car. I do not mind driving and try to do so in a legal,...
Embedded software article: RTOS Revealed #2

Embedded software article: RTOS Revealed #2

My latest article on embedded.com has been published. This piece is the second installment of a new series, called RTOS...
Six of the best: fiction books

Six of the best: fiction books

Continuing my occasional “Six of the best” series, I want to turn my attention to books – specifically works of...
DDoS, the IoT and Nucleus

DDoS, the IoT and Nucleus

First off, I lay no claim to be an Internet security expert. Maybe because of this, I was quite shocked...
The road to ...

The road to ...

I always try to do The Right Thing. I endeavor to be honest and to be considerate and to generally...
20 years in embedded software!

20 years in embedded software!

Working at Mentor Graphics, as a specialist in embedded software, has always been interesting, but I am often surprised when...
To upgrade or not to upgrade?

To upgrade or not to upgrade?

We live in a world of constant change, so it seems. We are no longer satisfied with owning something or...
Writing portable/reusable code

Writing portable/reusable code

What are you priorities when writing code? Obviously you need to implement some specific functionality and there may be a...
Using Evernote

Using Evernote

As it is a software tool [or a service, depending on how you look at it], that I use many...
Video blog about RTOS APIs

Video blog about RTOS APIs

My latest video blog is now available. I am talking about blocking and non-blocking APIs in real time operating systems....
Getting the picture

Getting the picture

As I frequently mention here and elsewhere, one of my big interests away from work is photography. I have been...
Embedded software article: RTOS Revealed

Embedded software article: RTOS Revealed

My latest article on embedded.com has been published. This piece is the start of a new series, called RTOS Revealed,...
Anxiety marketing

Anxiety marketing

I guess that everyone has felt anxiety, to some extent, at some point in their lives. For some people, the...
Upcoming webinar on selecting an embedded operating system

Upcoming webinar on selecting an embedded operating system

Next week, I will be hosting a Web seminar, looking in detail at the key factors involved in selecting an...
A car that is smarter than me

A car that is smarter than me

Most of my male friends – and quite a few females – are interested in cars. They tend to be...
Video blog about embedded multicore

Video blog about embedded multicore

My latest video blog is now available. I am talking about multicore embedded designs and how the software can be...
How the other half lives

How the other half lives

Last weekend, my wife and I took a trip onto London. It is not something that we do often, if...
Bitwise operations on device registers

Bitwise operations on device registers

A lot of embedded software is focused on the control of peripheral devices and this can present some interesting challenges....
You are what you wear

You are what you wear

It is an old saying – “You are what you wear”. In the light of recent news about the banning...
Embedded software article: C++ exception handling

Embedded software article: C++ exception handling

My latest article at embedded.com has been published: C++ Exception Handling Exception handling in C++ is controversial among embedded software...
Getting it right while getting it wrong

Getting it right while getting it wrong

I love great customer service and I do my utmost to give feedback and to celebrate companies and individuals who...
Take a break - the break statement in C

Take a break - the break statement in C

It is a given that structured programming – in one form or another – is a Good Thing. For years,...
Going wild

Going wild

Although I can and do enjoy traveling – indeed, as I write this text, I have just checked in for...
Video blog - creeping elegance in embedded software

Video blog - creeping elegance in embedded software

My latest video blog is now available. I am talking about “creeping elegance” in embedded software development. This is the...
An interesting scam

An interesting scam

It is my opinion that the Internet is the single most important human invention, at least since the wheel. In...
Variable declarations in C - plenty of pitfalls

Variable declarations in C - plenty of pitfalls

It is widely felt that C is a very good language for embedded applications, as it is expressive, compact and...
Driving cars - something needs to change

Driving cars - something needs to change

I have held a driving license for over 40 years with quite a clean record; a couple of parking tickets...
Embedded software article: software in cars

Embedded software article: software in cars

My latest article at embedded.com has been published: Software in cars From an embedded software engineer’s point of view, a...
Music festivals - a big dose of live music

Music festivals - a big dose of live music

As I have written about before, we really enjoy experiencing live music. There is something special about the atmosphere when...
Video blog: volatile keyword in embedded software

Video blog: volatile keyword in embedded software

My latest video blog is now available. I am talking about the volatile keyword in C/C++, which is of vital...
Using a Mac - the rights and wrongs

Using a Mac - the rights and wrongs

It has been a year since my “conversion”. That word makes it sounds like a religious experience. In some ways,...
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...
My 3 best pictures of 2016

My 3 best pictures of 2016

If someone asks me about my hobbies, I have an instant list of activities with which I fill my free...
Embedded software article: CPU selection

Embedded software article: CPU selection

My latest article at embedded.com has been published: CPU selection in embedded systems The selection of a CPU in any...
Safety in numbers

Safety in numbers

I am back from my vacation and just about over the shock of having days that are not simply filled...
Video blog: a real time operating system story

Video blog: a real time operating system story

My latest video blog is now available. I am telling a story about the RTOS business – specifically about how...
Vacation: something new or more of the same?

Vacation: something new or more of the same?

My vacation mood continues after my posting last week where I discussed various locations that I like to visit. But...
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...
Six of the Best: vacation destinations

Six of the Best: vacation destinations

My frame of mind is clearly revealed in this, the latest in my occasional series of “Six of the Best”...
Embedded software article: safety critical systems

Embedded software article: safety critical systems

My latest article at embedded.com has been published: Safety critical systems – the basics Designing any kind of system to...
Let there be light! Installing LEDs in my house

Let there be light! Installing LEDs in my house

Maybe it is because I am a photographer, or perhaps it is my aging vision, but light – the quantity...
Video blog: USB 3

Video blog: USB 3

My latest video blog is now available. I am taking a further look at USB, specifically focusing on USB 3.0...
My first Mac anniversary - celebration and an expensive error

My first Mac anniversary - celebration and an expensive error

Time flies. And, the older you get, the faster it flies. So I am somewhat unsurprised to note that it...
Simple real-time task scheduling - a question and an answer

Simple real-time task scheduling - a question and an answer

I recently received an email, from somebody with whom I was not acquainted, with the subject line “Probably a silly...
What I do

What I do

I was recently in conversation with an acquaintance and they raised the subject of a new TV show that they...
Writing safer, clearer C - MISRA C

Writing safer, clearer C - MISRA C

Embedded developers often bemoan the fact that no programming language is ideal for their particular needs. In a way, this...
Movie: Eye in the Sky

Movie: Eye in the Sky

Although it is not a subject that I address here very often, my wife and I go to see quite...
Embedded software article: pointers and addresses

Embedded software article: pointers and addresses

My latest article at embedded.com has been published: Pointers and addresses – a programming minefield Pointers are a very powerful...
Six of the best: cheeses

Six of the best: cheeses

In this, the latest in my occasional “Six if the best” series of posts, I am going to look at...
Video blog: the mysteries of the increment operator in C

Video blog: the mysteries of the increment operator in C

My latest video blog is now available. I am looking at the increment [++] operator in C/C++ and considering its...
Mac screen capture

Mac screen capture

I am continuing my evangelistic journey through the world of Mac and OS X and I have previously written about...
Initialization of variables in embedded applications

Initialization of variables in embedded applications

There is a variety of reasons why C is so widely favored as a programming language for embedded software. It...
Taking note - a review of note taking apps

Taking note - a review of note taking apps

In recent months, there has been much discussion, in appropriate circles, about cross-platform note-taking software. Several vendors have seen the...
CISC and RISC

CISC and RISC

Some time ago, I wrote about my role as a STEM Ambassador. This has been an interesting experience, giving me...
Just passing through and not spilling a drop ...

Just passing through and not spilling a drop ...

First off, a puzzle for you. I am sitting at a table on US soil. But the bar I just...
Video blog: USB software and implementation in embedded systems

Video blog: USB software and implementation in embedded systems

My latest video blog is now available. This is one of a series looking at USB for embedded software developers....
Six of the best: more great OS X features

Six of the best: more great OS X features

A while ago, as part of my occasional Six of the Best series of posts, I talked about 6 great...
ESC Boston

ESC Boston

In just over a week, it will be the Embedded Systems Conference in Boston once again. Mentor Embedded will have...
Works of art

Works of art

A while ago, we were on vacation in the West of England. My wife’s family have a vacation house in...
An article on embedded hypervisors

An article on embedded hypervisors

My latest article at embedded.com has been published: Embedded Hypervisors The idea of a hypervisor in a powerful computer is...
An interesting OS X feature, with a hint of déjà vu

An interesting OS X feature, with a hint of déjà vu

Last year, I made the decision, for the purposes of my own computing needs, to consign Windows to history. This...
Self-testing in embedded systems article - part 2

Self-testing in embedded systems article - part 2

My latest article in embedded.com is the second instalment of a two-part piece: Self-testing in embedded systems All electronic systems...
I have no money ...

I have no money ...

I can recall quite clearly way back in my childhood, in the 1960s, when my Dad first got a credit...
Video blog: USB communications

Video blog: USB communications

My latest video blog is now available. This is one of a series looking at USB for embedded software developers....
Illness for dummies

Illness for dummies

I am not very good at being unwell. You might say that getting sick does not take any skills –...
Richard Vlamynck RIP

Richard Vlamynck RIP

I recently celebrated 30 years of service with Mentor Graphics. I actually joined Microtec Research in 1986, which was acquired...
Self-testing in embedded systems article

Self-testing in embedded systems article

My latest article in embedded.com is the first instalment of a two-part piece: Self-testing in embedded systems All electronic systems...
Why I became an engineer

Why I became an engineer

This week is National Engineers Week in the US. I was asked to write a very succinct summary of how...
Not making chips - an agreement to facilitate early access to CPU architectures

Not making chips - an agreement to facilitate early access to CPU architectures

As a humble embedded software specialist, working for a company that is widely known in the EDA business [notwithstanding a...
Managing people: herding cats

Managing people: herding cats

Not long ago, I realized that I have reached the pinnacle of my career. It is not that I earn...
Embedded World is next week

Embedded World is next week

The biggest event on the embedded systems industry calendar is Embedded World, which takes place next week – Tuesday-Thursday, 23-25...
The grandfather clock - a new home and a redesign

The grandfather clock - a new home and a redesign

We have a new member of the family. That is not actually true, but it feels like that, as there...
Embedded software for free

Embedded software for free

I recently attended a funeral, after which was a lunch. When the guests had finished eating and had begun to...
Justice, punishment and protection

Justice, punishment and protection

It is amazing how often people have said to me “You think too much.” What they are accusing me of...
OpenAMP - embedded multicore comes of age

OpenAMP - embedded multicore comes of age

Multicore designs in embedded systems are now becoming mainstream as the cost-effective way to implement the complex functionality required in...
Engineers and a belief in magic

Engineers and a belief in magic

Recently I wrote about my need to understand things in the world around me. I have been considering this some...
Libraries - a good way to promote embedded code reuse?

Libraries - a good way to promote embedded code reuse?

As any software developer is well aware, the basic process for building an embedded application is quite straightforward. Normally, the...
My Dad, RIP

My Dad, RIP

Once in a while, I write a blog post that is very personal. This is such an occasion. My father,...
DAC 2016 - the place to talk and hear about embedded software

DAC 2016 - the place to talk and hear about embedded software

I am commonly asked the question: “Where can I learn about embedded software?” This might come from a student considering...
Six of the best - OS X features

Six of the best - OS X features

As a recent convert to the world of Macs, as I have documented before, I am commonly heard to enthuse...
Video blog: USB in embedded systems

Video blog: USB in embedded systems

My latest video blog is now available. This is one of a series looking at USB for embedded software developers....
What is money all about?

What is money all about?

Money is obviously important. It is a fundamental cornerstone of modern society. I, however, have never found it very interesting...
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...
M is for ...

M is for ...

This is my last blog posting of 2015. I would like to thank everyone for reading my ramblings through the...
Embedded email article

Embedded email article

As the year draws to a close, an article of mine published on embedded.com is possibly the last of 2015....
Apple getting it right and getting it wrong

Apple getting it right and getting it wrong

Everybody loves Apple. Well, not quite everybody. I was skeptical for a long time and I am still not uncritical,...
Video keynote

Video keynote

I recently posted some details about my recent travel, when I presented at a couple of conferences. At one, IP-SOC...
Live long and sauna

Live long and sauna

Some people love them and some people hate them. There is not too much middle ground when it comes sitting...
Conferences: RTOS performance and a keynote

Conferences: RTOS performance and a keynote

This time of year is usually quite busy for me, presenting at conferences. This year is no exception. I recently...
Hotel pros and cons and why I forget

Hotel pros and cons and why I forget

I stay in a lot of hotels. In general, it is not an exciting experience. People, whom I encounter, who...
Video blog - The Embedded Way: calendar glitches ahead

Video blog - The Embedded Way: calendar glitches ahead

My latest video blog, where I discuss the possible reoccurrence of the “Y2K Problem”, has just been published and may...
Choosing my vegetables

Choosing my vegetables

A while back, I wrote about a topic that had been preying on my mind. I was concerned about choice...
Embedded software article: using an email server

Embedded software article: using an email server

My latest article over at embedded.com has just been published: Embedded email As with any technical endeavor, the selection/development of...
Friday the thirteenth

Friday the thirteenth

I will start off by saying that I am definitely not a superstitious person. I believe that everything that we...
Endianness article leads to some questions

Endianness article leads to some questions

When I write an article, I am generally talking about how to do something or how something works in embedded...
6 of the best: personal items

6 of the best: personal items

From time to time, I write about 6 favorite things in a particular category. I find it interesting to ponder...
Embedded Conference Scandinavia 2015

Embedded Conference Scandinavia 2015

Last week, I attended the Embedded Conference Scandinavia – ECS – which takes place every year in Kista, the high-tech...
Magic and the art of business travel

Magic and the art of business travel

I do not believe in magic. I contend that everything has a rational explanation and, if science has not yet...
Video blog - The Embedded Way: language standards and extensions

Video blog - The Embedded Way: language standards and extensions

My latest video blog, where I discuss language standardization and use of language extensions, has just been published and may...
Marketing fail

Marketing fail

We are all subjected to marketing – all day every day. According to a book that I just read [The...
Another embedded software article: Endianness

Another embedded software article: Endianness

Yet another in my series of article at embedded.com has been published: Endianness For most programmers, details of computer architecture...
Return to the Repair Café

Return to the Repair Café

A while ago, I wrote about an interesting organization with which I was becoming involved: the Repair Café. Now I...