Contact IAR Systems
Home Products Support Resources Downloads About us Contact My Pages
Developer's Toolbox Webinars IAR Solution Selector Viewpoints Video Presentations Further reading LEGO MINDSTORMS NXT
 
Resources   >   Developer's Toolbox   >  

RTOS and middleware

The functionality and usefulness of an embedded application can improve significantly by the addition of communication and/or an operating system. Here you will find useful information by subject experts.
 
 

Small, smaller, smallest—RF communication protocols for low-power wireless systems

With the ability to connect up to 65,000 nodes in a network, the ZigBee® protocol is naturally an attractive choice for multi node low-power wireless systems—battery-operated systems that communicate over a short or long distance via a radio frequency. But there are alternatives. This article tries to explain how IEEE 802.15.4, ZigBee and other protocols relate to each other.
Click to continue...
 
 

Inter-Task Synchronization Mechanisms in IAR PowerPac

To increase efficiency, an embedded RTOS application is always divided into multiple concurrent tasks. Usually, a program coordinates two or more of the tasks, an activity which is called inter-task synchronization.

This article explains why inter-task synchronization is needed and introduces the synchronization services provided by IAR PowerPac Kernel. In addition, an example illustrates how these mechanisms can solve different problems.
Click to continue...
 
 

RTOS Basics

Designing applications for an embedded application is almost always challenging, to say the least. One way to decrease the complexity of your application is to use a task-oriented design and divide a project into different modules (or tasks). Each module is then responsible for some part of the application. With such a system you would like to be able to specify that some modules (or tasks) are more important than others. That is, some tasks have real-time requirements. They have to respond quickly and correctly. If your system employs a professional RTOS, features that prioritize tasks are already part of the package. In addition to task prioritization, a clean and well-tested API is included that eases communicate between different tasks.
Click to continue...
 
 

Achieving TCP/IP performance in embedded systems

Often developers believe that since a communication protocol stack is called a TCP/IP stack, porting it to an embedded target provides the target with all TCP/IP functionalities and performance. This is far from true. A TCP/IP stack requires such resources as sockets and buffers to achieve its goal. These resources, however, consume RAM—a scarce resource on an embedded target. Deprived of sufficient resources, a TCP/IP stack will not work better than an RS-232 connection.
Click to continue...
 
 

Priority inversion

In some cases when using a system with multiple tasks running in parallel, a low priority task can cause a high priority task to be halted.

In systems where different tasks need exclusive access to a resource, priority inversion can occur. This is a phenomenon where a low priority task gets to run and starts to use a resource with exclusive access. If a higher priority task needs the same resource it halts until the low priority task has released the resource. This would effectively give the high priority task a priority level beneath the low priority task. Should medium priority tasks try to run, they can run as if they have a higher priority than the high priority task. This is Priority inversion.
Click to continue...