Posts Tagged ‘embedded software’

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.

, , , , ,

28 November, 2016

ESCNext week, the California ESC event takes place and it is back in San Jose this year. I was planning to be there, as I had a paper accepted. Sadly, I needed to cancel my trip and a colleague will present on my behalf. Here are the details of the paper:

Dynamic Memory Allocation & Fragmentation in C & C++

In C and C++, it can be very convenient to allocate and de-allocate blocks of memory as and when needed. This is certainly standard practice in both languages and almost unavoidable in C++. However, the handling of such dynamic memory can be problematic and inefficient. For desktop applications, where memory is freely available, these difficulties can be ignored. For embedded – generally real time – applications, ignoring the issues is not an option.
Dynamic memory allocation tends to be non-deterministic; the time taken to allocate memory may not be predictable and the memory pool may become fragmented, resulting in unexpected allocation failures. In this session the problems will be outlined in detail and an approach to deterministic dynamic memory allocation detailed.

I am sad to be missing the show, but I hope it goes well. If you would like a copy of my presentation, please contact me via email or social media.

, , ,

21 November, 2016

banner_referent_2016The embedded conference season continues and, next week, I will be in Sindelfingen, near Stuttgart in Germany for the ESE Kongress. This is an annual event that I have attended several times over the last few years. There is a small trade show – where some of my colleagues will be manning a stand throughout the week – and multiple streams of presentations … Read the rest of this entry »

, ,

14 November, 2016

Next week is the Embedded Conference Scandinavia [ECS], which takes place in Kista – a suburb of Stockholm, Sweden.

This is the foremost embedded event in the Scandinavian region and I have visited and presented there numerous times. This year I have the privilege of being invited to present 4 papers … Read the rest of this entry »

, , , , , , , , ,

7 November, 2016

My latest article on embedded.com has been published. This piece is the second installment of a new series, called RTOS Revealed, which will appear from time to time for the rest of this year, into 2017 and beyond. The series will cover every aspect of real time operating systems.

Program structure and real time

In this article I take a look at ways to structure an embedded application and what real time is all about. This leads to the decision making process for utilizing an RTOS or not.

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

, , , , ,

31 October, 2016

First off, I lay no claim to be an Internet security expert. Maybe because of this, I was quite shocked by the scale and effect of the major DDoS attack that hit the news recently. This attack restricted access to some major websites for Internet users on both sides of the Atlantic. The really interesting aspect of this incident is that the attack was implemented by hijacking large numbers IoT devices … Read the rest of this entry »

, , , , , , ,

24 October, 2016

ESD-20-years-ARM-TechCon.jpgWorking at Mentor Graphics, as a specialist in embedded software, has always been interesting, but I am often surprised when I meet people at conferences etc. who have no awareness of the company’s involvement in this technology. This ignorance is surprising for two reasons. Firstly, almost all modern electronic systems are embedded systems; hardwired logic is still developed, of course, but that is a minority activity. The second reason for my surprise is that this year Mentor is celebrating 20 years of offering embedded software products and solutions … Read the rest of this entry »

, , , ,

17 October, 2016

What are you priorities when writing code? Obviously you need to implement some specific functionality and there may be a required level of performance. This is all testable or measurable. However, there are two other key goals, that are harder rate:

  1. Write code that is clear and easy to understand. I shy away from using the term “self-documenting”, but that is certainly what you should be aiming for.
  2. Make sure that the code is maintainable and extendible. It might be you that has to do future work and a little care now will make your life easier down the line.

It is #2 that I would like to focus on today … Read the rest of this entry »

, , , , ,

10 October, 2016

My latest video blog is now available. I am talking about blocking and non-blocking APIs in real time operating systems. You can see the video here or here:

Of course, the example that I use in the video is Nucleus RTOS from Mentor Embedded..

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

, , , , , ,

3 October, 2016

My latest article on embedded.com has been published. This piece is the start of a new series, called RTOS Revealed, which will appear from time to time for the rest of this year, into 2017 and beyond. The series will cover every aspect of real time operating systems. Here is some detail:

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

, , , ,

26 September, 2016

Next week, I will be hosting a Web seminar, looking in detail at the key factors involved in selecting an operating system. I frequently hear from engineers, who are endeavoring to make such a choice, and find themselves rather overwhelmed by the options. My hope is that I can help you to focus on the critical issues and ignore the sales hype … Read the rest of this entry »

, , , ,

@colin_walls tweets

Follow colin_walls