Posts Tagged ‘embedded software’

26 June, 2017

All C/C++ functions have a single point of entry and it is widely thought that a single point of exit is logical. Indeed, a number of programming standards [MISRA C for example] insist on this approach. The logic is that a single return statement makes for clearer, easier to read code. Additionally, a single exit point means that there is less chance of failing to execute function exit code, which may deallocate resources etc. Such an error leads to memory leaks and the like. The contrary argument is that an early return might avoid the need for some convoluted logic to direct the execution flow to the end of the function – a nest of if … else constructs can be hard to read.

I have been pondering an alternative approach that might deliver the best of both worlds … Read the rest of this entry »

, , ,

12 June, 2017

Some months ago, I received an email asking me whether I would be willing and able to conduct a 3-day embedded software masterclass in Bangalore, India. An events management company was planning such an event and had located me via the magic of social media. I was, of course, flattered to be asked, but also both daunted and intrigued by the prospect of doing it … Read the rest of this entry »


5 June, 2017

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

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

, , , ,

8 May, 2017

My latest article on embedded.com has been published. This piece is the seventh installment of the RTOS Revealed series, which will continue to appear through 2017 and beyond. The series will cover every aspect of real time operating systems.

Nucleus SE – an introduction

In this article, I take an initial look at Nucleus SE which will be used as the example RTOS for the rest of the series … Read the rest of this entry »

, , , ,

1 May, 2017

This week I will be at the Embedded Systems Conference in Boston. Each year, there are a number of ESC events around the US – some are more permanent and successful than others. ESC Boston has been revived in recent years and I have been fortunate enough to have some papers accepted and have the opportunity to visit one of my favorite American cities. This year is no exception … Read the rest of this entry »

, ,

10 April, 2017

My blog posts here mainly focus on technical issues and a I rarely pass comment on “business” matters. But, sometimes, there are events of such significance that comment is necessary. Some time ago, the plan for Mentor Graphics to be acquired by Siemens was unveiled. Over the months, all the necessary procedures have been effected and, last week, came the announcement that the acquisition had been completed.

I have been contemplating the significance of this acquisition to various parties … Read the rest of this entry »

,

3 April, 2017

My latest video blog is now available. I am talking about the use of a memory management unit [MMU] in an embedded system. You can see the video here or here:

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

, , , , , ,

27 March, 2017

I recently wrote about an interesting C++ programming technique, that is particularly useful in some embedded applications. The idea was all about using an embedded block, with an object local to it, where the associated constructor and destructor were put to novel use. The application, that I illustrated, was protecting a critical section using the disabling of interrupts. Today, I would like to explore the technique a little further … Read the rest of this entry »

, , , , ,

20 March, 2017

My latest article on embedded.com has been published. This piece is the sixth installment of the RTOS Revealed series, which will continue to appear through 2017 and beyond. The series will cover every aspect of real time operating systems.

Other RTOS services

In this article, I take a look at the additional facilities that and RTOS may offer beyond those introduced thus far … Read the rest of this entry »

, , , ,

13 March, 2017

My latest video blog is now available. I am talking about the relationship between the choice of operating system and the power consumption of an embedded system. You can see the video here or here:

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

, , , , ,

6 March, 2017

Next week, Tuesday-Thursday 14-16 March is Embedded World in Nuremberg, Germany. This is the biggest event in the world of embedded systems. I have been to the show and conference most years over the last decade and this year is no exception. The event is a very large trade show, along with a technical conference. It is the conference where I usually find myself most occupied … Read the rest of this entry »

, , , , ,

27 February, 2017

My latest article on embedded.com has been published. This piece is the fifth installment of the RTOS Revealed series, which will continue to appear through 2017 and beyond. The series will cover every aspect of real time operating systems.

Inter-task communication and synchronization

In this article, I take a look at the various facilities that and RTOS may offer to accommodate communication between and synchronization of tasks… Read the rest of this entry »

, , , ,

20 February, 2017

If your embedded application makes use of a real-time operating system [RTOS], like Nucleus, you will need to learn the API – the Application Program Interface. The API is a series of function calls that enable the application code to make use of the facilities provided by the RTOS. These facilities include control of tasks, timing, inter-task communication and synchronization and memory management. The number of available calls may run into hundreds, as a modern RTOS offers a wide range of functionality.

Although C is the most widely used language for programming embedded systems, many developers are keen to use C++. This opens up an alternative way to interface with an RTOS … Read the rest of this entry »

, , , , , , ,

13 February, 2017

My latest video blog is now available. I am talking about the use of inline code – a common speed optimization – in embedded systems. You can see the video here or here:

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

, ,

6 February, 2017

Crystal ball gazing is, I feel, commonly a foolhardy activity. So often, I have heard so-called experts making complete idiots of themselves with their perspectives on a future that seemed unlikely at the time and turns out to be completely wrong in every detail. The world of embedded software is no different. Every few years a new fashionable technology is talked about everywhere, with predictions of the world changing completely, but it never quite happens.

I recently listened to an interesting podcast by a couple of well-known names in the business. A wide spread of opinions is part of life, and we should not always expect to agree with each other. I would like to suggest a different view … Read the rest of this entry »

, , , , , ,

30 January, 2017

Not long ago, I was telling a friend about an iPad app that I had found useful. I commented that it was very reasonably priced at $10. They were very proud to tell me that they never pay for apps on their phone or tablet and only use free ones. I am always suspicious of the word “free”. I am a firm believer in the TANSTAAFL [There Ain’t No Such Things As A Free Lunch] principle – everything has a price, which may be monetary or something else.

I started pondering about how TANSTAAFL applies in the world of embedded software … Read the rest of this entry »

, , , , , ,

23 January, 2017

My latest article on embedded.com has been published. This piece is the fourth installment of the RTOS Revealed series, which will continue to appear through 2017 and beyond. The series will cover every aspect of real time operating systems.

Tasks, the context switch, and interrupts

In this article, I take a further look at tasks and consider how the context switch works and how interrupts may be handled.

I hope that you find the series interesting and look forward to your input by comment or email or via social media.

, , , , ,

16 January, 2017

For many years, I would regularly be asked about networking options for embedded systems. Commonly, the query was about real time systems and how they might be connected straightforwardly. Most often, the question was “Can I use Ethernet?” This was an obvious enquiry, as Ethernet is a very well established standard. Also the hardware is widely available and competitively priced and it may be used as a vehicle for TCP/IP etc., which is familiar to many developers. The answer was never totally straightforward … Read the rest of this entry »

, , , , , , , , , ,

10 January, 2017

Some exciting news today! Every year, embedded.com publish their Top 10 list of embedded articles. This year I had two entries [#2 and #7], which is a very pleasing start to 2017. It is very interesting that my two articles are both from the RTOS Revealed series, which will be continuing this year, with the next article appearing very soon. It is great to know that they are popular. Perhaps, at the end of this year, I will have the #1 place!

Although I missed #1 this time around, it was great to see that honor going to my colleague at Mentor Graphics, Faizan Khan. Well done Faizan!


9 January, 2017

My latest video blog is now available. I am talking about memory architectures in embedded systems. Not strictly a software issue, but a topic that has a significant impact on embedded software development. You can see the video here or here:

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

, ,

19 December, 2016

As I have been working on the RTOS Revealed series of articles in recent weeks, I have been thinking about the operation and functionality of operating systems. It is a very broad subject – hence the plans for a long series of articles – but I thought that some specific areas might be usefully discussed in this, more compact, context. A topic, that is not often considered, is the question of task identifiers … Read the rest of this entry »

, , , ,

12 December, 2016

My latest article on embedded.com has been published. This piece is the third installment of the RTOS Revealed series, which will continue to appear through 2017 and beyond. The series will cover every aspect of real time operating systems.

RR

Tasks and scheduling

In this article, I take a look at tasks, threads and processes and outline their differences. The various types of task scheduling are discussed and some thought is given to the different states that may pertain to a task at a given moment.

You can gain access to the whole series by following this link.

I hope that you find the series interesting and look forward to your input by comment or email or via social media.

, , , , ,

@colin_walls tweets

Follow colin_walls