Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Embarcados
• Projetistas de software empregam várias ferramentas durante o
ciclo de desenvolvimento de um software
• E.g.: editores, compiladores, ligadores, interpretadores,
depuradores, analisadores de traços (profilers) etc
• Ambientes de desenvolvimento integram várias ferramentas
Ferramentas de desenvolvimento • e.g.: visual C++, eclipse, .Net etc
GNU toolchain • Sistemas embarcados tem a mesma característica
• Diferença: as ferramentas executam em uma plataforma enquanto
as aplicações se destinam a outra
• Desenvolvimento cruzado (cross-development)
Aula 07
INF01059 - Sistemas Embarcados 2
fonte
Linguagem Código assembly
intermediária (dependente de arquitetura)
• Necessidade de um editor
fonte
• Biblioteca (glibc)
- Retirada comentários Arquivo C
- Diretivas de compilação intermediário Código assembly
- Expansão de macros (dependente de arquitetura)
http://www.gnu.org/software/gdb/documentation/
• Coleção de ferramentas de programação para manipulação • Conjunto de ferramentas para auxiliar o desenvolvimento e o
de código objeto em vários formatos porte de aplicações (entre sistemas Unix)
ferramenta Descrição sumária ferramenta Descrição sumária
• Inclui:
as assembler objcopy Copia arq. objetos • GNU autoconf
ld linker objdump Informações sobre arq.
arq objetos • Usado p para ggerar arquivos
q de configuração
g ç p para makefiles
gprof profiler ranlib Gera índices para arquivos • GNU automake
addr2line Traduz end. Para arquivos e linhas readlf Visualiza arquivos ELF • Auxilia a criação de arquivos makefiles portáveis
ar Cria, modifica, extrai arquivos size Lista seções e tamanhos de
• GNU libtool
c++filter Filtros para simbolos C++
objetos • Permite a criação de bibliotecas estáticas e dinâmicas
strings Lista strings de arq. objetos
dlltool Criação de bibliotecas dinâmicas
• GNU portability library (Gnulib)
strip Remove tabela de símbolos
(windows) • Coleção de rotinas projetadas para serem usadas em vários
nlmconv Conversor de formato windmc Mensagens de recursos windows sistemas operacionais
nm Lista símbolos de arq. objetos windres Compila arq. recursos windows
• Dependências entre as ferramentas • Gerar um compilador gcc simples, que não precise usar a libc
• Compilador bootstrap
binutils • Gerar a glibc com o compilador bootstrap
• Compilar o compilador ☺ usando a glibc
• Lembrete: o compilador é um programa e como tal se compila
gcc glibc
Depende de
• binutils é independente dos demais e necessário para estes
binutils gcc
• Fácil: é o prìmeiro a ser gerado
Depende de
• gcc e glibc (ou similar): problema do ovo e da galinha! Depende de Depende de
glibc uClibc