In part 1, we explained the main purpose of a linker: to put pieces of object code together into a single executable file. In this second and final part, we will discuss how we can control and adjust this process using linker scripts.
“Almost-Scrum” or what is also known more generally speaking as the Avalanche Model is not a good project approach to find yourself in with your development team. On Wiki you’ll find the following description: “The Avalanche model is a Software Engineering project management anti-pattern, it is a combination of a sequential process such as the […]
Transforming source code into an executable program involves a number of steps called a software build process. In its simplest form, these steps are limited to a compiler translating source code written in a high-level programming language (such as C) into low-level object code, and a linker combining the object code into a single executable […]
Recently we were involved in improving boot-up times of a Linux based platform. We noticed that the boot-up time was much longer than expected based on the processor speed. The only way to figure out what was happening was to profile the start-up procedure. Something that is not always easy on limited embedded platforms like […]
If you wish to boost your performance as a developer by a non-trivial factor then here are three ways to help you achieve this: loosely couple automate testing automate delivery I saw people -myself included- that started applying these rules and went from being unproductive and frustrated about coding, to being productive and in control […]
Implementing functional safety by means of achieving a certain safety integrity level (SIL) is a matter of reducing risks. On the software side this results among other things in the adoption of a language subset, which often is a required SIL parameter. As C and, to a lesser extent, C++ are popular programming languages for developing embedded software, a […]