Programming for Embedded Systems: Porting vs. Abstraction

Sep 25, 2023Articles

In this two part article we will look at the differences between porting and abstracting code with the purpose of helping you understand why and when to use each method. In the case where you need your code to execute on multiple embedded operating systems (platforms), it is almost guaranteed that you will need to adjust your code for each platform. Each platform has its own system call interface (or software development kit) that is accessed through code using differing protocols, sometimes even for the same functionality. In other cases, your target platform may not include certain functionality or may include additional functionality that could be used to enhance your platform.


Most embedded systems have tight memory constraints. You must determine how much memory your embedded system allows (i.e. how much and what type of RAM is supported). Then, there are two factors to consider 1) what memory is required by the RTOS itself and 2) how much memory your application requires. For the second factor, you may need to utilize an RTOS simulator (most RTOSs come with one) to gain an accurate estimation, which is especially important if you are working with a severely
limited system.


For more information: Contact Us

Explore Products


OS Changer

Programming Language Changer

Hardware/OS Support

Try or Buy

Trial Software

Contact Sales

Installation Help


Get Support

Support Portal


Technical Data




News Room

Contact Us