Wednesday, August 16, 2017

As well as debugging tools which operate via a JTAG probe, and debuggers based on gdb, a number of other techniques are available to help identify run-time issues, also without any significant impact on system performance. These techniques can be used for example to detect memory leaks and related access violations (such as over-running a memory buffer), or to provide detailed kernel-level tracing of task scheduling, interrupts and system calls. These methods can be used either to pinpoint specific run-time errors or to analyse system performance and bottlenecks.

Due to the open source nature of Linux, many teams and many individuals will contribute towards any given port of the kernel for a particular processor. As a result, these different ports will often be at different levels of maturity (especially on the current release), and functionality on one processor will not necessarily imply identical functionality on another. Considerable benefit can therefore be gained by performing standard 'compliance' tests on an embedded Linux system. The results can then be used to identify potential problem areas, and can be used a baseline should further patching or re-configuring of the kernel occur at a later date.

Also becoming increasingly important in embedded Linux systems - especially network-enabled systems - is security against malicious attacks. Use of an appropriate 'scanner' tool can help identify flawed software components or insecure system configuration.