Resumo: Sistemas embarcados apresentam severas restrições quanto a quantidade de memória, energia disponível e capacidade de processamento. Sendo assim, um software desenvolvido para esse tipo de sistema deve apresentar todas as suas funcionalidades com o mínimo possível de quantidade de código. Isso pode ser conseguido a partir do uso de um compilador que favoreça estas características. Este trabalho de dissertação lida com o desafio de propor um toolchain para auxílio ao desenvolvimento de software para o processador UNB-RISC16, que será utilizado em sistemas embarcados. O conjunto de componentes utilizados para definir o toolchain proposto, inclui a ferramenta GCC para geração de código otimizado, um montador para geração do código objeto, um viculador para produção de código binário executável, e a ferramenta r16-EPROF para simulação e estimativa do consumo de energia despendida por uma aplicação executada pelo processador UNB-RISC16.
Abstract: Embedded systems have severe restrictions on the amount of memory, available energy and processing capacity. Thus, a software developed for this type of system should provide all its functionality with the least possible amount of code. This can be achieved through the use of a compiler that fosters these characteristics. This dissertation deals with the challenge of proposing a toolchain to aid the development of software for the UNB-RISC16 processor, which will be used in embedded systems. The set of components used to set the proposed toolchain includes the GCC tool for generating optimized code, an assembler to create the object code, a linker to produce a binary executable code, and the R16-EPROF tool for simulation and estimation of energy expended by an application executed by the UNB-RISC16 processor. |