Técnicas de Debugging com o ICE™ In-Circuit Emulator
Post on 17-Nov-2014
239 Views
Preview:
DESCRIPTION
Transcript
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 1
Técnicas de Debugging com o ICE™ In-Circuit Emulator
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 2
Objetivos da Aula
Nesta aula você irá:� Aprender a usar o emulador MPLAB ®
REAL ICE ™ em seus projetos; � Entender a capacidade de depuração
do emulador MPLAB ® REAL ICE;� Aprender os recursos avançados
como breakpoints avançados, breakpoints de software, runtimewatches e trace;
� Aprender dicas e truques.
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 3
Roteiro
� Visão Geral do Sistema� Debugging Básico� Recursos Avançados� Trace� Problemas Comuns� Dicas & Truques� Resumo
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 4
O que é o Emulador MPLAB® REAL ICE™?
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 5
Sistema MPLAB® REAL ICE™
� Ferramenta Flagship que auxilia no desenvolvimento e depuração de sua aplicação.
� Faz o intermédio entre o target e o MPLAB IDE
� Comunica com o periférico on-chip emulation do componente
� Depuração Rápida
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 6
Emulador MPLAB® REAL ICE™
� MPLAB REAL ICE Emulator (DV244005)� RJ45 Driver Board and Cable � Logic Probe Leads� Self-test Board
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 7
High Speed Performance Pak(AC244002)
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 8
MPLAB® REAL ICE™Processor Packs
� Necessárias para dispositivos com poucos pinos ou dispositivos de baixo custo
� Usado quando cada pino é crítico� Usado para funções adicionais e /
ou menos recursos usados
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 9
Características Básicas
� Integração perfeita com o MPLAB ®IDE
� Pode der o programador durante o desenvolvimento
� Breakpoints� Janela de inspeção de variáveis� Controle do Programa
� Run� Halt� Single Step
� Animate� Step Over� Reset
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 10
Sistema MPLAB® REAL ICE™
Recursos avançados� Runtime watches� DMCI – Data Monitoring and Control
Interface� Trace� Stopwatch� Advanced breakpoints� Logic probes
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 11
Emulador MPLAB® REAL ICE™ vsEmulador típico
Vantagens em relação a emuladores típicos� Actual silicon� Trabalha no sistema� Permite a depuração ao final do ciclo
de desenvolvimento� Alta velocidade de emulação com
baixo custo
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 12
Debugging Básico
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 13
Métodos de Conexão
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 14
Instalação Elétrica
MPLABMPLAB®® REAL ICEREAL ICE™™ EmulatorEmulator
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 15
Erros comuns
EmuladorEmulador MPLABMPLAB®® REAL ICEREAL ICE™™
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 16
Configurações de Debugging
� Oscilador� Configurações � Velocidade de Depuração � Confirmar a atividade do oscilador� Recomendação: testar inicialmente
com configuração de oscilador interno
� Setup de configurações conflitantes
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 17
Objetivos do Demo 1
� Workspace do MPLAB® IDE� Conectar, Compilar, Programar� Run, Halt� Breakpoints� Watch Window, File Registers,
Mouseovers� Single Step, Animate, Step Over, Set
PC� Settings…->Freeze
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 18
Demo 1: Breakpoints
� Para quando� Contador de Programa = Endereço de
Breakpoint� Os recursos de hardware estão
no microcontrollador� Número Limitado� “Escorregamento” (Skid) graças
ao método de comparação
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 19
Demo 1: Objetivos
� Workspace do MPLAB® IDE� Conectar, Compilar, Programar� Run, Halt� Breakpoints� Watch Window, File Registers,
Mouseovers� Single Step, Animate, Step Over, Set
PC� Settings…->Freeze
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 20
Demo 1: Resumo
� Workspace do MPLAB® IDE� Conectar, Compilar, Programar� Run, Halt� Breakpoints� Watch Window, File Registers,
Mouseovers� Single Step, Animate, Step Over, Set
PC� Settings…->Freeze
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 21
Considerações dos dispositivos
� Cada família possui requisitos próprios para depuração
� Limitações encontradas na ajuda on-line
� Use a caixa de seleção noMPLAB® IDE
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 22
Resumo
� Checar conexões físicas � Configurações do oscilador � Definições de configuração � Recursos básicos de depuração e
como usá-los no MPLAB ® IDE � Esteja consciente dos recursos
necessários
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 23
Recursos avançados
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 24
Recursos avançados
� Software Breakpoints� Advanced Breakpoints� Stopwatch� Runtime watches� DMCI – Data Monitor and
Control Interface
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 25
Software Breakpoints
� Breakpoints de Software permitem um número praticamente ilimitado de pontos de interrupção
� Não há escorregamento (skid)!� Como funcionam os breakpoints
de software?� Quais são as armadilhas?
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 26
Software Breakpoints
1. Substitui a instrução original, por uma instrução TRAP
2. Quando atingida a instrução TRAP, o processador entra em Halt
3. PC escreve e executa a instrução original
4. Programa novamente a instrução TRAP
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 27
Breakpoints Avançados
� Data Breakpoints� Event Breakpoints� ANDed Breakpoints� Sequenced Breakpoints� Stopwatch
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 28
Runtime Watches
� Atualiza a janela de inspeção, enquanto a aplicação está em execução
� Excelente para ajuste fino em aplicações� Obtém feedback das condições em tempo
real� Testa a reação do sistema no caso de
alteração de valores � Verifica a execução o sistema em tempo de
execução
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 29
Runtime Watches
� Requisitos para utilização dos Runtime Watches� <15MIPS para o RJ45� High Speed Performance Pak
para velocidades maiores � Microcontroladores Compatíveis
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 30
Data Monitor and Control Interface
� O que é o DMCI?� Quais as aplicações para o DMCI?
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 31
Objetivos do Demo 2
� Breakpoint Dialog� Data Breakpoint� Stopwatch� Runtime Watches� DMCI – Data Monitor Control
Interface
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 32
Demo 2:Recursos avançados
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 33
Demo 2 Resumo
� Breakpoint Dialog� Data Breakpoint� Stopwatch� Runtime Watches� DMCI – Data Monitor Control
Interface
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 34
Resumo
� Software Breakpoints� Advanced Breakpoints� Stop Watch� Runtime Watches� DMCI – Data Monitor Control
Interface
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 35
TRACE
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 36
Trace
Rastreia variáveis Monitora a execução do programa
� Registra dados em tempo real � Monitora a execução do programa � Endereço e instrução � Trace buffer praticamente ilimitado� Rastreamentos podem ser
armazenados HD � Interface amigável (point and click)
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 37
Trace
� Microchip utiliza dois tipos� Trace
� Usa macros para o rastrear código e registrar variáveis
� Trace Nativo� Trace do SPI� Trace de PORT
� Instruction Trace (PIC32MX)� Usa periféricos do chip que indicam
mudanças na fluência do programa
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 38
Trace: O que eu ganho com isso?
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 39
Trace Nativo
� Usa o PGC/PGD
� Mais lento
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 40
Trace do SPI
� Mais rápido� Requer LVDS e o periférico SPI (2
pinos adicionais)
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 41
Trace do PORT
� O Mais rápido
� Requer 8 pinos
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 42
Trace de Instruções
� Periférico “built in”, sem necessidade de macros� Mostra cada linha executada � Disponível atualmente apenas para o PIC32MX� Requer 5 pinos dedicados� MPLAB® REAL ICE™ Trace Kit (AC244006)
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 43
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 44
Trace
� Mostra como o código está fluindo (Breadcrumbs).
� Trace é um código físico, use-o para a sua vantagem
� Trace de instrução no PIC32Mx
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 45
Objetivos do Demo 3
� Setup do Trace� Adicionar Log e declaração para o
Trace� Decifrador de dados do Trace
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 46
Demo 3:Trace
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 47
Demo 3: Resumo
� Setup do Trace� Adicionar Log e declaração para o
Trace� Decifrador de dados do Trace
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 48
Trace Resumo
� Aprendemos o que é o Trace� Variações do Trace� Como usar o Trace com
dispositivos da Microchip
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 49
Problemas comuns
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 50
Problemas comuns
� Elétrico� Ruído� Oscilador� Configuração� Velocidade� Recursos� Use o Self-Test Board
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 51
Dicas & Truques
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 52
Dicas & Truques
� Debugging dsPIC® DSC/PIC24� Use o Trap Handler
(www.microchip.com/codeexamples)� Redefina o DefaultInterrupt� Use Asserts� Trap Instructions� #define _HALT() (__asm__ volatile
(“.pword 0xDA4000”);)
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 53
Dicas & Truques
� Pare de recriar código a partir do zero! Use bibliotecas
� Concentre-se durante a depuração; Sempre trate problemas isoladamente, “STOP HACKING”
� Gaste dinheiro com ferramentas! Bons MSOsproduzem retorno financeiro rapidamente; INTRONIX Logic Port é acessível
� Aprenda a utilizar as ferramentas� Não deixe de utilizar métodos tradicionais de
depuração, como pinos de teste e analisadores lógicos
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 54
Resumo
� Hoje nós vimos:� O que é um emulador MPLAB REAL
ICE ™ ® o que ele pode fazer por mim?
� Como utilizar recursos avançados � Diversos métodos de rastreamento e
como eles funcionam � Problemas comuns � Várias dicas e truques para ajudar no
desenvolvimento
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 55
Recursos adicionais
� Forums na Web� Websites de códigos� Ajuda do MPLAB® IDE � FAE local, peça um ticket em
microchip.com
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 56
Obrigado…
������������� ������������������� ������������������� ������������������� ������� �� �� �� � �� ��� ��� ���� ��� ��� ���� ��� ��� ���� ��� ��� �
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 57
Apêndice
� Exemplo de código com Halt� Asserts using Halts� Fluxograma do Software
Breakpoint
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 58
Exemplo de Código com Halt
#ifdef EMULATORBOOL gblSTAYINTRAP = TRUE;
#else#define gblSTAYINTRAP 1
#endif
void __attribute__((__interrupt__,__no_auto_psv__)) _AddressError(void)
{
INTCON1bits.ADDRERR = 0;_HALT();while(gblSTAYINTRAP);
}
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 59
Asserts using HALT
#ifdef EMULATOR
#define HASSERT(x) {if(!x){_HALT();}}
#else#define HASSERT(x)
#endif
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 60
Software Breakpoints
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 61
Trademarks
The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KeeLoq, KeeLoq logo, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, rfPIC and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.FilterLab, Linear Active Thermistor, MXDEV, MXLAB, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A.Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, In-Circuit Serial Programming, ICSP, ICEPIC, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, mTouch, PICkit, PICDEM, PICDEM.net, PICtail, PIC32 logo, PowerCal, PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB, Select Mode, Total Endurance, UNI/O, WiperLock and ZENA are trademarks of Microchip TechnologyIncorporated in the U.S.A. and other countries.SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.All other trademarks mentioned herein are property of their respective companies.© 2008, Microchip Technology Incorporated. All Rights Reserved.
© 2009 Microchip Technology Incorporated. All Rights Reserved. Slide 62
A equipe Microchip agradece a sua presença!
top related