DocumentCode
3488338
Title
A LLVM Based Development Environment for Embedded Systems Software Targeting the RISCO Processor
Author
Vilela, G. ; Correa, E. ; Kreutz, Marcio
Author_Institution
Dept. de Inf. e Mat. Aplic., Univ. Fed. do Rio Grande do Norte, Natal, Brazil
fYear
2012
fDate
5-7 Nov. 2012
Firstpage
77
Lastpage
82
Abstract
In this paper we describe the design and implementation of a compilation and code analysis toolchain for embedded systems software targeting the RISCO processor, using the LLVM project. Small systems embedded in a larger device are by far the most common kind of computational system in use today, deployed in various types of equipments. Because of their nature, an embedded system presents interesting size, efficiency and energy consumption restrictions, among others, that impose unique challenges on a project. In that scenario, the RISCO processor, a RISC architecture similar to MIPS, was created as a simple, efficient, processor that could prove to be a practical alternative to the available commercial options in its price range. The toolchain we developed permit the development, simulation and analysis of software in C and C++ for the RISCO platform, with open source tools. Besides compiling and executing high level code, the environment supports emitting control flow graphs for each module, enabling further analysis. As a case study on using CFGs and generated machine code information we developed a worst case execution time analysis tool for RISCO code. We discuss the scope of the tools, the design decisions involved in the development of the compilation and analysis system, and the results obtained through testing.
Keywords
embedded systems; power aware computing; program compilers; program diagnostics; public domain software; reduced instruction set computing; C; C++; CFG; LLVM based development environment; MIPS; RISC architecture; RISCO processor; code analysis toolchain; compilation analysis toolchain; design decisions; embedded systems software; energy consumption restrictions; machine code information; open source tools; Assembly; Embedded systems; Optimization; Reduced instruction set computing; Registers; Testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Computing System Engineering (SBESC), 2012 Brazilian Symposium on
Conference_Location
Natal
ISSN
2324-7886
Print_ISBN
978-1-4673-5747-0
Type
conf
DOI
10.1109/SBESC.2012.23
Filename
6473636
Link To Document