The thesis addresses the optimization of code size on embedded systems. In the introduction, the importance and motivation for this topic, the goals and hypotheses of the thesis are presented. In the second chapter, the ARM GNU toolchain, which is used for development and optimization of software, is described. In the third chapter, the requirements and constraints of embedded systems, which affect the choice of optimization techniques and tools, are analyzed. In the fourth chapter, the methodology of code size optimization using the ARM GNU toolchain is presented. In the fifth chapter, experiments are performed, where the same program, written in C programming language and in ARM assembly language, is compared. The program is a simple automatic system for watering flowers. The code written in C is optimized with optimization flags of the ARM GNU compiler. The optimizations are analyzed and shown with a control flow graph (CFG). Then, the size of the binary file, obtained from the optimized C code and from the assembly code, is compared. The hypothesis of the thesis is that the optimized C code will be smaller in size than the ARM assembly code. In the last chapter, the results, discussion and conclusion of the thesis are presented.
|