Graphical Visualization of the Internal Behavior of an RTOS [don't just see half the picture]

Posted by Magnus Unemyr on May 10, 2017 11:08:11 AM

Debugging RTOS-based applications often introduce new complexities. In this blog post, I will reveal a trick that can give you completely new insights into the system as you debug it.

Have you ever plotted the internal behavior of an RTOS graphically, live in real-time? If you haven’t, perhaps you should consider this powerful debug technique now. Read more to find out how!

Read More

Topics: Debugging, RTOS, SWV

How to Debug FreeRTOS Projects on ARM Cortex-M Devices

Posted by Magnus Unemyr on Jan 18, 2017 10:00:00 AM

The embedded systems market in general is transforming quickly, and the RTOS market more specifically is no different. Not too many years ago, only forward-thinking development teams with a certain level of skills and budget used real-time operating systems in their designs. But in this day and time, using an RTOS is pretty much a requirement if you want to use middleware stacks (TCP/IP and USB comes to mind, for example).

At the same time, the traditional RTOS vendors are under strong pressure from free and open alternatives. On large high-end systems, EmbeddedLinux is almost the norm these days. Since EmbeddedLinux is too large to run on smaller embedded systems, other alternatives are a better fit for Cortex-M developers. FreeRTOS, developed by Richard Barry, is the shining star in this segment. FreeRTOS have a huge user base, as it is free, stable and easy to use. But with RTOS power comes debug problems. How do you debug a system based on FreeRTOS?

Read More

Topics: Atollic TrueSTUDIO, RTOS

Introduction to Real-Time Operating Systems - Video Tutorial

Posted by Stephen Martin on Jul 15, 2016 3:26:57 AM

Many developers using 32-bit ARM-based microcontrollers are realizing the advantages of using a real-time operating systems (RTOS). Super-loop schedulers and other bare-metal implementations are being superceded by small, fast RTOSes such as FreeRTOS, uC-OS, ThreadX and many others. With the generous RAM and ROM in today's microcontrollers there is little penalty and major upside to using an RTOS.

Popular embedded writer, Jacob Beningo, has put together a 30-minute video on the reasons to consider using an RTOS .


Read More

Topics: RTOS

New example project from FreeRTOS demonstrates TCP, UDP, FTP, and web server.

Posted by Stephen Martin on Jan 27, 2016 3:45:00 PM

Richard Barry and the folks at have a new demo project available using the free TrueSTUDIO Lite development tool. The demo showcases the FreeRTOS real-time operating system, FreeRTOS+TCP stack and FreeRTOS+FAT file system and is ready to import into TrueSTUDIO as an existing project.

The demo is built for the popular STM3240G-EVAL board (using the STM32F407 device based on an ARM Cortex-M4 core).  Despite the board having plenty of off-chip RAM, the demo only actually uses the limited on-chip RAM, demonstrating what can be achieved even in RAM-constrained systems when using these high quality but completely free software components.

“The removal of the code-size limit from TrueSTUDIO Lite gives us the opportunity to use TrueSTUDIO to create comprehensive examples, such as this.” said Barry. “It also gives our ever-growing, global user base the opportunity to quickly and easily pick up a known good working project, which they can then further develop into a commercial product, should they wish. The also have the option to augment and enhance their development experience by making use of the optional upgrade paths available to them at any time.”

Read More

Topics: Atollic TrueSTUDIO, RTOS, Embedded Software Development

Interview with Richard Barry, the founder of FreeRTOS

Posted by Magnus Unemyr on Sep 2, 2015 1:37:00 PM

In my interview with Richard Barry, the founder of the FreeRTOS project, we get interesting insights into the history and future of FreeRTOS, along with his personal thoughts on where we are heading.

Additionally, Richard elaborates on IoT, real-time operating systems, embedded tools, and the challenges and future of the embedded industry in general.

Read More

Topics: ECLIPSE, GNU tools (GCC/GDB), RTOS, Embedded Software Development

What is an RTOS and why should I use one? [free eBook]

Posted by Magnus Unemyr on Aug 26, 2015 11:20:00 AM

Many embedded developers use a real-time operating system in their Cortex-M designs. But what do an RTOS do and why do you need one in your product?

In our new free RTOS eBook, you will learn more about what a real-time operating system is, the benefits and components of an RTOS, including explanations of key concepts like tasks, scheduling models, context switching, latency and more.

Read More

Topics: Debugging, RTOS

Atollic TrueSTUDIO v5.3.1 has been released!

Posted by Magnus Unemyr on Aug 11, 2015 2:12:07 PM

Despite the summer holidays being in full swing, our development team have today launched a new version of Atollic TrueSTUDIO, v5.3.1, which is a first-class C/C++ compiler and debugger IDE for professional ARM Cortex developers.

In particular STM32 and Kinetis developers will benefit from this new release, thanks to the improved integration with Freescale's ProcessorExpert software configuration tool, as well as extended target support for STM32 and Kinetis families. The new release includes improved support for Cortex-M7  targets too.

Read More

Topics: ECLIPSE, ARM Cortex, GNU tools (GCC/GDB), Debugging, Atollic TrueSTUDIO, RTOS

How to debug FreeRTOS and OpenRTOS applications [application note]

Posted by Magnus Unemyr on Jun 4, 2015 9:37:00 AM

FreeRTOS is one of the most popular real-time operating systems in recent years. (OpenRTOS is technically identical to FreeRTOS but is sold as a commercial product.)

Many Cortex-M developers adding FreeRTOS to their STM32, LPC or EFM32 projects. But what about tool support? Professional developers need professional compiler and debugger IDEs and kernel-aware debug support for FreeRTOS in the IDE. We have written an application note about using this feature in the TrueSTUDIO IDE.

Read More

Topics: ARM Cortex, Debugging, Atollic TrueSTUDIO, RTOS

Are STM32 developers using FreeRTOS blind?

Posted by Magnus Unemyr on Apr 14, 2015 11:56:21 AM

One of the most popular real-time operating systems in recent years is FreeRTOS; and many STM32 developers use it successfully in their STM32 designs. FreeRTOS is a free-of-charge lightweight RTOS, offering threading capabilities on Cortex-M devices, including STM32.

While commercial RTOS’es may support more advanced capabilities, FreeRTOS is good enough for many; and hence its popularity considering its price. It is probably the most widely used RTOS for microcontrollers by now. Are you too using FreeRTOS on STM32? Great, but don’t be blind!

Read More

Topics: ARM Cortex, Debugging, Atollic TrueSTUDIO, RTOS

Using GNU gcc/gdb and ECLIPSE with ARM Cortex devices: Is free tools right for you?

Posted by Magnus Unemyr on Apr 8, 2015 11:59:00 AM

As the embedded industry now standardize on the GNU C/C++ tools (gcc compiler and gdb debugger) and the ECLIPSE IDE, more tool options have become available in the last year or two. In particular, free or low-cost Eclipse/GNU tools are widely available on the market for Cortex-M devices like STM32, Kinetis and LPC. Also available are high-end Eclipse/GNU tools like Atollic TrueSTUDIO, supporting the same devices with many commercial add-ons. And so, which one to choose?

A question is if the free tools really are free, and if they offer what you need? Factors to consider are out-of-the-box experience, quality and support options, as well as productivity and functionality, and managing project risks. Different development teams may well have different priorities and answer to these questions. Let’s see what factors there are to consider.

Read More

Topics: ECLIPSE, ARM Cortex, GNU tools (GCC/GDB), Debugging, Atollic TrueSTUDIO, SEGGER J-Link, RTOS, ST-LINK

What is the best tool for professional STM32 development?

Posted by Magnus Unemyr on Apr 7, 2015 12:58:00 PM

I often get questions on what tool to choose for embedded development; and after a number of years in this industry I have learnt that no tool fits all, and that many developers have very different opinions on what is important. Additionally, different developers have different needs and skill levels too.

Having said that, I have also seen a large number of development projects and learnt what is important for most embedded developers, and how to approach the tool selection process. Last week, I again got the question on what embedded tools are best from a company looking for STM32 development tools. That triggered me to take a step back and think about how to select the right tools (for STM32, or any other ARM Cortex device like Freescale Kinetis or NXP LPC for that matter) from a slightly more philosophical point of view.

Read More

Topics: ECLIPSE, ARM Cortex, GNU tools (GCC/GDB), Software quality, Debugging, RTOS, Embedded Software Development

Cortex-M debugging: printf() redirection to a debugger console using SWV/ITM (part 2)

Posted by Magnus Unemyr on Mar 9, 2015 3:15:00 PM

In this third blog post on Serial Wire Viewer (SWV) real-time tracing, I will cover how the instrumentation trace macrocell (ITM) in Cortex-M devices (such as STM32, Kinetis, LPC, EFM32, etc.) can be used for multichannel console output re-direction such that the output goes to several different console windows in the debugger using the JTAG cable, offering separate console views for different parts of your S/W.

Before reading this article on multichannel console output using SWV/ITM, I recommend you first read the previous blog post on singlechannel printf() redirection using ITM, and perhaps also the general overview of SWV event- and data- tracing available in Cortex-M devices.

Read More

Topics: ECLIPSE, ARM Cortex, GNU tools (GCC/GDB), Debugging, Atollic TrueSTUDIO, RTOS