Posts Tagged ‘RTOS’

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 »

, , , ,

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 »

, , , , , , ,

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 »

, , , , , , , , , ,

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.

, , , , ,

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.

, , , , ,

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 »

, , , ,

15 August, 2016

My latest video blog is now available. I am talking about “creeping elegance” in embedded software development. This is the well known phenomenon of an engineer not being able to stand back from some work and declare it complete – there are always possible enhancements. I illustrate this using a story about a young embedded software developer many years ago …

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.

,

11 July, 2016

My latest article at embedded.com has been published:

CPU selection in embedded systems

The selection of a CPU in any embedded design has long been considered a ”hardware issue”. As it is part of the hardware, this seems logical. However, the implications of the choice on the software development are profound. This article puts the case for a stronger influence from software developers in the CPU selection process.

, ,

4 July, 2016

My latest video blog is now available. I am telling a story about the RTOS business – specifically about how a team of developers selected the right RTOS for their needs. 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.

, , , , , ,

23 May, 2016

I recently received an email, from somebody with whom I was not acquainted, with the subject line “Probably a silly question”. This got my attention, as I think the only silly thing about a question is not asking it. It certainly was not a silly question. The emailer was asking about implementation of a real time system and I gave him some advice, which I hope was helpful.

With his permission, I will share the question and my answer … Read the rest of this entry »

, , , , , ,

22 February, 2016

As a humble embedded software specialist, working for a company that is widely known in the EDA business [notwithstanding a 20+ year history of supporting embedded software], I think that I may be forgiven for having a slight identity crisis. When someone outside of the business asks me what Mentor Graphics does, I mutter vague things about electronic design. I was naturally intrigued when I heard about the recently announced agreement with ARM®. I wondered: does this mean we are going to start making chips? … Read the rest of this entry »

, ,

8 February, 2016

I recently attended a funeral, after which was a lunch. When the guests had finished eating and had begun to visit the bar less frequently, I stood up and tapped a glass with a spoon to request everyone’s attention. I explained my favorite maxim: TANSTAAFL – There Ain’t No Such Thing As A Free Lunch. For them, the price was listening to me rambling on for a few minutes.

I firmly believe that there is very little that you can get truly for free in the world, even though the cost may not always be apparent. People even expect that software might be free … Read the rest of this entry »

, ,

25 January, 2016

As any software developer is well aware, the basic process for building an embedded application is quite straightforward. Normally, the code is written in some combination of C [perhaps C++] and assembly language and distributed across a number of files [modules]. Each module is compiled/assembled to produce a relocatable object module; this file contains the machine code instructions for the target processor, but with the memory addresses left open. The numerous object modules are then joined together using a linker [sometimes called a linker/locator], which resolves the memory addresses to the required final locations and produces the absolute file, which is an image of the final system memory.

That is the simple picture. There are other nuances, like incremental linking [where a number of relocatables are joined together to make another relocatable – linking, no locating] and object module libraries … Read the rest of this entry »

, , , , , , ,

@colin_walls tweets

  • My latest video blog is now available. I talk about the use of a memory management unit [MMU] in an embedded system https://t.co/aSVECLARgl
  • Embedded software article: RTOS Revealed #6 look at the additional facilities that and RTOS may offer & beyond https://t.co/GXg8ivM3gW
  • #programmingTip To maintain real time integrity, keep ISRs as short as possible - unload the real work onto a task.

Follow colin_walls