Depuração JTAG com LPC1768- (Parte 3/21)

O processo de resolução de bugs ou defeitos que interferem no bom funcionamento de um software de computador ou sistema operacional é conhecido como Depuração. Este artigo trata da configuração e uso de um depurador JTAG com microcontrolador ARM Cortex M3. Para configurar o Ambiente para o desenvolvimento do ARM córtex M3 consulte este artigo.

O LPC 1768 é um microcontrolador baseado em ARM Cortex-M3 para recursos de aplicação embarcados com baixo consumo de energia e alto nível de integração. O ARM Cortex M3 foi projetado de forma a aprimorar os recursos de depuração e um nível mais alto de integração do sistema. Ele funciona a uma frequência de CPU de 100 MHz e incorpora um pipeline de 3 estágios e usa uma arquitetura Harvard com instruções locais separadas e barramentos de dados para periféricos de terceiro barramento. A CPU ARM Cortex-M3 possui uma unidade interna de pré-busca para suportar ramificações especulativas. Os componentes periféricos incluem 512 KB de memória flash, 64 KB de memória de dados, Ethernet MAC, USB OTG, 4 UARTs, controlador DMA de uso geral de 8 canais, 2 controladores SSP, DAC de 10 bits, interface de codificador de quadratura, interface SPI, 3 barramentos I2C interface, interface de barramento I2S de 2 entradas mais 2 saídas, 4 temporizadores de uso geral, relógio em tempo real (RTC) de consumo ultrabaixo com fonte de bateria separada e até 70 pinos de E/S de uso geral, PWM de uso geral de 6 saídas. Os LPC1768/66/65/64 são compatíveis com os pinos da série de microcontroladores baseados em LPC236x ARM7 de 100 pinos.

Os seguintes componentes são usados ​​neste tutorial:

  1. Depurador – Sua escolha

  2. Controlador/placa – LPC1768/Explore Cortex M3

  3. IDE/Compilador – Keil

Como é sabido, o JTAG pode ser usado para programar e depurar o controlador. O principal uso do JTAG é quando você precisa trabalhar em uma lista enorme de códigos. Ele pode ser usado para adicionar pontos de etapa e de interrupção em todo o código. A imagem abaixo mostra o diagrama de pinos do Explore ARM Cortex M3 (LPC1768). Possui um conector JTAG ARM de 20 pinos.

Conectando o hardware:

Diagrama de pinos do Explore ARM Cortex M3 LPC1768

Fig. 1: Diagrama de pinos do Explore ARM Cortex M3 LPC1768

Deve-se observar que conectar o depurador à placa não irá ligá-lo. Um adaptador de energia externo precisa ser conectado à placa. Depois que o hardware estiver configurado, podemos passar para a parte do software.

Selecionando o depurador

  • Clique na aba Projetos e depois em “Opções para Target” (ATL + F7)

  • Clique na aba “Depurar”

  • A seleção padrão é “Simulador”. Altere a seleção para “Nome do seu depurador”.

  • Clique em “OK” para prosseguir

Selecionando o depurador

Fig. 2: Selecionando o depurador

Opções de depuração para NXP LPC1768:

Agora, selecione a guia Depurar. No painel direito da janela atual, você encontrará um botão de opção chamado “Usar”. Na lista suspensa, selecione o nome do depurador que você está usando.

Opções de depuração para NXP LPC1768

Fig. 3: Opções de depuração para NXP LPC1768

Opção de utilitários para o NXP LPC1768:

Clique na guia “Utilitários” e você verá uma janela conforme mostrado abaixo.

Opção de utilitários para o NXP LPC1768

Fig. 4: Opção de utilitários para o NXP LPC1768

Selecione o mesmo depurador escolhido na janela anterior. O botão “Configurações” nesta janela mostrará as mesmas opções da janela Debug. É altamente recomendável que as opções Debug e Utilities sejam configuradas antes de prosseguir para “Configurações”.

Configurações de depuração/utilitários usando o NXP LPC1768:

Clique na tecla “Configurações” e confirme a aba Debug para obter a janela conforme mostrado abaixo.

Configurações de depuração/utilitários usando o NXP LPC1768

Fig. 5: Configurações de depuração/utilitários usando o NXP LPC1768

Notas:

  • As configurações nas guias “Depuração” e “Utilitários” precisam ser definidas antes de confirmar as configurações.

  • O link e o destino devem estar presentes para ver essas opções.

  • A opção “Stop after Bootloader” deve ser escolhida.

Opções de download de Flash para o NXP LPC1768:

Na guia “Flash Download”, confirme as opções conforme mostrado abaixo. Se desejar, marque a caixa de seleção “Redefinir e executar”.

Opções de download de Flash para NXP LPC1768

Fig. 6: Opções de download de Flash para o NXP LPC1768

Se o espaço em “Algoritmo de Programação” estiver em branco, selecione “ADD” e selecione um nome na lista exibida abaixo.

Programas de depuração:

Invocar o depurador

  1. Clique na Lupa na barra de ferramentas.

Ícone de ativação/desativação de depuração

  1. Caso o modo “EVALUATION” do MDK esteja sendo utilizado, a mensagem mostrada abaixo aparecerá. Clique em “OK”.

Caixa de diálogo Modo de avaliação

Fig. 7: Caixa de diálogo do modo de avaliação

Mensagem com avaliação MDK

3.O Depurador executará as seguintes etapas:

.Apague o flash

.Baixe o código

.Reinicialize o microcontrolador e execute para o endereço Reset_Handler ou “main” dependendo das opções que foram definidas na configuração. Um possível log da janela será mostrado abaixo:

Log de comando ao invocar o depurador

Fig. 8: Log de comando ao invocar o depurador

Log de comando ao invocar o depurador

4.Em seguida, a tela de depuração aparecerá.

Opções de execução do depurador

Fig. 10: Opções de execução do depurador

Opções de execução do depurador

Existem 7 opções de execução:

  1. Redefinir microcontrolador

  2. Execute o microcontrolador normalmente

  3. Pare de depurar

  4. Passo único, uma instrução de cada vez

  5. Pular funções

  6. Sair das funções

  7. Corra para o cursor

Uma sessão de depuração típica pode consistir nas seguintes etapas:

  1. Entre no modo Debug – o depurador será executado no endereço Reset_Handler (ou “main” se selecionado na configuração)

  2. Clique no cursor em uma linha do código-fonte para iniciar a investigação

  3. Clique no 7º opção para executar o programa no cursor. Todas as alterações de registro serão destacadas.

  4. Clique no ícone Central para executar o código em uma única etapa, conforme necessário.

  5. Se a etapa única entrar em um loop, use o 6º chave para sair dessa função.

  6. Se não for necessária uma investigação mais aprofundada, use a segunda chave para correr a toda velocidade.

  7. Para parar, use o 3terceiro chave.

  8. Para reiniciar toda a sequência, use a primeira tecla

  9. Para sair da sessão de depuração, selecione a lupa que está presente na barra de ferramentas principal.

Pontos de interrupção

Fig. 11: Ícones de ponto de interrupção

Existem 4 ícones de pontos de interrupção:

  1. Coloque um ponto de interrupção na posição atual do cursor. Isso será mostrado como um ponto vermelho.

  2. Um programa em execução irá parar no ponto de interrupção

  3. Se o ponto de interrupção estiver em loop reiniciando o programa, ele irá parar no ponto de interrupção na próxima passagem.

  4. Alternar: desabilitar/reativar um ponto de interrupção no cursor. Os pontos de interrupção desativados serão representados como um círculo aberto.

  5. Desative todos os pontos de interrupção: eles serão representados como círculos abertos. Eles podem ser reativados individualmente.

  6. Elimine todos os pontos de interrupção: todas as posições dos pontos de interrupção serão removidas.

Janela de observação

Várias janelas podem ser ativadas ou desativadas usando os ícones da barra de ferramentas.

Fig. 12: Opções para depurador no Windows

Opções de exibição do Windows para o depurador

As janelas que podem ser habilitadas ou desabilitadas são:

  1. Janela de comando. (Mostrado por padrão)

  2. Janela de desmontagem. (Mostrado por padrão)

  3. Janela de símbolos (oculta por padrão)

  4. Janela de registro (exibida por padrão)

  5. Janela de pilha de chamadas (exibida por padrão)

  6. Janelas de observação (ocultas por padrão)

  7. Janelas de memória (mostradas por padrão)

Notas:

  • Quando Pilha de chamadas, Memória e Observação estão ativados, eles aparecerão no painel inferior direito.

  • Quando selecionado, a janela de símbolos aparecerá conforme mostrado abaixo:

Janela de símbolos

Fig. 13: Janela de Símbolos

Diagramas de circuito

JTAG-Depuração-Com-LPC1768

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.