The 15 Best Code Navigation Techniques [for ARM Cortex-M Developers and TrueSTUDIO Users]

Posted by Magnus Unemyr on Nov 29, 2016 9:19:45 AM

Atollic TrueSTUDIO and other embedded C/C++ IDE's based on Eclipse inherit an incredibly powerful source code editor. Many ARM Cortex-M developers could improve their editing efficiency if they knew what powerful features are available.

Read this blog post to learn how you can use the editor's convenient and advanced code navigation features to its maximum potential. Upcoming blog posts will cover other cool features of the editor too!

Read More

Topics: editing

How To Manage Tasks in the C/C++ Editor [Tips & Tricks for Embedded Developers and TrueSTUDIO users]

Posted by Magnus Unemyr on Nov 28, 2016 10:38:02 AM

Embedded developers spend most of their time in the IDE with its traditional edit/compile/debug tools. But modern IDE's - like Atollic TrueSTUDIO - also include productivity tools that can help organize your work life - at least when it comes to code management.

These tools can simplify your work. For example, there is great editor support for management of tasks and other to-do items in TrueSTUDIO. Read this blog post to learn how to organize your editing work in a more efficient manner!

Read More

Topics: Atollic TrueSTUDIO, editing

Why you should run your embedded ARM Cortex code as a host PC application [using x86 tools in your ARM IDE]

Posted by Magnus Unemyr on Nov 25, 2016 10:23:25 AM

Most ARM developers spend their days in front of an embedded IDE, which comes with a cross-compiler and a cross-debugger. The thought that you build your code for the target device, and run the code on it, is deeply rooted. And there are very good reasons for this - hardware dependencies, timing issues, and other things that prevent portability. In short, it is often very difficult to compile your embedded application into a host-PC application - or, at least to run it on the PC. And why would you?

As it turns out, there are several situations when this is a very good idea. This is why Atollic TrueSTUDIO bundle not only an ARM Cortex toolchain, but an x86 host-PC toolchain as well. Effectively, Atollic TrueSTUDIO can be used both for embedded development and PC application development at the same time. Read this blog post to learn more on this unusual but very powerful capability!

Read More

Topics: Atollic TrueSTUDIO

The Ultimate Guide to ETM Instruction Tracing [Cortex-M debugging]

Posted by Magnus Unemyr on Nov 18, 2016 8:15:00 AM

Embedded developers can use a plethora of debugging technologies to solve their problems. But for the most difficult of bugs, there is one option in particular that many seasoned developers turn to - ETM instruction tracing. This is the "heavy guns" of debugging.

Read this blog post to learn more on ETM instruction tracing.

Read More

Topics: Debugging

How to use the most powerful debug techniques on ARM Cortex-M devices [SWV]

Posted by Magnus Unemyr on Nov 16, 2016 3:50:22 PM

While developing embedded software, you will introduce hard-to-find bugs sooner or later. We all think we won't, but most of us are wrong - we all do it. This is when you need a few tricks up your sleeves. You need professional debug capabilities, like SWV.

Serial Wire Viewer (SWV) real-time event- and data tracing are among the most valuable debugging techniques a Cortex-M developer can use. So useful, in fact, that I have written many blog posts on how to use SWV for debugging. To make it easier to find those blog posts, I took the time to list them all here, along with some annotations.

Read More

Topics: Debugging, Atollic TrueSTUDIO

How to use the TOPPERS RTOS with the mbed/Arduino library and Atollic TrueSTUDIO on Renesas RZ/A1H [Cortex-A9]

Posted by Magnus Unemyr on Nov 14, 2016 8:17:12 AM

TOPPERS is a Japanese uITRON-compliant open-source RTOS with many advanced capabilities. In this blog post, I highlight an application note outlining how to develop ARM Cortex-A9 applications for the TOPPERS/ASP RTOS and the GR-PEACH board (with Renesas RZ/A1H), using the Atollic TrueSTUDIO C/C++ IDE.

Read this blog post to find out more!

Read More

The Ultimate Guide to Reducing Code-size With GNU GCC for ARM Cortex-M

Posted by Magnus Unemyr on Nov 10, 2016 11:43:30 AM

The embedded industry has been talking about code size for decades. In particular, this discussion has applied to microcontroller compilers. Nowadays, more or less every C/C++ compiler on the market is very good at optimizations, and differences in code-size are pretty minimal in most cases.

Additionally, different compilers produce different results dependent on what source code you feed into it. And so, one compiler that beats the competition for one set of source code files may see itself beaten by another compiler for another set of source code files. But even so, there might be times when you want to optimize the code-size as much as possible. Read this blog post to learn how to do this with the GNU GCC C/C++ compiler for ARM Cortex-M!

Read More

Topics: GNU tools (GCC/GDB)

How to instrument the memory manager of your embedded system

Posted by Magnus Unemyr on Nov 3, 2016 8:30:00 AM

Many embedded developers do not use dynamic memory allocation; i.e. malloc() and free(). While there might be many reasons to use only statically allocated data structures - or your own memory manager, for that matter - there are still embedded developers using dynamic memory management. Some runtime library functions, like the full-blown printf(), use dynamic memory allocation internally too.

Part of the problem is malloc() and free() are pretty much black boxes – you don’t really have a lot of insights into how the memory is being used. A small hack can improve the situation. In this blog post, you will learn how to get analytics data out of the dynamic memory manager that comes with the GNU C/C++ compiler of Atollic TrueSTUDIO.

Read More

Topics: GNU tools (GCC/GDB)

Are some embedded developers on the dark side?

Posted by Magnus Unemyr on Nov 2, 2016 8:30:00 AM

Embedded developers have personal preferences on how their IDE should be configured. This applies to many aspects of the IDE's look and feel, including the color scheme being used. In particular, many developers seems to prefer a dark IDE background when editing the source code.

Atollic TrueSTUDIO ships with a dark theme that can optionally be enabled. Some developers think a dark window background gives a better contrast that is easier on the eyes. If you spend full working-days in front of your IDE, the ergonomics is pretty important. Read this blog post to learn how to enable the dark mode and save your eyes.

Read More

Topics: Atollic TrueSTUDIO

Extend your embedded ARM C/C++ IDE with additional features [more power to developers!]

Posted by Magnus Unemyr on Nov 1, 2016 8:30:00 AM

Modern IDE’s are very powerful, and the best-of-breed ARM development tools are no exception. Tools like Atollic TrueSTUDIO include not only features for editing, compilation and debugging, but also team collaboration features like code review, bug tracking or version control. But still, you may have particular needs that only apply to you – or a very small subset of all ARM developers.

If you have been smart enough to use an ARM IDE that is based on open standards (such as Eclipse), you can easily extend the IDE with additional features – say for example requirements management clients, UML graphical modeling, or admin panels for your nightly-build continuous integration server. Learn how in this blog post!

Read More

Topics: ECLIPSE, Atollic TrueSTUDIO

Do embedded developers need to worry more about security now? [in the after-math of the Dyn DDoS attack]

Posted by Magnus Unemyr on Oct 31, 2016 8:30:00 AM

Internet security has been a focused area for PC’s and servers during the past two decades, if not more. So far, most embedded systems haven’t been connected to the Internet, and so Internet security has not been such a major problem for embedded developers. Up till now.

Internet of Things is exploding, with billions of Internet-connected devices predicted in the near future. A major security incident caused by an IoT product was only waiting to happen. And the first major security threat on a global scale - caused by IoT devices - may have been seen last week.

Read More

Topics: Embedded Software Development

Why every Cortex-M developer should consider using a bootloader

Posted by Magnus Unemyr on Oct 28, 2016 8:30:00 AM

Many embedded systems are statically configured, i.e. the software cannot be easily upgraded once delivered. This can cause all sorts of problems. It is clearly very useful if the software can be upgraded “in-the-field”, preferably by the end-user himself.

Consider, for example, a situation where you find critical bugs. Or you need to make security upgrades. Or just add new features. It is very inconvenient to make a large-scale product recall. Having a bootloader in your product is the way to go to overcome these problems. But how do you create a bootloader in an ARM Cortex-M system? This blog post explains how.

Read More

Topics: Embedded Software Development, System design concepts