Safety-certified tools Tools for Automotive Applications C-STAT Static analysis C-RUN Runtime analysis Debugging and trace probes Build tools for Linux
IAR Systems has debug probes that can both measure power consumption and collect execution trace data. This thesis investigated how to combine the capabilities of the probes with signal processing and a consumption model to compute the power consumption of individual system parts.
This thesis was about implementing a parser-generator that generated a packrat parser and compare the performance with the currently used parser-generators at IAR Systems.
Implementation of an execution history that entails decoding and analyzing a recorded instruction trace, and in particular the design and implementation of a data structure which can encapsulate the entire state of the target system, including memory and registers, over time, and to do this efficiently because the trace buffer can contain data for hundreds of thousands of instructions.
Typically, initialized data is copied from ROM to RAM during system startup. This thesis investigated different compression algorithms where the initialized data was compressed by the linker and then decompressed by the system startup code (assuming compressed size + size of decompressor < uncompressed size).
The amount of stack space that a function uses is quite important in an embedded system where resources typically are constrained. This thesis investigated a method of reducing stack usage where variables can share space on the stack.
Many algorithms for global instruction scheduling (scheduling that crosses base block boundaries) result in code being duplicated between various base blocks. Because memory is strictly constrained in embedded systems, some algorithms that do not duplicate code were examined, to see if the code size could be less affected.