A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Sistemas Embarcados 2006.2 Aula 5: Um Conjunto Básico de Ferramentas.

Apresentações semelhantes


Apresentação em tema: "Engenharia de Sistemas Embarcados 2006.2 Aula 5: Um Conjunto Básico de Ferramentas."— Transcrição da apresentação:

1 Engenharia de Sistemas Embarcados 2006.2 Aula 5: Um Conjunto Básico de Ferramentas

2 2006.2Engenharia de Sistemas Embarcados2 Um Conjunto Basico de Ferramentas Projeto de Software Embarcado –Projetista quase nunca desenvolvem e testam programas na mesma maquina –Pelo menos teste e debug deve acontecer enquanto o sistema está sendo executado na arquitetura alvo –Arquitetura alvo quase nunca inclui a capacidade de armazenamento ou desempenho para suportar um ambiente de desenvolvimento típico – Mesmo quando suporta é provável que o sistema operacional executado é mínimo e suportada por poucos ou nenhuma ferramenta.

3 2006.2Engenharia de Sistemas Embarcados3 Um Conjunto Basico de Ferramentas Ferramentas especiais para integração do sistema –Residentes na plataforma de desenvolvimento –Permitem o debug na arquitetura alvo Características mínimas –Proporcionar um controle conveniente para na arquitetura alvo –Permitir a substituição da imagem de código na arquitetura alvo –Permitir monitoramento não intrusivo, em tempo real da execução do programa na arquitetura alvo

4 2006.2Engenharia de Sistemas Embarcados4 Um Conjunto Basico de Ferramentas Conjunto mínimo de baixo custo –Kernel de debug –Analizador lógico Conjunto extendido –Emulador de ROM para permitir mudanças rápidas de código na arquitetura alvo Esta aula –Por que estas ferramentas são necessárias? –Como elas trabalham? –O que elas fazem?

5 2006.2Engenharia de Sistemas Embarcados5 Debug Baseado no Host Código C/C++ pode ser debugado no host desde que: –Diferenças mínimas sejam observadas (tamanho da palavra e ordem dos bytes) –Utilização de um simulador de conjunto de instruções (Instruction Set Simulator – ISS) Características da arquitetura: Tamanho da palavra –Host 32 bits de dado e alvo 16 bits de dado –Host ~2 bilhões de possíveis valores enquanto alvo ~32 mil valores –Valores maiores que os aceitáveis pela arquitetura alvo não serão detectados no PC

6 2006.2Engenharia de Sistemas Embarcados6 Debug Baseado no Host Características da arquitetura: Ordenamento dos Bytes –Dois tipos de ordenamento: Little Endian e Big Endian S T R I N G 7 0 Memória com largura de 8 bits T I G 15 8 S R N 7 0 Memória com largura de 16 bits Litte Endian S R N 15 8 T I G 7 0 Memória com largura de 16 bits Big Endian

7 2006.2Engenharia de Sistemas Embarcados7 Ordenamento de Bytes Little Endian –Alinhado com o final de baixa ordem –Exemplo: arquitetura intel x86 Big Endian –Alinhado com o final de alta ordem –Exemplo: arquitetura Motorola 68K O problema também acontece em arquiteturas de 32 bits? Como? Solução para o problema –Utilização de um ISS

8 2006.2Engenharia de Sistemas Embarcados8 Depuradores Remotos e Kernel de Depuração Plataformas embarcadas –Recursos limitados –Especializadas –Não possuem suporte para depuração completa Solução –Utilização de depurador distribuído –Parte do depurador executa na plataforma alvo –Parte do depurador executa no PC –Comunicação entre as partes do depurador feita através de canal de comunicação: Porta serial Porta ethernet

9 2006.2Engenharia de Sistemas Embarcados9 Depuradores Remotos e Kernel de Depuração Kernel de Depuração –Parte do depurador que executa na plataforma alvo Front End de Depuração –Parte do depurador que executa no PC –Interface gráfica

10 2006.2Engenharia de Sistemas Embarcados10 Depuradores Remotos e Kernel de Depuração Serviços de execução providos pelo depurador –Definição de breakpoints –Carregar programas a partir do host –Visualização e modificação da memória e registradores –Execução a partir de um endereço –Execução passo a passo do processador Requisitos da arquitetura alvo –Vetor de interrupção –Interrupção de software Vetor de interrupção da porta serial –Execução da ISR da porta serial –Ponto de entrada para o depurador

11 2006.2Engenharia de Sistemas Embarcados11 Kernel de Depuração no Sistema Alvo Power On Reset Code Serial Port ISR Debug Kernel Application Program Software Debug Trap Vector Serial Port Int. Vector Arquitetura Alvo Host (Depurador) arquivos fonte arquivos objeto Tabelas de símbolos Arquivos de referência Particionamento de código da ROM do sistema

12 2006.2Engenharia de Sistemas Embarcados12 Implementando Breakpoints Imagem do Código em Memória: antes....... instrução n - 1 instrução n instrução n + 1....... Quer colocar breakpoint aqui Imagem do Código em Memória: depois....... instrução n – 1 vetor de trap para ponto de entrada do depurador instrução n + 1....... instrução n Depurador insere vetor de trap no lugar da instrução Movida para a base de dados do depurador

13 2006.2Engenharia de Sistemas Embarcados13 Vantagens e Desvantagens do Kernel de Depuração Vantagens –Baixo custo –Mesmo depurador pode ser utilizado com kernel remoto ou no host –Provê a maioria dos serviços de software que o projetista precisa –Basta um simples link de comunicação serial –Pode ser utilizado com porta serial virtual –Pode ser linkado com código do usuário para serviço em campo e ISR –Boa opção para desenvolvimento de código quando o hardware é estável –Pode ser facilmente integrado ao ambiente de desenvolvimento Desvantagens –Depende de um subsistema de memória estável e não é adequado para integração inicial de hardware e software –Não é de tempo real –Precisa que a arquitetura alvo possua serviços adicionais o que nem sempre é possível –Pode ser que o depurador não tenha sempre o controle do sistema e também depende que o código seja bem comportado.

14 2006.2Engenharia de Sistemas Embarcados14 Emulador de ROM Responsabilidade mínima do emulador de ROM –Permitir ao usuário a facilidade de carregar rapidamente novas imagens de objetos de código para serem executadas na arquitetura alvo Tempo de ciclo –Intervalo de tempo entre o ponto de descoberta de um bug com o depurador, passando pelo processo de editar- compilar-assemblar-linkar-carregar até que se possa depurar novamente –Pode ser bastante longo para imagens grandes de código

15 2006.2Engenharia de Sistemas Embarcados15 Emulador de ROM Elementos de um emulador de ROM –Dispositivos de cabeamento –RAM rápida para substituir a ROM no sistema alvo –Processador de controle local –Portas de comunicação com o host –Características adicionais Trace de memória Algoritmos de programação de flash

16 2006.2Engenharia de Sistemas Embarcados16 Emulador de ROM

17 2006.2Engenharia de Sistemas Embarcados17 Emulador de ROM Emulador de ROM é baseado em RAM na realidade –Breakpoint pode ser inserido no código contido na memória de emulação –Pode ser utilizado para criar canais de comunicação virtuais Quando recurso de comunicação (USART) já está sendo utilizado pela aplicação Limitações –Não é adequado para os primeiros estágios de integração hardware/software –Por que?

18 2006.2Engenharia de Sistemas Embarcados18 Vantagens e Desvantagens do Emulador de ROM Vantagens Baixo custo Ferramenta genérica, compatível com vários tipos de memória Pode carregar grandes blocos de código em alta velocidade Meio mais efetivo em custo para suportar grandes quantidades de memória RAM de substituição

19 2006.2Engenharia de Sistemas Embarcados19 Vantagens e Desvantagens do Emulador de ROM Pode fazer trace de atividade código em tempo real Provê canais de comunicação virtual (UART) Pode ser integrado a outras ferramentas de desenvolvimento de hardware/software como depuradores comerciais Pode definir breakpoints em ROM Desvantagens Precisa que a memória do sistema alvo esteja estável Realizável apenas se o código embarcado está contido em memórias ROM padrão e não ASIC ou no microcontrolador Trace em tempo real só possível se o programa executa fora da ROM (memória RAM) Muitos alvos transferem código para RAM por razões de desempenho

20 2006.2Engenharia de Sistemas Embarcados20 Intrusão e Depuração em Tempo Real Sistema tempo real  procedimentos invasivos do sistema podem implicar em problemas Kernel de depuração é altamente invasivo. Por que? Intrusão  modificação do comportamento do sistema devido à presença de uma ferramenta Minimizando a intrusão –Ferramenta não deve interferir na relação entre os elementos do sistema Processador Memória Software de aplicação Requisitos de tempo real

21 2006.2Engenharia de Sistemas Embarcados21 Analisador Lógico Ferramenta poderosa para análise de sinais digitais Dois modos de operação –Temporização –Estado

22 2006.2Engenharia de Sistemas Embarcados22 Analisador Lógico

23 2006.2Engenharia de Sistemas Embarcados23 Modo de Operação Temporização –Utiliza clock interno de alta velocidade –Permite visualizar cada um dos sinais nos pinos do circuito –Interessante para o engenheiro de hardware Estado –Utilizado para se capturar o estado do processador –Objetivo é visualizar os dados que fornecem informações relevantes para o processador –Informação de temporização é perdida


Carregar ppt "Engenharia de Sistemas Embarcados 2006.2 Aula 5: Um Conjunto Básico de Ferramentas."

Apresentações semelhantes


Anúncios Google