logotipo da AtmelProgramadores de depuração ICE
Guia do usuárioOs programadores do depurador Atmel-ICE Programadores e Depuradores
Atmel-ICE
GUIA DO USUÁRIO

O depurador Atmel-ICE

O Atmel-ICE é uma poderosa ferramenta de desenvolvimento para depuração e programação de microcontroladores Atmel ®SAM e Atmel AVR baseados em ARM® Cortex®-M com capacidade ® On-Chip Debug.
Ele suporta:

  • Programação e depuração no chip de todos os microcontroladores Atmel AVR de 32 bits em JTAG e interfaces aWire
  • Programação e depuração no chip de todos os dispositivos da família Atmel AVR XMEGA® em JTAG e interfaces PDI de 2 fios
  • Programação (JTAG, SPI, UPDI) e depuração de todos os microcontroladores Atmel AVR de 8 bits com suporte a OCD em JTAG, interfaces debugWIRE ou UPDI
  • Programação e depuração de todos os microcontroladores Atmel SAM ARM Cortex-M baseados em SWD e JTAG Interfaces
  • Programação (TPI) de todos os microcontroladores Atmel tinyAVR® de 8 bits com suporte para esta interface

Consulte a lista de dispositivos compatíveis no Guia do usuário do Atmel Studio para obter uma lista completa de dispositivos e interfaces compatíveis com esta versão de firmware.

Introdução

1.1. Introdução ao Atmel-ICE
O Atmel-ICE é uma poderosa ferramenta de desenvolvimento para depuração e programação de microcontroladores Atmel SAM e Atmel AVR baseados em ARM Cortex-M com capacidade de depuração no chip.
Ele suporta:

  • Programação e depuração no chip de todos os microcontroladores Atmel AVR UC3 em JTAG e interfaces aWire
  • Programação e depuração no chip de todos os dispositivos da família AVR XMEGA em JTAG e interfaces PDI 2 fios
  • Programação (JTAG e SPI) e depuração de todos os microcontroladores AVR de 8 bits com suporte a OCD em JTAG ou interfaces debugWIRE
  • Programação e depuração de todos os microcontroladores Atmel SAM ARM Cortex-M baseados em SWD e JTAG Interfaces
  • Programação (TPI) de todos os microcontroladores Atmel tinyAVR de 8 bits com suporte para esta interface

1.2. Recursos do Atmel-ICE

  • Totalmente compatível com Atmel Studio
  • Suporta programação e depuração de todos os microcontroladores Atmel AVR UC3 de 32 bits
  • Suporta programação e depuração de todos os dispositivos AVR XMEGA de 8 bits
  • Suporta programação e depuração de todos os dispositivos Atmel megaAVR® e tinyAVR de 8 bits com TOC
  • Suporta programação e depuração de todos os microcontroladores baseados em SAM ARM Cortex-M
  • Volume operacional alvotagFaixa de 1.62 V a 5.5 V
  • Consome menos de 3mA do Vtref alvo ao usar a interface debugWIRE e menos de 1mA para todas as outras interfaces
  • Suporta JTAG frequências de clock de 32kHz a 7.5MHz
  • Suporta frequências de clock PDI de 32kHz a 7.5MHz
  • Suporta taxas de transmissão debugWIRE de 4 kbit/s a 0.5 Mbit/s
  • Suporta taxas de transmissão aWire de 7.5 kbit/s a 7 Mbit/s
  • Suporta frequências de clock SPI de 8kHz a 5MHz
  • Suporta taxas de transmissão UPDI de até 750kbit/s
  • Suporta frequências de relógio SWD de 32kHz a 10MHz
  • Interface de host USB 2.0 de alta velocidade
  • Captura de rastreamento serial ITM em até 3 MB/s
  • Suporta interfaces DGI SPI e USART quando não estiver depurando ou programando
  • Suporta 10 pinos 50 mil JTAG conector com pinagens AVR e Cortex. O cabo de sonda padrão suporta cabeçotes AVR de 6 pinos ISP/PDI/TPI de 100 mil, bem como cabeçotes de 10 pinos de 50 mil. Um adaptador está disponível para suportar headers de 6 pinos 50 mil, 10 pinos 100 mil e 20 pinos 100 mil. Várias opções de kit estão disponíveis com diferentes cabos e adaptadores.

1.3. Requisitos do sistema
A unidade Atmel-ICE requer que um ambiente de depuração de front-end Atmel Studio versão 6.2 ou posterior esteja instalado em seu computador.
O Atmel-ICE deve ser conectado ao computador host usando o cabo USB fornecido ou um cabo Micro-USB certificado.

Introdução ao Atmel-ICE

2.1. Conteúdo do Kit Completo
O kit completo Atmel-ICE contém estes itens:

  • Unidade Atmel-ICE
  • Cabo USB (1.8 m, alta velocidade, Micro-B)
  • Placa adaptadora contendo adaptadores AVR de 50 mil, AVR/SAM de 100 mil e adaptadores SAM de 100 pinos de 20 mil
  • Cabo plano IDC com conector de 10 pinos e 50 mil e conector de 6 pinos e 100 mil
  • Cabo mini squid de 50 pinos de 10 mil com soquetes de 10 x 100 mil

Figura 2-1. Conteúdo do kit completo Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 12.2. Conteúdo do kit básico
O kit básico Atmel-ICE contém estes itens:

  • Unidade Atmel-ICE
  • Cabo USB (1.8 m, alta velocidade, Micro-B)
  • Cabo plano IDC com conector de 10 pinos e 50 mil e conector de 6 pinos e 100 mil

Figura 2-2. Conteúdo do kit básico Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 22.3. Conteúdo do Kit PCBA
O kit Atmel-ICE PCBA contém estes itens:

  • Unidade Atmel-ICE sem encapsulamento plástico

Figura 2-3. Conteúdo do kit Atmel-ICE PCBAOs programadores do depurador Atmel-ICE - Figura 32.4. Kits de peças de reposição
Os seguintes kits de peças de reposição estão disponíveis:

  • Kit adaptador
  • kit de cabos

Figura 2-4. Conteúdo do kit do adaptador Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 42.5. Fim do kitview
As opções do kit Atmel-ICE são mostradas esquematicamente aqui:
Figura 2-6. Kit Atmel-ICE OverviewOs programadores do depurador Atmel-ICE - Figura 52.6. Montando o Atmel-ICE
A unidade Atmel-ICE é enviada sem cabos conectados. Duas opções de cabo são fornecidas no kit completo:

  • Cabo plano IDC de 50 pinos de 10 mil com ISP de 6 pinos e conectores de 10 pinos
  • Cabo mini-squid de 50 pinos de 10 mil com soquetes de 10 x 100 mil

Figura 2-7. Cabos Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 6Para a maioria das finalidades, o cabo plano IDC de 50 pinos de 10 mil pode ser usado, conectando-se nativamente aos conectores de 10 ou 6 pinos ou conectando-o por meio da placa adaptadora. Três adaptadores são fornecidos em um pequeno PCBA. Os seguintes adaptadores estão incluídos:

  • 100 mil 10 pinos JTAG/Adaptador SWD
  • 100 mil 20 pinos SAM JTAG/Adaptador SWD
  • Adaptador SPI/debugWIRE/PDI/aWire de 50 mil 6 pinos

Figura 2-8. Adaptadores Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 7Observação: 
A 50 mil JTAG adaptador não foi fornecido - isso ocorre porque o cabo IDC de 50 pinos de 10 mil pode ser usado para conectar diretamente a um J de 50 milTAG cabeçalho. Para obter o número de peça do componente usado para o conector de 50 pinos de 10 mil, consulte Atmel-ICE Target Connectors Part Numbers.
O cabeçalho ISP/PDI de 6 pinos está incluído como parte do cabo IDC de 10 pinos. Esta terminação pode ser cortada se não for necessária.
Para montar seu Atmel-ICE em sua configuração padrão, conecte o cabo IDC de 10 pinos e 50 mil à unidade conforme mostrado abaixo. Certifique-se de orientar o cabo de forma que o fio vermelho (pino 1) do cabo fique alinhado com o indicador triangular na faixa azul do gabinete. O cabo deve ser conectado para cima da unidade. Certifique-se de conectar à porta correspondente à pinagem do seu alvo – AVR ou SAM.
Figura 2-9. Conexão de cabo Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 8Figura 2-10. Conexão de Sonda Atmel-ICE AVR
Os programadores do depurador Atmel-ICE - Figura 9Figura 2-11. Conexão de Sonda Atmel-ICE SAMOs programadores do depurador Atmel-ICE - Figura 102.7. Abertura do Atmel-ICE
Observação: 
Para operação normal, a unidade Atmel-ICE não deve ser aberta. A abertura da unidade é feita por sua conta e risco.
Precauções antiestáticas devem ser tomadas.
O gabinete do Atmel-ICE consiste em três componentes plásticos separados – tampa superior, tampa inferior e correia azul – que são encaixados durante a montagem. Para abrir a unidade, basta inserir uma chave de fenda grande nas aberturas do cinto azul, aplicar alguma pressão para dentro e torcer suavemente. Repita o processo nos outros orifícios do snapper e a tampa superior se soltará.
Figura 2-12. Abrindo o Atmel-ICE (1)
Os programadores do depurador Atmel-ICE - Figura 11Figura 2-13. Abrindo o Atmel-ICE (2)
Os programadores do depurador Atmel-ICE - Figura 12Figura 2-14. Abrindo o Atmel-ICE(3)Os programadores do depurador Atmel-ICE - Figura 13Para fechar a unidade novamente, simplesmente alinhe as tampas superior e inferior corretamente e pressione firmemente uma contra a outra.
2.8. Alimentando o Atmel-ICE
O Atmel-ICE é alimentado pelo barramento USB voltage. Ele requer menos de 100mA para operar e, portanto, pode ser alimentado por um hub USB. O LED de energia acenderá quando a unidade estiver conectada. Quando não estiver conectada em uma programação ativa ou sessão de depuração, a unidade entrará no modo de baixo consumo de energia para preservar a bateria do seu computador. O Atmel-ICE não pode ser desligado – ele deve ser desconectado quando não estiver em uso.
2.9. Conectando ao computador host
O Atmel-ICE se comunica principalmente usando uma interface HID padrão e não requer um driver especial no computador host. Para usar a funcionalidade avançada do Data Gateway do Atmel-ICE, certifique-se de instalar o driver USB no computador host. Isso é feito automaticamente ao instalar o software front-end fornecido gratuitamente pela Atmel. Ver www.atmel.com para mais informações ou para baixar o software front-end mais recente.
O Atmel-ICE deve ser conectado a uma porta USB disponível no computador host usando o cabo USB fornecido ou um microcabo certificado USB adequado. O Atmel-ICE contém um controlador compatível com USB 2.0 e pode operar nos modos de velocidade total e alta velocidade. Para obter melhores resultados, conecte o Atmel-ICE diretamente a um hub de alta velocidade compatível com USB 2.0 no computador host usando o cabo fornecido.
2.10. Instalação do Driver USB
2.10.1. Janelas
Ao instalar o Atmel-ICE em um computador executando o Microsoft® Windows®, o driver USB é carregado quando o Atmel-ICE é conectado pela primeira vez.
Observação: 
Certifique-se de instalar os pacotes de software front-end antes de conectar a unidade pela primeira vez.
Depois de instalado com sucesso, o Atmel-ICE aparecerá no gerenciador de dispositivos como um “Dispositivo de interface humana”.

Conectando o Atmel-ICE

3.1. Conectando-se a dispositivos de destino AVR e SAM
O Atmel-ICE é equipado com dois conectores J de 50 mil e 10 pinosTAG conectores. Ambos os conectores são diretamente conectados eletricamente, mas obedecem a duas pinagens diferentes; o AVR JTAG cabeçalho e o cabeçalho ARM Cortex Debug. O conector deve ser selecionado com base na pinagem da placa de destino e não no tipo de MCU de destino - por exemploamparquivo um dispositivo SAM montado em uma pilha AVR STK® 600 deve usar o cabeçalho AVR.
Vários cabos e adaptadores estão disponíveis nos diferentes kits Atmel-ICE. acabouview de opções de conexão é mostrado.
Figura 3-1. Opções de conexão Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 14O fio vermelho marca o pino 1 do conector de 10 pinos e 50 mil. O pino 1 do conector de 6 pinos de 100 mil é colocado à direita da codificação quando o conector é visto do cabo. O pino 1 de cada conector no adaptador é marcado com um ponto branco. A figura abaixo mostra a pinagem do cabo de depuração. O conector marcado como A se conecta ao depurador enquanto o lado B se conecta à placa de destino.
Figura 3-2. Pinagem do cabo de depuração
Os programadores do depurador Atmel-ICE - Figura 153.2. Conectando a um JTAG Alvo
O Atmel-ICE é equipado com dois conectores J de 50 mil e 10 pinosTAG conectores. Ambos os conectores são diretamente conectados eletricamente, mas obedecem a duas pinagens diferentes; o AVR JTAG cabeçalho e o cabeçalho ARM Cortex Debug. O conector deve ser selecionado com base na pinagem da placa de destino e não no tipo de MCU de destino - por exemploampum dispositivo SAM montado em uma pilha AVR STK600 deve usar o cabeçalho AVR.
A pinagem recomendada para o AVR J de 10 pinosTAG conector é mostrado na Figura 4-6. A pinagem recomendada para o conector ARM Cortex Debug de 10 pinos é mostrada na Figura 4-2.
Conexão direta a um cabeçote padrão de 10 pinos e 50 mil
Use o cabo plano de 50 pinos de 10 mil (incluído em alguns kits) para conectar diretamente a uma placa compatível com esse tipo de cabeçalho. Use a porta do conector AVR no Atmel-ICE para cabeçalhos com a pinagem AVR e a porta do conector SAM para cabeçalhos em conformidade com a pinagem de cabeçalho ARM Cortex Debug.
As pinagens para ambas as portas do conector de 10 pinos são mostradas abaixo.
Conexão a um cabeçote padrão de 10 pinos e 100 mil 
Use um adaptador padrão de 50 mil para 100 mil para conectar a plataformas de 100 mil. Uma placa adaptadora (incluída em alguns kits) pode ser usada para essa finalidade ou, alternativamente, o JTAGO adaptador ICE3 pode ser usado para alvos AVR.
Os programadores do depurador Atmel-ICE - Figura 16 Importante: 
O JTAGO adaptador ICE3 de 100 mil não pode ser usado com a porta do conector SAM, pois os pinos 2 e 10 (AVR GND) no adaptador estão conectados.
Conexão a um cabeçalho personalizado de 100 mil
Se sua placa de destino não tiver um conector J de 10 pinos compatívelTAG cabeçalho em 50 ou 100 mil, você pode mapear para uma pinagem personalizada usando o cabo “mini-squid” de 10 pinos (incluído em alguns kits), que dá acesso a dez soquetes individuais de 100 mil.
Conexão a um cabeçote de 20 pinos e 100 milr
Use a placa adaptadora (incluída em alguns kits) para conectar alvos com um cabeçalho de 20 pinos e 100 mil.
Tabela 3-1. Atmel-ICE JTAG Descrição do Pin

Nome AVR pino da porta SÃO pino da porta Descrição
TCK 1 4 Relógio de teste (sinal de relógio do Atmel-ICE para o dispositivo de destino).
EMT (Transmissão Transmissível) 5 2 Seleção do modo de teste (sinal de controle do Atmel-ICE para o dispositivo de destino).
TDI 9 8 Test Data In (dados transmitidos do Atmel-ICE para o dispositivo de destino).
TDO 3 6 Test Data Out (dados transmitidos do dispositivo de destino para o Atmel-ICE).
nTRST 8 Reinicialização de teste (opcional, apenas em alguns dispositivos AVR). Usado para redefinir o JTAG controlador TAP.
nSRST 6 10 Redefinir (opcional). Usado para redefinir o dispositivo de destino. A conexão desse pino é recomendada, pois permite que o Atmel-ICE mantenha o dispositivo de destino em um estado de redefinição, o que pode ser essencial para a depuração em determinados cenários.
VTG 4 1 Volume alvotage referência. O Atmel-ICE samples o alvo voltage neste pino para alimentar corretamente os conversores de nível. O Atmel-ICE consome menos de 3 mA desse pino no modo debugWIRE e menos de 1 mA em outros modos.
Terra 2, 10 3, 5, 9 Chão. Todos devem estar conectados para garantir que o Atmel-ICE e o dispositivo de destino compartilhem a mesma referência de aterramento.

3.3. Conectando a um alvo aWire
A interface aWire requer apenas uma linha de dados além de VCC e GND. No alvo, esta linha é a linha nRESET, embora o depurador use o JTAG Linha TDO como a linha de dados.
A pinagem recomendada para o conector aWire de 6 pinos é mostrada na Figura 4-8.
Conexão a um conector aWire de 6 pinos e 100 mil
Use a derivação de 6 pinos de 100 mil no cabo plano (incluído em alguns kits) para conectar a um cabeçote aWire padrão de 100 mil.
Conexão a um conector aWire de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote aWire padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. São necessárias três conexões, conforme descrito na tabela abaixo.
Tabela 3-2. Mapeamento de pinos Atmel-ICE aWire

Pinos de porta Atmel-ICE AVR

Alfinetes alvo Pino de minilula

pinagem aWire

Pino 1 (TCK) 1
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) DADOS 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) 6
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

3.4. Conectando a um Alvo PDI
A pinagem recomendada para o conector PDI de 6 pinos é mostrada na Figura 4-11.
Conexão a um cabeçalho PDI de 6 pinos e 100 mil
Use a derivação de 6 milésimos de 100 pinos no cabo plano (incluído em alguns kits) para conectar a um cabeçote PDI padrão de 100 mil.
Conexão a um cabeçalho PDI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote PDI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. Quatro conexões são necessárias, conforme descrito na tabela abaixo.
Os programadores do depurador Atmel-ICE - Figura 16 Importante: 
A pinagem necessária é diferente do JTAGICE mkII JTAG sonda, onde PDI_DATA está conectado ao pino 9. O Atmel-ICE é compatível com a pinagem usada pelo Atmel-ICE, JTAGProdutos ICE3, AVR ONE! e AVR Dragon™.
Tabela 3-3. Mapeamento de pinos Atmel-ICE PDI

Pinos de porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

pinagem aWire

Pino 1 (TCK) 1
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) DADOS 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) 6
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

3.4 Conectando a um Alvo PDI
A pinagem recomendada para o conector PDI de 6 pinos é mostrada na Figura 4-11.
Conexão a um cabeçalho PDI de 6 pinos e 100 mil
Use a derivação de 6 milésimos de 100 pinos no cabo plano (incluído em alguns kits) para conectar a um cabeçote PDI padrão de 100 mil.
Conexão a um cabeçalho PDI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote PDI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. Quatro conexões são necessárias, conforme descrito na tabela abaixo.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
A pinagem necessária é diferente do JTAGICE mkII JTAG sonda, onde PDI_DATA está conectado ao pino 9. O Atmel-ICE é compatível com a pinagem usada pelo Atmel-ICE, JTAGICE3, AVR ONE! e AVR Dragon produtos.
Tabela 3-3. Mapeamento de pinos Atmel-ICE PDI

Pino da porta Atmel-ICE AVR Alfinetes alvo Pino de minilula Pinagem Atmel STK600 PDI
Pino 1 (TCK) 1
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) PDI_DADOS 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) PDI_CLK 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

3.5 Conectando a um alvo UPDI
A pinagem recomendada para o conector UPDI de 6 pinos é mostrada na Figura 4-12.
Conexão a um cabeçalho UPDI de 6 pinos e 100 mil
Use a derivação de 6 pinos de 100 mil no cabo plano (incluído em alguns kits) para conectar a um cabeçote UPDI padrão de 100 mil.
Conexão a um cabeçalho UPDI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote UPDI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. São necessárias três conexões, conforme descrito na tabela abaixo.
Tabela 3-4. Mapeamento de pinos Atmel-ICE UPDI

Pino da porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

Pinagem Atmel STK600 UPDI

Pino 1 (TCK) 1
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) UPDI_DATA 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) [/sentido REINICIALIZAR] 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

3.6 Conectando a um alvo debugWIRE
A pinagem recomendada para o conector debugWIRE (SPI) de 6 pinos é mostrada na Tabela 3-6.
Conexão a um cabeçalho SPI de 6 pinos e 100 mil
Use a derivação de 6 pinos de 100 mil no cabo plano (incluído em alguns kits) para conectar a um conector SPI padrão de 100 mil.
Conexão a um cabeçalho SPI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote SPI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. São necessárias três conexões, conforme descrito na Tabela 3-5.
Embora a interface debugWIRE exija apenas uma linha de sinal (RESET), VCC e GND para operar corretamente, é aconselhável ter acesso ao conector SPI completo para que a interface debugWIRE possa ser ativada e desativada usando a programação SPI.
Quando o fusível DWEN está ativado, a interface SPI é substituída internamente para que o módulo OCD tenha controle sobre o pino RESET. O OCD debugWIRE é capaz de se desativar temporariamente (usando o botão na guia de depuração na caixa de diálogo de propriedades no Atmel Studio), liberando assim o controle da linha RESET. A interface SPI fica novamente disponível (somente se o fusível SPIEN estiver programado), permitindo que o fusível DWEN seja desprogramado usando a interface SPI. Se a energia for alternada antes que o fusível DWEN seja desprogramado, o módulo debugWIRE assumirá novamente o controle do pino RESET.
Observação:
É altamente recomendável simplesmente deixar que o Atmel Studio cuide da configuração e limpeza do fusível DWEN.
Não é possível usar a interface debugWIRE se os lockbits no dispositivo AVR de destino estiverem programados. Certifique-se sempre de que os lockbits foram apagados antes de programar o fusível DWEN e nunca defina os lockbits enquanto o fusível DWEN estiver programado. Se o fusível de habilitação debugWIRE (DWEN) e os lockbits estiverem definidos, pode-se usar o High Voltage Programação para fazer um chip erase, e assim limpar os lockbits.
Quando os lockbits forem apagados, a interface debugWIRE será reativada. A Interface SPI só é capaz de ler fusíveis, ler assinatura e executar um apagamento de chip quando o fusível DWEN estiver desprogramado.
Tabela 3-5. Atmel-ICE debugWIRE Pin Mapping

Pino da porta Atmel-ICE AVR Alfinetes alvo

Pino de minilula

Pino 1 (TCK) 1
Pino 2 (GND) Terra 2
Pino 3 (TDO) 3
Pino 4 (VTG) VTG 4
Pino 5 (TMS) 5
Pino 6 (nSRST) REINICIAR 6
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

3.7 Conectando a um alvo SPI
A pinagem recomendada para o conector SPI de 6 pinos é mostrada na Figura 4-10.
Conexão a um cabeçalho SPI de 6 pinos e 100 mil
Use a derivação de 6 pinos de 100 mil no cabo plano (incluído em alguns kits) para conectar a um conector SPI padrão de 100 mil.
Conexão a um cabeçalho SPI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote SPI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. Seis conexões são necessárias, conforme descrito na tabela abaixo.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
A interface SPI é efetivamente desabilitada quando o fusível habilitado debugWIRE (DWEN) é programado, mesmo que o fusível SPIEN também esteja programado. Para reativar a interface SPI, o comando 'disable debugWIRE' deve ser emitido durante uma sessão de depuração debugWIRE. Desativar o debugWIRE dessa maneira requer que o fusível SPIEN já esteja programado. Se o Atmel Studio não desativar o debugWIRE, é provável que o fusível SPIEN NÃO esteja programado. Se este for o caso, é necessário usar um alto-voltagInterface de programação para programar o fusível SPIEN.
Os programadores do depurador Atmel-ICE - ícone Informações:
A interface SPI costuma ser chamada de “ISP”, pois foi a primeira interface de programação do sistema nos produtos Atmel AVR. Outras interfaces estão agora disponíveis para programação no sistema.
Tabela 3-6. Mapeamento de pinos Atmel-ICE SPI

Pinos de porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

Pinagem SPI

Pino 1 (TCK) SCK 1 3
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) MISO 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) /REDEFINIR 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) MOSI 9 4
Pino 10 (GND) 0

3.8 Conectando a um alvo TPI
A pinagem recomendada para o conector TPI de 6 pinos é mostrada na Figura 4-13.
Conexão a um cabeçalho TPI de 6 pinos e 100 mil
Use a derivação de 6 milésimos de 100 pinos no cabo plano (incluído em alguns kits) para conectar a um cabeçote TPI padrão de 100 mil.
Conexão a um cabeçalho TPI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote TPI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. Seis conexões são necessárias, conforme descrito na tabela abaixo.
Tabela 3-7. Mapeamento de pinos TPI Atmel-ICE

Pinos de porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

pinagem TPI

Pino 1 (TCK) RELÓGIO 1 3
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) DADOS 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) /REDEFINIR 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

3.9 Conectando a um alvo SWD
A interface ARM SWD é um subconjunto do JTAG interface, fazendo uso dos pinos TCK e TMS, o que significa que ao conectar a um dispositivo SWD, o J de 10 pinosTAG conector pode ser tecnicamente usado. O ARM JTAG e AVR JTAG os conectores não são, no entanto, compatíveis com pinos, portanto, isso depende do layout da placa de destino em uso. Ao usar um STK600 ou uma placa fazendo uso do AVR JTAG pinagem, a porta do conector AVR no Atmel-ICE deve ser usada. Ao conectar a uma placa, que faz uso do ARM JTAG pinagem, a porta do conector SAM no Atmel-ICE deve ser usada.
A pinagem recomendada para o conector Cortex Debug de 10 pinos é mostrada na Figura 4-4.
Conexão a um cabeçalho Cortex de 10 pinos e 50 mil
Use o cabo plano (incluído em alguns kits) para conectar a um cabeçalho Cortex padrão de 50 mil.
Conexão a um cabeçalho Cortex-layout de 10 pinos e 100 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote de pinagem Cortex de 100 mil.
Conexão a um cabeçalho SAM de 20 pinos e 100 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um conector SAM de 20 pinos e 100 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR ou SAM e a placa de destino. Seis conexões são necessárias, conforme descrito na tabela abaixo.
Tabela 3-8. Atmel-ICE SWD Pin Mapeamento

Nome AVR  pino da porta SÃO pino da porta Descrição
SWDC LK 1 4 Relógio de depuração de fio serial.
SWDIO 5 2 Entrada/saída de dados de depuração de fio serial.
OSSO 3 6 Saída de fio serial (opcional - não implementado em todos os dispositivos).
nSRST 6 10 Reiniciar.
VTG 4 1 Volume alvotage referência.
Terra 2, 10 3, 5, 9 Chão.

3.10 Conectando à interface do gateway de dados
O Atmel-ICE oferece suporte a uma interface de gateway de dados (DGI) limitada quando a depuração e a programação não estão em uso. A funcionalidade é idêntica à encontrada nos kits Atmel Xplained Pro alimentados pelo dispositivo Atmel EDBG.
A Data Gateway Interface é uma interface para transmissão de dados do dispositivo de destino para um computador. Isso serve como uma ajuda na depuração do aplicativo, bem como para demonstração de recursos no aplicativo em execução no dispositivo de destino.
O DGI consiste em vários canais para streaming de dados. O Atmel-ICE suporta os seguintes modos:

  • USART
  • SPI

Tabela 3-9. Pinagem Atmel-ICE DGI USART

porta AVR

porta SAM Pino DGI USART

Descrição

3 6 TX Transmitir pin do Atmel-ICE para o dispositivo de destino
4 1 VTG Volume alvotage (vol de referênciatage)
8 7 RX Receber pin do dispositivo de destino para Atmel-ICE
9 8 CLK Relógio USART
2, 10 3, 5, 9 Terra Chão

Tabela 3-10. Pinagem Atmel-ICE DGI SPI

porta AVR

porta SAM Pino DGI SPI

Descrição

1 4 SCK Relógio SPI
3 6 MISO Mestre em Escravo
4 1 VTG Volume alvotage (vol de referênciatage)
5 2 nCS Chip select ativo baixo
9 8 MOSI Mestre para fora, escravo para dentro
2, 10 3, 5, 9 Terra Chão

Os programadores do depurador Atmel-ICE - Figura 16 Importante:  As interfaces SPI e USART não podem ser usadas simultaneamente.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:  DGI e programação ou depuração não podem ser usados ​​simultaneamente.

Depuração no chip

4.1 Introdução
Depuração no chip
Um módulo de depuração on-chip é um sistema que permite que um desenvolvedor monitore e controle a execução em um dispositivo de uma plataforma de desenvolvimento externa, geralmente por meio de um dispositivo conhecido como depurador ou adaptador de depuração.
Com um sistema OCD, o aplicativo pode ser executado mantendo as características elétricas e de temporização exatas no sistema de destino, podendo interromper a execução condicional ou manualmente e inspecionar o fluxo e a memória do programa.
Modo de execução
No modo Run, a execução do código é totalmente independente do Atmel-ICE. O Atmel-ICE monitorará continuamente o dispositivo de destino para ver se ocorreu uma condição de interrupção. Quando isso acontecer, o sistema OCD irá interrogar o dispositivo através de sua interface de depuração, permitindo que o usuário view o estado interno do dispositivo.
Modo Parado
Quando um ponto de interrupção é atingido, a execução do programa é interrompida, mas algumas E/S podem continuar a ser executadas como se nenhum ponto de interrupção tivesse ocorrido. por example, suponha que uma transmissão USART acaba de ser iniciada quando um ponto de interrupção é atingido. Neste caso, o USART continua a funcionar em velocidade máxima completando a transmissão, mesmo que o núcleo esteja no modo parado.
Pontos de Interrupção de Hardware
O módulo OCD de destino contém vários comparadores de contador de programa implementados no hardware. Quando o contador do programa coincide com o valor armazenado em um dos registradores do comparador, o OCD entra no modo parado. Como os pontos de interrupção de hardware requerem hardware dedicado no módulo OCD, o número de pontos de interrupção disponíveis depende do tamanho do módulo OCD implementado no destino. Normalmente, um desses comparadores de hardware é 'reservado' pelo depurador para uso interno.
Breakpoints de software
Um ponto de interrupção de software é uma instrução BREAK colocada na memória do programa no dispositivo de destino. Quando esta instrução é carregada, a execução do programa é interrompida e o OCD entra no modo parado. Para continuar a execução, um comando “iniciar” deve ser dado pelo OCD. Nem todos os dispositivos Atmel possuem módulos OCD que suportam a instrução BREAK.
4.2 Dispositivos SAM com JTAG/SWD
Todos os dispositivos SAM apresentam a interface SWD para programação e depuração. Além disso, alguns dispositivos SAM apresentam um JTAG interface com funcionalidade idêntica. Verifique a folha de dados do dispositivo para obter as interfaces suportadas desse dispositivo.
4.2.1. Componentes do ARM CoreSight
Os microcontroladores Atmel ARM Cortex-M implementam componentes OCD compatíveis com CoreSight. Os recursos desses componentes podem variar de dispositivo para dispositivo. Para obter mais informações, consulte a folha de dados do dispositivo, bem como a documentação do CoreSight fornecida pela ARM.
4.2.1. EuTAG Interface física
O JTAG A interface consiste em um controlador de porta de acesso de teste (TAP) de 4 fios compatível com o padrão IEEE® 1149.1 padrão. O padrão IEEE foi desenvolvido para fornecer uma maneira padrão da indústria de testar com eficiência a conectividade da placa de circuito (Boundary Scan). Os dispositivos Atmel AVR e SAM ampliaram essa funcionalidade para incluir suporte completo de programação e depuração no chip.
Figura 4-1. JTAG Interface BásicaOs programadores do depurador Atmel-ICE - Figura 25

4.2.2.1 SAMJTAG Pinagem (conector de depuração Cortex-M)
Ao projetar um PCB de aplicativo que inclui um Atmel SAM com o JTAG interface, recomenda-se usar a pinagem conforme a figura abaixo. As variantes de 100 mil e 50 mil desta pinagem são suportadas, dependendo do cabeamento e dos adaptadores incluídos no kit específico.
Figura 4-2. SAMJTAG Pinagem do cabeçalho
Os programadores do depurador Atmel-ICE - Figura 20

Tabela 4-1. SAM JTAG Descrição do Pin

Nome Alfinete

Descrição

TCK 4 Relógio de teste (sinal de relógio do Atmel-ICE para o dispositivo de destino).
EMT (Transmissão Transmissível) 2 Seleção do modo de teste (sinal de controle do Atmel-ICE para o dispositivo de destino).
TDI 8 Test Data In (dados transmitidos do Atmel-ICE para o dispositivo de destino).
TDO 6 Test Data Out (dados transmitidos do dispositivo de destino para o Atmel-ICE).
nRESET 10 Redefinir (opcional). Usado para redefinir o dispositivo de destino. A conexão desse pino é recomendada, pois permite que o Atmel-ICE mantenha o dispositivo de destino em um estado de redefinição, o que pode ser essencial para a depuração em determinados cenários.
VTG 1 Volume alvotage referência. O Atmel-ICE samples o alvo voltage neste pino para alimentar corretamente os conversores de nível. O Atmel-ICE consome menos de 1 mA deste pino neste modo.
Terra 3, 5, 9 Chão. Todos devem estar conectados para garantir que o Atmel-ICE e o dispositivo de destino compartilhem a mesma referência de aterramento.
CHAVE 7 Conectado internamente ao pino TRST no conector AVR. Recomendado como não conectado.

Os programadores do depurador Atmel-ICE - ícone 1 Dica: Lembre-se de incluir um capacitor de desacoplamento entre o pino 1 e o GND.
4.2.2.2 JTAG Margarida Encadeamento
O JTAG interface permite que vários dispositivos sejam conectados a uma única interface em uma configuração em cadeia. Os dispositivos de destino devem ser todos alimentados pelo mesmo volume de alimentaçãotage, compartilham um nó de terra comum, e devem ser conectados conforme a figura abaixo.
Figura 4-3. JTAG Cadeia de margaridasOs programadores do depurador Atmel-ICE - Figura 23

Ao conectar dispositivos em cadeia, os seguintes pontos devem ser considerados:

  • Todos os dispositivos devem compartilhar um aterramento comum, conectado ao GND na sonda Atmel-ICE
  • Todos os dispositivos devem estar operando no mesmo vol alvotage. O VTG no Atmel-ICE deve ser conectado a este voltage.
  • TMS e TCK são conectados em paralelo; TDI e TDO estão conectados em série
  • nSRST na sonda Atmel-ICE deve ser conectado ao RESET nos dispositivos se algum dos dispositivos na cadeia desabilitar seu JTAG porta
  • “Dispositivos antes” refere-se ao número de JTAG dispositivos pelos quais o sinal TDI tem que passar na cadeia antes de atingir o dispositivo de destino. Da mesma forma, “dispositivos após” é o número de dispositivos pelos quais o sinal deve passar após o dispositivo de destino antes de atingir o Atmel-ICE TDO
  • “Bits de instrução “antes” e “depois” referem-se à soma total de todos os JTAG comprimentos de registro de instrução dos dispositivos, que são conectados antes e depois do dispositivo de destino na cadeia
  • O comprimento total do IR (bits de instrução antes + comprimento do IR do dispositivo de destino Atmel + bits de instrução depois) é limitado a um máximo de 256 bits. O número de dispositivos na cadeia é limitado a 15 antes e 15 depois.

Os programadores do depurador Atmel-ICE - ícone 1 Dica:
encadeamento examparquivo: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Para se conectar ao Atmel AVR XMEGA® dispositivo, as configurações daisy chain são:

  • Dispositivos antes: 1
  • Dispositivos depois: 1
  • Bits de instrução antes: 4 (dispositivos AVR de 8 bits têm 4 bits IR)
  • Bits de instrução após: 5 (dispositivos AVR de 32 bits têm 5 bits IR)

Tabela 4-2. Comprimentos IR de Atmel MCUs

Tipo de dispositivo comprimento IR
AVR de 8 bits 4 bits
AVR de 32 bits 5 bits
SÃO 4 bits

4.2.3. Conectando a um JTAG Alvo
O Atmel-ICE é equipado com dois conectores J de 50 mil e 10 pinosTAG conectores. Ambos os conectores são diretamente conectados eletricamente, mas obedecem a duas pinagens diferentes; o AVR JTAG cabeçalho e o cabeçalho ARM Cortex Debug. O conector deve ser selecionado com base na pinagem da placa de destino e não no tipo de MCU de destino - por exemploampum dispositivo SAM montado em uma pilha AVR STK600 deve usar o cabeçalho AVR.
A pinagem recomendada para o AVR J de 10 pinosTAG conector é mostrado na Figura 4-6.
A pinagem recomendada para o conector ARM Cortex Debug de 10 pinos é mostrada na Figura 4-2.
Conexão direta a um cabeçote padrão de 10 pinos e 50 mil
Use o cabo plano de 50 pinos de 10 mil (incluído em alguns kits) para conectar diretamente a uma placa compatível com esse tipo de cabeçalho. Use a porta do conector AVR no Atmel-ICE para cabeçalhos com a pinagem AVR e a porta do conector SAM para cabeçalhos em conformidade com a pinagem de cabeçalho ARM Cortex Debug.
As pinagens para ambas as portas do conector de 10 pinos são mostradas abaixo.
Conexão a um cabeçote padrão de 10 pinos e 100 mil
Use um adaptador padrão de 50 mil para 100 mil para conectar a plataformas de 100 mil. Uma placa adaptadora (incluída em alguns kits) pode ser usada para essa finalidade ou, alternativamente, o JTAGO adaptador ICE3 pode ser usado para alvos AVR.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
O JTAGO adaptador ICE3 de 100 mil não pode ser usado com a porta do conector SAM, pois os pinos 2 e 10 (AVR GND) no adaptador estão conectados.
Conexão a um cabeçalho personalizado de 100 mil
Se sua placa de destino não tiver um conector J de 10 pinos compatívelTAG cabeçalho em 50 ou 100 mil, você pode mapear para uma pinagem personalizada usando o cabo “mini-squid” de 10 pinos (incluído em alguns kits), que dá acesso a dez soquetes individuais de 100 mil.
Conexão a um cabeçalho de 20 mil de 100 pinos
Use a placa adaptadora (incluída em alguns kits) para conectar alvos com um cabeçalho de 20 pinos e 100 mil.
Tabela 4-3. Atmel-ICE JTAG Descrição do Pin

Nome AVR pino da porta SÃO pino da porta Descrição
TCK 1 4 Relógio de teste (sinal de relógio do Atmel-ICE para o dispositivo de destino).
EMT (Transmissão Transmissível) 5 2 Seleção do modo de teste (sinal de controle do Atmel-ICE para o dispositivo de destino).
TDI 9 8 Test Data In (dados transmitidos do Atmel-ICE para o dispositivo de destino).
TDO 3 6 Test Data Out (dados transmitidos do dispositivo de destino para o Atmel-ICE).
nTRST 8 Reinicialização de teste (opcional, apenas em alguns dispositivos AVR). Usado para redefinir o JTAG controlador TAP.
nSRST 6 10 Redefinir (opcional). Usado para redefinir o dispositivo de destino. A conexão desse pino é recomendada, pois permite que o Atmel-ICE mantenha o dispositivo de destino em um estado de redefinição, o que pode ser essencial para a depuração em determinados cenários.
VTG 4 1 Volume alvotage referência. O Atmel-ICE samples o alvo voltage neste pino para alimentar corretamente os conversores de nível. O Atmel-ICE consome menos de 3 mA desse pino no modo debugWIRE e menos de 1 mA em outros modos.
Terra 2, 10 3, 5, 9 Chão. Todos devem estar conectados para garantir que o Atmel-ICE e o dispositivo de destino compartilhem a mesma referência de aterramento.

4.2.4. SWD Interface Física
A interface ARM SWD é um subconjunto do JTAG interface, fazendo uso de pinos TCK e TMS. O ARM JTAG e AVR JTAG os conectores não são, no entanto, compatíveis com pinos; portanto, ao projetar um PCB de aplicativo, que usa um dispositivo SAM com SWD ou JTAG interface, recomenda-se usar a pinagem ARM mostrada na figura abaixo. A porta do conector SAM no Atmel-ICE pode se conectar diretamente a esta pinagem.
Figura 4-4. Recomendado ARM SWD/JTAG Pinagem do cabeçalhoOs programadores do depurador Atmel-ICE - Figura 18

O Atmel-ICE é capaz de transmitir rastreamento ITM no formato UART para o computador host. O rastreamento é capturado no pino TRACE/SWO do cabeçalho de 10 pinos (JTAG pino TDO). Os dados são armazenados em buffer internamente no Atmel-ICE e enviados pela interface HID para o computador host. A taxa de dados máxima confiável é de cerca de 3 MB/s.
4.2.5. Conectando a um alvo SWD
A interface ARM SWD é um subconjunto do JTAG interface, fazendo uso dos pinos TCK e TMS, o que significa que ao conectar a um dispositivo SWD, o J de 10 pinosTAG conector pode ser tecnicamente usado. O ARM JTAG e AVR JTAG os conectores não são, no entanto, compatíveis com pinos, portanto, isso depende do layout da placa de destino em uso. Ao usar um STK600 ou uma placa fazendo uso do AVR JTAG pinagem, a porta do conector AVR no Atmel-ICE deve ser usada. Ao conectar a uma placa, que faz uso do ARM JTAG pinagem, a porta do conector SAM no Atmel-ICE deve ser usada.
A pinagem recomendada para o conector Cortex Debug de 10 pinos é mostrada na Figura 4-4.
Conexão a um cabeçalho Cortex de 10 pinos e 50 mil
Use o cabo plano (incluído em alguns kits) para conectar a um cabeçalho Cortex padrão de 50 mil.
Conexão a um cabeçalho Cortex-layout de 10 pinos e 100 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote de pinagem Cortex de 100 mil.
Conexão a um cabeçalho SAM de 20 pinos e 100 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um conector SAM de 20 pinos e 100 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR ou SAM e a placa de destino. Seis conexões são necessárias, conforme descrito na tabela abaixo.
Tabela 4-4. Atmel-ICE SWD Pin Mapeamento

Nome AVR pino da porta SÃO pino da porta Descrição
SWDC LK 1 4 Relógio de depuração de fio serial.
SWDIO 5 2 Entrada/saída de dados de depuração de fio serial.
OSSO 3 6 Saída de fio serial (opcional - não implementado em todos os dispositivos).
nSRST 6 10 Reiniciar.
VTG 4 1 Volume alvotage referência.
Terra 2, 10 3, 5, 9 Chão.

4.2.6 Considerações Especiais
APAGAR pino
Alguns dispositivos SAM incluem um pino ERASE que é ativado para executar um apagamento completo do chip e desbloquear dispositivos nos quais o bit de segurança está definido. Esse recurso é acoplado ao próprio dispositivo, bem como ao controlador de flash e não faz parte do núcleo ARM.
O pino ERASE NÃO faz parte de nenhum cabeçalho de depuração e, portanto, o Atmel-ICE não pode ativar esse sinal para desbloquear um dispositivo. Nesses casos, o usuário deve executar o apagamento manualmente antes de iniciar uma sessão de depuração.
Interfaces físicas JTAG interface
A linha RESET deve estar sempre conectada para que o Atmel-ICE possa habilitar o JTAG interface.
Interface SWD
A linha RESET deve estar sempre conectada para que o Atmel-ICE possa habilitar a interface SWD.
4.3 Dispositivos AVR UC3 com JTAG/um fio
Todos os dispositivos AVR UC3 apresentam o JTAG interface para programação e depuração. Além disso, alguns dispositivos AVR UC3 apresentam a interface aWire com funcionalidade idêntica usando um único fio. Verifique a folha de dados do dispositivo para obter as interfaces suportadas desse dispositivo
4.3.1 Sistema de depuração no chip Atmel AVR UC3
O sistema Atmel AVR UC3 OCD foi projetado de acordo com o padrão Nexus 2.0 (IEEE-ISTO 5001™-2003), que é um padrão de depuração em chip aberto altamente flexível e poderoso para microcontroladores de 32 bits. Ele suporta os seguintes recursos:

  • Solução de depuração compatível com Nexus
  • OCD suporta qualquer velocidade de CPU
  • Seis pontos de interrupção de hardware do contador de programa
  • Dois pontos de interrupção de dados
  • Breakpoints podem ser configurados como watchpoints
  • Os pontos de interrupção de hardware podem ser combinados para interromper os intervalos
  • Número ilimitado de pontos de interrupção do programa do usuário (usando BREAK)
  • Rastreamento de desvio de contador de programa em tempo real, rastreamento de dados, rastreamento de processo (suportado apenas por depuradores com porta de captura de rastreamento paralela)

Para obter mais informações sobre o sistema AVR UC3 OCD, consulte os Manuais de Referência Técnica AVR32UC, localizados em www.atmel.com/uc3.
4.3.2. EuTAG Interface física
O JTAG A interface consiste em um controlador de porta de acesso de teste (TAP) de 4 fios compatível com o padrão IEEE® 1149.1 padrão. O padrão IEEE foi desenvolvido para fornecer uma maneira padrão da indústria de testar com eficiência a conectividade da placa de circuito (Boundary Scan). Os dispositivos Atmel AVR e SAM ampliaram essa funcionalidade para incluir suporte completo de programação e depuração no chip.
Figura 4-5. JTAG Interface BásicaOs programadores do depurador Atmel-ICE - Figura 17

4.3.2.1 AVR JTAG Pinagem
Ao projetar um PCB de aplicação, que inclui um Atmel AVR com o JTAG interface, recomenda-se usar a pinagem conforme a figura abaixo. As variantes de 100 mil e 50 mil desta pinagem são suportadas, dependendo do cabeamento e dos adaptadores incluídos no kit específico.
Figura 4-6. AVR JTAG Pinagem do cabeçalho
Os programadores do depurador Atmel-ICE - Figura 22

Mesa 4-5. AVR JTAG Descrição do Pin

Nome Alfinete

Descrição

TCK 1 Relógio de teste (sinal de relógio do Atmel-ICE para o dispositivo de destino).
EMT (Transmissão Transmissível) 5 Seleção do modo de teste (sinal de controle do Atmel-ICE para o dispositivo de destino).
TDI 9 Test Data In (dados transmitidos do Atmel-ICE para o dispositivo de destino).
TDO 3 Test Data Out (dados transmitidos do dispositivo de destino para o Atmel-ICE).
nTRST 8 Reinicialização de teste (opcional, apenas em alguns dispositivos AVR). Usado para redefinir o JTAG controlador TAP.
nSRST 6 Redefinir (opcional). Usado para redefinir o dispositivo de destino. A conexão desse pino é recomendada, pois permite que o Atmel-ICE mantenha o dispositivo de destino em um estado de redefinição, o que pode ser essencial para a depuração em determinados cenários.
VTG 4 Volume alvotage referência. O Atmel-ICE samples o alvo voltage neste pino para alimentar corretamente os conversores de nível. O Atmel-ICE consome menos de 3 mA desse pino no modo debugWIRE e menos de 1 mA em outros modos.
Terra 2, 10 Chão. Ambos devem estar conectados para garantir que o Atmel-ICE e o dispositivo de destino compartilhem a mesma referência de aterramento.

Os programadores do depurador Atmel-ICE - ícone 1 Dica: Lembre-se de incluir um capacitor de desacoplamento entre o pino 4 e o GND.
4.3.2.2 JTAG Margarida Encadeamento
O JTAG interface permite que vários dispositivos sejam conectados a uma única interface em uma configuração em cadeia. Os dispositivos de destino devem ser todos alimentados pelo mesmo volume de alimentaçãotage, compartilham um nó de terra comum, e devem ser conectados conforme a figura abaixo.
Figura 4-7. JTAG Cadeia de margaridasOs programadores do depurador Atmel-ICE - Figura 19

Ao conectar dispositivos em cadeia, os seguintes pontos devem ser considerados:

  • Todos os dispositivos devem compartilhar um aterramento comum, conectado ao GND na sonda Atmel-ICE
  • Todos os dispositivos devem estar operando no mesmo vol alvotage. O VTG no Atmel-ICE deve ser conectado a este voltage.
  • TMS e TCK são conectados em paralelo; TDI e TDO estão conectados em uma cadeia serial.
  • nSRST na sonda Atmel-ICE deve ser conectado ao RESET nos dispositivos se algum dos dispositivos na cadeia desabilitar seu JTAG porta
  • “Dispositivos antes” refere-se ao número de JTAG dispositivos pelos quais o sinal TDI tem que passar na cadeia antes de atingir o dispositivo de destino. Da mesma forma, “dispositivos após” é o número de dispositivos pelos quais o sinal deve passar após o dispositivo de destino antes de atingir o Atmel-ICE TDO
  • “Bits de instrução “antes” e “depois” referem-se à soma total de todos os JTAG comprimentos de registro de instrução dos dispositivos, que são conectados antes e depois do dispositivo de destino na cadeia
  • O comprimento total do IR (bits de instrução antes + comprimento do IR do dispositivo de destino Atmel + bits de instrução depois) é limitado a um máximo de 256 bits. O número de dispositivos na cadeia é limitado a 15 antes e 15 depois.

Dica: 

encadeamento examparquivo: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Para se conectar ao Atmel AVR XMEGA® dispositivo, as configurações daisy chain são:

  • Dispositivos antes: 1
  • Dispositivos depois: 1
  • Bits de instrução antes: 4 (dispositivos AVR de 8 bits têm 4 bits IR)
  • Bits de instrução após: 5 (dispositivos AVR de 32 bits têm 5 bits IR)

Tabela 4-6. Comprimentos IV do Atmel MCUS

Tipo de dispositivo comprimento IR
AVR de 8 bits 4 bits
AVR de 32 bits 5 bits
SÃO 4 bits

4.3.3. Conectando a um JTAG Alvo
O Atmel-ICE é equipado com dois conectores J de 50 mil e 10 pinosTAG conectores. Ambos os conectores são diretamente conectados eletricamente, mas obedecem a duas pinagens diferentes; o AVR JTAG cabeçalho e o cabeçalho ARM Cortex Debug. O conector deve ser selecionado com base na pinagem da placa de destino e não no tipo de MCU de destino - por exemploampum dispositivo SAM montado em uma pilha AVR STK600 deve usar o cabeçalho AVR.
A pinagem recomendada para o AVR J de 10 pinosTAG conector é mostrado na Figura 4-6.
A pinagem recomendada para o conector ARM Cortex Debug de 10 pinos é mostrada na Figura 4-2.
Conexão direta a um cabeçote padrão de 10 pinos e 50 mil
Use o cabo plano de 50 pinos de 10 mil (incluído em alguns kits) para conectar diretamente a uma placa compatível com esse tipo de cabeçalho. Use a porta do conector AVR no Atmel-ICE para cabeçalhos com a pinagem AVR e a porta do conector SAM para cabeçalhos em conformidade com a pinagem de cabeçalho ARM Cortex Debug.
As pinagens para ambas as portas do conector de 10 pinos são mostradas abaixo.
Conexão a um cabeçote padrão de 10 pinos e 100 mil

Use um adaptador padrão de 50 mil para 100 mil para conectar a plataformas de 100 mil. Uma placa adaptadora (incluída em alguns kits) pode ser usada para essa finalidade ou, alternativamente, o JTAGO adaptador ICE3 pode ser usado para alvos AVR.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
O JTAGO adaptador ICE3 de 100 mil não pode ser usado com a porta do conector SAM, pois os pinos 2 e 10 (AVR GND) no adaptador estão conectados.
Conexão a um cabeçalho personalizado de 100 mil
Se sua placa de destino não tiver um conector J de 10 pinos compatívelTAG cabeçalho em 50 ou 100 mil, você pode mapear para uma pinagem personalizada usando o cabo “mini-squid” de 10 pinos (incluído em alguns kits), que dá acesso a dez soquetes individuais de 100 mil.
Conexão a um cabeçalho de 20 mil de 100 pinos
Use a placa adaptadora (incluída em alguns kits) para conectar alvos com um cabeçalho de 20 pinos e 100 mil.
Tabela 4-7. Atmel-ICE JTAG Descrição do Pin

Nome

Pino da porta AVR pino da porta SAM

Descrição

TCK 1 4 Relógio de teste (sinal de relógio do Atmel-ICE para o dispositivo de destino).
EMT (Transmissão Transmissível) 5 2 Seleção do modo de teste (sinal de controle do Atmel-ICE para o dispositivo de destino).
TDI 9 8 Test Data In (dados transmitidos do Atmel-ICE para o dispositivo de destino).
TDO 3 6 Test Data Out (dados transmitidos do dispositivo de destino para o Atmel-ICE).
nTRST 8 Reinicialização de teste (opcional, apenas em alguns dispositivos AVR). Usado para redefinir o JTAG controlador TAP.
nSRST 6 10 Redefinir (opcional). Usado para redefinir o dispositivo de destino. A conexão desse pino é recomendada, pois permite que o Atmel-ICE mantenha o dispositivo de destino em um estado de redefinição, o que pode ser essencial para a depuração em determinados cenários.
VTG 4 1 Volume alvotage referência. O Atmel-ICE samples o alvo voltage neste pino para alimentar corretamente os conversores de nível. O Atmel-ICE consome menos de 3 mA desse pino no modo debugWIRE e menos de 1 mA em outros modos.
Terra 2, 10 3, 5, 9 Chão. Todos devem estar conectados para garantir que o Atmel-ICE e o dispositivo de destino compartilhem a mesma referência de aterramento.

 4.3.4 Interface Física aWire
A interface aWire faz uso do fio RESET do dispositivo AVR para permitir funções de programação e depuração. Uma sequência de ativação especial é transmitida pelo Atmel-ICE, que desativa a funcionalidade RESET padrão do pino. Ao projetar um PCB de aplicativo, que inclui um Atmel AVR com a interface aWire, é recomendável usar a pinagem conforme mostrado na Figura 4 -8. As variantes de 100 mil e 50 mil desta pinagem são suportadas, dependendo do cabeamento e dos adaptadores incluídos no kit específico.
Figura 4-8. pinagem do cabeçalho aWireOs programadores do depurador Atmel-ICE - Figura 24

Os programadores do depurador Atmel-ICE - ícone 1 Dica:
Uma vez que aWire é uma interface half-duplex, um resistor pull-up na linha RESET na ordem de 47kΩ é recomendado para evitar detecção de bit de início falso ao mudar de direção.
A interface aWire pode ser usada como interface de programação e depuração. Todos os recursos do sistema OCD disponíveis através do J de 10 pinosTAG interface também pode ser acessada usando aWire.
4.3.5 Conectando a um alvo aWire
A interface aWire requer apenas uma linha de dados além de VCC e GND. No alvo, esta linha é a linha nRESET, embora o depurador use o JTAG Linha TDO como a linha de dados.
A pinagem recomendada para o conector aWire de 6 pinos é mostrada na Figura 4-8.
Conexão a um conector aWire de 6 pinos e 100 mil
Use a derivação de 6 pinos de 100 mil no cabo plano (incluído em alguns kits) para conectar a um cabeçote aWire padrão de 100 mil.
Conexão a um conector aWire de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote aWire padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. São necessárias três conexões, conforme descrito na tabela abaixo.
Tabela 4-8. Mapeamento de pinos Atmel-ICE aWire

Pinos de porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

pinagem aWire

Pino 1 (TCK) 1
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) DADOS 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) 6
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

4.3.6. Considerações especiais
JTAG interface
Em alguns dispositivos Atmel AVR UC3, o JTAG A porta não está habilitada por padrão. Ao usar esses dispositivos é essencial conectar a linha RESET para que o Atmel-ICE possa habilitar o JTAG interface.
interface aWire
A taxa de transmissão das comunicações aWire depende da frequência do relógio do sistema, pois os dados devem ser sincronizados entre esses dois domínios. O Atmel-ICE detectará automaticamente que o relógio do sistema foi reduzido e recalibrará sua taxa de transmissão de acordo. A calibração automática só funciona até uma frequência de relógio do sistema de 8 kHz. Mudar para um relógio de sistema mais baixo durante uma sessão de depuração pode fazer com que o contato com o alvo seja perdido.
Se necessário, a taxa de transmissão aWire pode ser restringida configurando o parâmetro aWire clock. A detecção automática ainda funcionará, mas um valor máximo será imposto aos resultados.
Qualquer capacitor estabilizador conectado ao pino RESET deve ser desconectado ao usar aWire, pois irá interferir na operação correta da interface. Recomenda-se um pullup externo fraco (10kΩ ou superior) nesta linha.

Desligar o modo de suspensão
Alguns dispositivos AVR UC3 possuem um regulador interno que pode ser usado no modo de alimentação de 3.3 V com linhas de E/S reguladas de 1.8 V. Isso significa que o regulador interno alimenta o núcleo e a maior parte das E/S. Somente Atmel AVR UM! o depurador oferece suporte à depuração durante o uso de modos de suspensão em que este regulador está desligado.
4.3.7. Uso de EVTI/EVTO
Os pinos EVTI e EVTO não são acessíveis no Atmel-ICE. No entanto, eles ainda podem ser usados ​​em conjunto com outros equipamentos externos.
O EVTI pode ser usado para os seguintes propósitos:

  • O destino pode ser forçado a interromper a execução em resposta a um evento externo. Se os bits Event In Control (EIC) no registro DC forem gravados em 0b01, a transição de alto para baixo no pino EVTI gerará uma condição de ponto de interrupção. O EVTI deve permanecer baixo por um ciclo de clock da CPU para garantir que um ponto de interrupção seja O bit de ponto de interrupção externo (EXB) no DS é definido quando isso ocorre.
  • Gerando mensagens de sincronização de rastreamento. Não usado pelo Atmel-ICE.

O EVTO pode ser usado para os seguintes fins:

  • Indicando que a CPU entrou na depuração Definir os bits EOS em DC para 0b01 faz com que o pino EVTO seja puxado para baixo por um ciclo de clock da CPU quando o dispositivo de destino entra no modo de depuração. Este sinal pode ser usado como uma fonte de disparo para um osciloscópio externo.
  • Indicando que a CPU atingiu um ponto de interrupção ou ponto de controle. Ao definir o bit EOC em um registro de controle de ponto de interrupção/ponto de controle correspondente, o status do ponto de interrupção ou ponto de controle é indicado no pino EVTO. Os bits EOS em DC devem ser definidos como 0xb10 para habilitar esse recurso. O pino EVTO pode então ser conectado a um osciloscópio externo para examinar o ponto de controle
  • Gerando sinais de temporização de rastreamento. Não usado pelo Atmel-ICE.

4.4 dispositivos tinyAVR, megaAVR e XMEGA
Os dispositivos AVR apresentam várias interfaces de programação e depuração. Verifique a folha de dados do dispositivo para obter as interfaces suportadas desse dispositivo.

  • Alguns minúsculos AVR® os dispositivos têm um TPI O TPI pode ser usado apenas para programar o dispositivo e esses dispositivos não têm capacidade de depuração no chip.
  • Alguns dispositivos tinyAVR e alguns dispositivos megaAVR têm a interface debugWIRE, que se conecta a um sistema de depuração no chip conhecido como tinyOCD. Todos os dispositivos com debugWIRE também possuem a interface SPI para
  • Alguns dispositivos megaAVR têm um JTAG interface para programação e depuração, com um sistema de depuração on-chip também conhecido como All devices with JTAG também apresentam a interface SPI como uma interface alternativa para programação no sistema.
  • Todos os dispositivos AVR XMEGA possuem a interface PDI para programação e alguns dispositivos AVR XMEGA também possuem um JTAG interface com funcionalidade idêntica.
  • Os novos dispositivos tinyAVR possuem uma interface UPDI, que é usada para programação e depuração

Tabela 4-9. Resumo de interfaces de programação e depuração

UPDI ITP SPI depurar WIR E JTAG PDI um fio

SWD

minúsculoAVR Novos dispositivos Alguns dispositivos Alguns dispositivos Alguns dispositivos
megaAV R Todos os dispositivos Alguns dispositivos Alguns dispositivos
AVR XMEGA Alguns dispositivos Todos os dispositivos
AVR UC Todos os dispositivos Alguns dispositivos
SÃO Alguns dispositivos Todos os dispositivos

4.4.1. EuTAG Interface física
O JTAG A interface consiste em um controlador de porta de acesso de teste (TAP) de 4 fios compatível com o padrão IEEE® 1149.1 padrão. O padrão IEEE foi desenvolvido para fornecer uma maneira padrão da indústria de testar com eficiência a conectividade da placa de circuito (Boundary Scan). Os dispositivos Atmel AVR e SAM ampliaram essa funcionalidade para incluir suporte completo de programação e depuração no chip.
Figura 4-9. JTAG Interface BásicaOs programadores do depurador Atmel-ICE - Figura 214.4.2. Conectando a um JTAG Alvo
O Atmel-ICE é equipado com dois conectores J de 50 mil e 10 pinosTAG conectores. Ambos os conectores são diretamente conectados eletricamente, mas obedecem a duas pinagens diferentes; o AVR JTAG cabeçalho e o cabeçalho ARM Cortex Debug. O conector deve ser selecionado com base na pinagem da placa de destino e não no tipo de MCU de destino - por exemploampum dispositivo SAM montado em uma pilha AVR STK600 deve usar o cabeçalho AVR.
A pinagem recomendada para o AVR J de 10 pinosTAG conector é mostrado na Figura 4-6.
A pinagem recomendada para o conector ARM Cortex Debug de 10 pinos é mostrada na Figura 4-2.
Conexão direta a um cabeçote padrão de 10 pinos e 50 mil
Use o cabo plano de 50 pinos de 10 mil (incluído em alguns kits) para conectar diretamente a uma placa compatível com esse tipo de cabeçalho. Use a porta do conector AVR no Atmel-ICE para cabeçalhos com a pinagem AVR e a porta do conector SAM para cabeçalhos em conformidade com a pinagem de cabeçalho ARM Cortex Debug.
As pinagens para ambas as portas do conector de 10 pinos são mostradas abaixo.
Conexão a um cabeçote padrão de 10 pinos e 100 mil
Use um adaptador padrão de 50 mil para 100 mil para conectar a plataformas de 100 mil. Uma placa adaptadora (incluída em alguns kits) pode ser usada para essa finalidade ou, alternativamente, o JTAGO adaptador ICE3 pode ser usado para alvos AVR.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
O JTAGO adaptador ICE3 de 100 mil não pode ser usado com a porta do conector SAM, pois os pinos 2 e 10 (AVR GND) no adaptador estão conectados.
Conexão a um cabeçalho personalizado de 100 mil
Se sua placa de destino não tiver um conector J de 10 pinos compatívelTAG cabeçalho em 50 ou 100 mil, você pode mapear para uma pinagem personalizada usando o cabo “mini-squid” de 10 pinos (incluído em alguns kits), que dá acesso a dez soquetes individuais de 100 mil.
Conexão a um cabeçalho de 20 mil de 100 pinos
Use a placa adaptadora (incluída em alguns kits) para conectar alvos com um cabeçalho de 20 pinos e 100 mil.
Tabela 4-10. Atmel-ICE JTAG Descrição do Pin

Nome AVR pino da porta SÃO pino da porta Descrição
TCK 1 4 Relógio de teste (sinal de relógio do Atmel-ICE para o dispositivo de destino).
EMT (Transmissão Transmissível) 5 2 Seleção do modo de teste (sinal de controle do Atmel-ICE para o dispositivo de destino).
TDI 9 8 Test Data In (dados transmitidos do Atmel-ICE para o dispositivo de destino).
TDO 3 6 Test Data Out (dados transmitidos do dispositivo de destino para o Atmel-ICE).
nTRST 8 Reinicialização de teste (opcional, apenas em alguns dispositivos AVR). Usado para redefinir o JTAG controlador TAP.
nSRST 6 10 Redefinir (opcional). Usado para redefinir o dispositivo de destino. A conexão desse pino é recomendada, pois permite que o Atmel-ICE mantenha o dispositivo de destino em um estado de redefinição, o que pode ser essencial para a depuração em determinados cenários.
VTG 4 1 Volume alvotage referência. O Atmel-ICE samples o alvo voltage neste pino para alimentar corretamente os conversores de nível. O Atmel-ICE consome menos de 3 mA desse pino no modo debugWIRE e menos de 1 mA em outros modos.
Terra 2, 10 3, 5, 9 Chão. Todos devem estar conectados para garantir que o Atmel-ICE e o dispositivo de destino compartilhem a mesma referência de aterramento.

4.4.3. Interface Física SPI
A Programação no Sistema usa a SPI (Serial Peripheral Interface) interna do Atmel AVR de destino para fazer o download do código nas memórias flash e EEPROM. Não é uma interface de depuração. Ao projetar um PCB de aplicação, que inclui um AVR com a interface SPI, a pinagem mostrada na figura abaixo deve ser usada.
Figura 4-10. Pinagem do Cabeçalho SPIOs programadores do depurador Atmel-ICE - Figura 264.4.4. Conectando-se a um alvo SPI
A pinagem recomendada para o conector SPI de 6 pinos é mostrada na Figura 4-10.
Conexão a um cabeçalho SPI de 6 pinos e 100 mil
Use a derivação de 6 pinos de 100 mil no cabo plano (incluído em alguns kits) para conectar a um conector SPI padrão de 100 mil.
Conexão a um cabeçalho SPI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote SPI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. Seis conexões são necessárias, conforme descrito na tabela abaixo.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
A interface SPI é efetivamente desabilitada quando o fusível habilitado debugWIRE (DWEN) é programado, mesmo que o fusível SPIEN também esteja programado. Para reativar a interface SPI, o comando 'disable debugWIRE' deve ser emitido durante uma sessão de depuração debugWIRE. Desativar o debugWIRE dessa maneira requer que o fusível SPIEN já esteja programado. Se o Atmel Studio não desativar o debugWIRE, é provável que o fusível SPIEN NÃO esteja programado. Se este for o caso, é necessário usar um alto-voltagInterface de programação para programar o fusível SPIEN.
Os programadores do depurador Atmel-ICE - ícone Informações:
A interface SPI costuma ser chamada de “ISP”, pois foi a primeira interface de programação do sistema nos produtos Atmel AVR. Outras interfaces estão agora disponíveis para programação no sistema.
Tabela 4-11. Mapeamento de pinos Atmel-ICE SPI

Pinos de porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

Pinagem SPI

Pino 1 (TCK) SCK 1 3
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) MISO 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) /REDEFINIR 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) MOSI 9 4
Pino 10 (GND) 0

4.4.5. PDI
A Interface de Programação e Depuração (PDI) é uma interface proprietária da Atmel para programação externa e depuração no chip de um dispositivo. PDI Physical é uma interface de 2 pinos que fornece uma comunicação síncrona bidirecional half-duplex com o dispositivo de destino.
Ao projetar um PCB de aplicação, que inclui um Atmel AVR com a interface PDI, a pinagem mostrada na figura abaixo deve ser usada. Um dos adaptadores de 6 pinos fornecidos com o kit Atmel-ICE pode então ser usado para conectar a sonda Atmel-ICE ao PCB do aplicativo.
Figura 4-11. Pinagem do Cabeçalho PDIOs programadores do depurador Atmel-ICE - Figura 274.4.6. Conectando a um Alvo PDI
A pinagem recomendada para o conector PDI de 6 pinos é mostrada na Figura 4-11.
Conexão a um cabeçalho PDI de 6 pinos e 100 mil
Use a derivação de 6 milésimos de 100 pinos no cabo plano (incluído em alguns kits) para conectar a um cabeçote PDI padrão de 100 mil.
Conexão a um cabeçalho PDI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote PDI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. Quatro conexões são necessárias, conforme descrito na tabela abaixo.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
A pinagem necessária é diferente do JTAGICE mkII JTAG sonda, onde PDI_DATA está conectado ao pino 9. O Atmel-ICE é compatível com a pinagem usada pelo Atmel-ICE, JTAGICE3, AVR ONE! e AVR Dragon produtos.
Tabela 4-12. Mapeamento de pinos Atmel-ICE PDI

Pino da porta Atmel-ICE AVR

Alfinetes alvo Pino de minilula

Pinagem Atmel STK600 PDI

Pino 1 (TCK) 1
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) PDI_DADOS 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) PDI_CLK 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

4.4.7. Interface Física UPDI
O Unified Program and Debug Interface (UPDI) é uma interface proprietária da Atmel para programação externa e depuração no chip de um dispositivo. É o sucessor da interface física PDI de 2 fios, encontrada em todos os dispositivos AVR XMEGA. UPDI é uma interface de fio único que fornece uma comunicação assíncrona bidirecional half-duplex com o dispositivo de destino para fins de programação e depuração.
Ao projetar um PCB de aplicação, que inclui um Atmel AVR com a interface UPDI, a pinagem mostrada abaixo deve ser usada. Um dos adaptadores de 6 pinos fornecidos com o kit Atmel-ICE pode então ser usado para conectar a sonda Atmel-ICE ao PCB do aplicativo.
Figura 4-12. Pinagem do cabeçalho UPDIOs programadores do depurador Atmel-ICE - Figura 284.4.7.1 UPDI e /RESET
A interface de um fio UPDI pode ser um pino dedicado ou um pino compartilhado, dependendo do dispositivo AVR de destino. Consulte a folha de dados do dispositivo para obter mais informações.
Quando a interface UPDI está em um pino compartilhado, o pino pode ser configurado para ser UPDI, /RESET ou GPIO configurando os fusíveis RSTPINCFG[1:0].
Os fusíveis RSTPINCFG[1:0] possuem as seguintes configurações, conforme descrito no datasheet. As implicações práticas de cada escolha são dadas aqui.
Tabela 4-13. RSTPINCFG[1:0] Configuração do fusível

RSTPINCFG[1:0] Configuração

Uso

00 GPIO Pino de E/S de uso geral. Para acessar UPDI, um pulso de 12V deve ser aplicado a este pino. Nenhuma fonte de reinicialização externa está disponível.
01 UPDI Programação dedicada e pino de depuração. Nenhuma fonte de reinicialização externa está disponível.
10 Reiniciar Reiniciar a entrada do sinal. Para acessar UPDI, um pulso de 12V deve ser aplicado a este pino.
11 Reservado NA

Observação:  Dispositivos AVR mais antigos possuem uma interface de programação, conhecida como “High-Voltage Programming” (existem variantes serial e paralela.) Em geral, esta interface requer 12 V para ser aplicada ao pino /RESET durante a sessão de programação. A interface UPDI é uma interface totalmente diferente. O pino UPDI é principalmente um pino de programação e depuração, que pode ser fundido para ter uma função alternativa (/RESET ou GPIO). Se a função alternativa for selecionada, um pulso de 12 V será necessário nesse pino para reativar a funcionalidade UPDI.
Observação:  Se um projeto exigir o compartilhamento do sinal UPDI devido a restrições de pinos, devem ser tomadas medidas para garantir que o dispositivo possa ser programado. Para garantir que o sinal UPDI funcione corretamente, bem como para evitar danos aos componentes externos do pulso de 12V, é recomendável desconectar todos os componentes neste pino ao tentar depurar ou programar o dispositivo. Isso pode ser feito usando um resistor de 0Ω, que é montado por padrão e removido ou substituído por um cabeçote de pino durante a depuração. Esta configuração significa efetivamente que a programação deve ser feita antes de montar o dispositivo.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:  O Atmel-ICE não suporta 12V na linha UPDI. Em outras palavras, se o pino UPDI tiver sido configurado como GPIO ou RESET, o Atmel-ICE não poderá habilitar a interface UPDI.
4.4.8. Conectando-se a um alvo UPDI
A pinagem recomendada para o conector UPDI de 6 pinos é mostrada na Figura 4-12.
Conexão a um cabeçalho UPDI de 6 pinos e 100 mil
Use a derivação de 6 pinos de 100 mil no cabo plano (incluído em alguns kits) para conectar a um cabeçote UPDI padrão de 100 mil.
Conexão a um cabeçalho UPDI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote UPDI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil

O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. São necessárias três conexões, conforme descrito na tabela abaixo.
Tabela 4-14. Mapeamento de pinos Atmel-ICE UPDI

Pino da porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

Pinagem Atmel STK600 UPDI

Pino 1 (TCK) 1
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) UPDI_DATA 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) [/sentido REINICIALIZAR] 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

4.4.9 Interface Física TPI
TPI é uma interface somente de programação para alguns dispositivos AVR ATtiny. Não é uma interface de depuração e esses dispositivos não possuem capacidade de OCD. Ao projetar um PCB de aplicação que inclua um AVR com a interface TPI, a pinagem mostrada na figura abaixo deve ser usada.

Figura 4-13. Pinagem do Cabeçalho TPIOs programadores do depurador Atmel-ICE - Figura 294.4.10. Conectando a um alvo TPI
A pinagem recomendada para o conector TPI de 6 pinos é mostrada na Figura 4-13.
Conexão a um cabeçalho TPI de 6 pinos e 100 mil
Use a derivação de 6 milésimos de 100 pinos no cabo plano (incluído em alguns kits) para conectar a um cabeçote TPI padrão de 100 mil.
Conexão a um cabeçalho TPI de 6 pinos e 50 mil
Use a placa adaptadora (incluída em alguns kits) para conectar a um cabeçote TPI padrão de 50 mil.
Conexão a um cabeçalho personalizado de 100 mil
O cabo mini-squid de 10 pinos deve ser usado para conectar entre a porta do conector Atmel-ICE AVR e a placa de destino. Seis conexões são necessárias, conforme descrito na tabela abaixo.
Tabela 4-15. Mapeamento de pinos TPI Atmel-ICE

Pinos de porta Atmel-ICE AVR Alfinetes alvo Pino de minilula

pinagem TPI

Pino 1 (TCK) RELÓGIO 1 3
Pino 2 (GND) Terra 2 6
Pino 3 (TDO) DADOS 3 1
Pino 4 (VTG) VTG 4 2
Pino 5 (TMS) 5
Pino 6 (nSRST) /REDEFINIR 6 5
Pino 7 (não conectado) 7
Pino 8 (nTRST) 8
Pino 9 (TDI) 9
Pino 10 (GND) 0

4.4.11. Depuração Avançada (AVR JTAG /dispositivos debugWIRE)
Periféricos de E/S
A maioria dos periféricos de E/S continuará a funcionar mesmo que a execução do programa seja interrompida por um ponto de interrupção. Example: Se um ponto de interrupção for atingido durante uma transmissão UART, a transmissão será concluída e os bits correspondentes definidos. O sinalizador TXC (transmissão completa) será definido e estará disponível na próxima etapa única do código, embora normalmente aconteça mais tarde em um dispositivo real.
Todos os módulos de E/S continuarão a funcionar no modo parado com as duas exceções a seguir:

  • Temporizador/Contadores (configuráveis ​​usando o front-end do software)
  • Watchdog Timer (sempre parado para evitar reinicializações durante a depuração)

Acesso de E/S de passo único
Como a E/S continua a funcionar no modo parado, deve-se tomar cuidado para evitar certos problemas de temporização. por example, o código:
Ao executar este código normalmente, o registrador TEMP não leria de volta 0xAA porque os dados ainda não teriam sido bloqueados fisicamente no pino no momento em que é sampliderada pela operação IN. Uma instrução NOP deve ser colocada entre as instruções OUT e IN para garantir que o valor correto esteja presente no registrador PIN.
No entanto, ao realizar uma etapa única dessa função por meio do OCD, esse código sempre fornecerá 0xAA no registro do PIN, pois o I/O está funcionando em velocidade total, mesmo quando o núcleo é interrompido durante a etapa única.
Passo único e temporização
Certos registradores precisam ser lidos ou escritos dentro de um determinado número de ciclos após habilitar um sinal de controle. Uma vez que o relógio de E/S e os periféricos continuam funcionando em velocidade total no modo parado, uma única passagem por esse código não atenderá aos requisitos de tempo. Entre duas etapas simples, o relógio de E/S pode ter rodado milhões de ciclos. Para ler ou gravar registradores com sucesso com tais requisitos de tempo, toda a sequência de leitura ou gravação deve ser executada como uma operação atômica executando o dispositivo em velocidade máxima. Isso pode ser feito usando uma macro ou uma chamada de função para executar o código ou usar a função run-to-cursor no ambiente de depuração
Acessando registradores de 16 bits
Os periféricos Atmel AVR geralmente contêm vários registradores de 16 bits que podem ser acessados ​​por meio do barramento de dados de 8 bits (por exemplo: TCNTn de um temporizador de 16 bits). O registrador de 16 bits deve ser acessado por byte usando duas operações de leitura ou gravação. Interromper no meio de um acesso de 16 bits ou passar por essa situação pode resultar em valores incorretos.
Acesso restrito ao registro de E/S
Certos registradores não podem ser lidos sem afetar seu conteúdo. Esses registros incluem aqueles que contêm sinalizadores que são apagados por leitura ou registros de dados em buffer (por exemplo: UDR). O front-end do software impedirá a leitura desses registros quando estiver no modo parado para preservar a natureza não intrusiva pretendida da depuração do OCD. Além disso, alguns registradores não podem ser gravados com segurança sem a ocorrência de efeitos colaterais – esses registradores são somente leitura. por exampem:

  • Registradores de sinalizadores, onde um sinalizador é limpo escrevendo '1' para qualquer um. Esses registradores são somente leitura.
  • Os registradores UDR e SPDR não podem ser lidos sem afetar o estado do módulo. Esses registradores não são

4.4.12. Considerações especiais do megaAVR
pontos de interrupção de software
Como contém uma versão anterior do módulo OCD, o ATmega128[A] não suporta o uso da instrução BREAK para pontos de interrupção de software.
JTAG relógio
A frequência de clock de destino deve ser especificada com precisão no front-end do software antes de iniciar uma sessão de depuração. Por motivos de sincronização, o JTAG O sinal TCK deve ser inferior a um quarto da frequência de clock alvo para uma depuração confiável. Ao programar através do JTAG interface, a frequência TCK é limitada pela classificação de frequência máxima do dispositivo de destino e não pela frequência de clock real que está sendo usada.
Ao usar o oscilador RC interno, esteja ciente de que a frequência pode variar de dispositivo para dispositivo e é afetada pela temperatura e VCC mudanças. Seja conservador ao especificar a frequência de clock de destino.
JTAGFusíveis EN e OCDEN

O JTAG interface é habilitada usando o JTAGFusível EN, que é programado por padrão. Isso permite o acesso ao JTAG interface de programação. Através deste mecanismo, o fusível OCDEN pode ser programado (por padrão, o OCDEN é desprogramado). Isso permite o acesso ao OCD para facilitar a depuração do dispositivo. O front-end do software sempre garantirá que o fusível OCDEN seja deixado desprogramado ao encerrar uma sessão, restringindo assim o consumo desnecessário de energia pelo módulo OCD. Se o JTAGO fusível EN foi desabilitado involuntariamente, só pode ser reabilitado usando SPI ou High Voltage métodos de programação.
Se o JTAGfusível EN está programado, o JTAG A interface ainda pode ser desativada no firmware configurando o bit JTD. Isso tornará o código não depurável e não deve ser feito ao tentar uma sessão de depuração. Se esse código já estiver em execução no dispositivo Atmel AVR ao iniciar uma sessão de depuração, o Atmel-ICE ativará a linha RESET durante a conexão. Se esta linha estiver conectada corretamente, ela forçará o dispositivo AVR de destino a ser redefinido, permitindo assim um JTAG conexão.
Se o JTAG interface está habilitada, o JTAG os pinos não podem ser usados ​​para funções alternativas de pinos. Eles permanecerão dedicados JTAG pinos até que o JTAG A interface é desativada definindo o bit JTD do código do programa ou limpando o JTAGFusível EN através de uma interface de programação.

Os programadores do depurador Atmel-ICE - ícone 1 Dica:
Certifique-se de marcar a caixa de seleção “usar reinicialização externa” na caixa de diálogo de programação e na caixa de diálogo de opções de depuração para permitir que o Atmel-ICE ative a linha RESET e reative o JTAG interface em dispositivos que executam código que desativa o JTAG interface definindo o bit JTD.
Eventos IDR/OCDR
O IDR (In-out Data Register) também é conhecido como OCDR (On Chip Debug Register) e é usado extensivamente pelo depurador para ler e gravar informações no MCU quando em modo parado durante uma sessão de depuração. Quando o programa aplicativo no modo de execução grava um byte de dados no registro OCDR do dispositivo AVR que está sendo depurado, o Atmel-ICE lê esse valor e o exibe na janela de mensagem do front-end do software. O registro OCDR é pesquisado a cada 50 ms, portanto, gravar nele em uma frequência mais alta NÃO produzirá resultados confiáveis. Quando o dispositivo AVR perde energia enquanto está sendo depurado, eventos falsos de OCDR podem ser relatados. Isso acontece porque o Atmel-ICE ainda pode pesquisar o dispositivo como o vol alvotage cai abaixo do volume operacional mínimo do AVRtage.
4.4.13. Considerações Especiais AVR XMEGA
TOC e cronometragem
Quando o MCU entra no modo parado, o relógio OCD é usado como relógio MCU. O relógio do OCD é o JTAG TCK se o JTAG interface está sendo usada, ou o PDI_CLK se a interface PDI estiver sendo usada.
Módulos de E/S em modo parado
Em contraste com os dispositivos Atmel megaAVR anteriores, no XMEGA os módulos de E/S são interrompidos no modo de parada. Isso significa que as transmissões USART serão interrompidas, os temporizadores (e PWM) serão interrompidos.
Pontos de interrupção de hardware
Existem quatro comparadores de ponto de interrupção de hardware – dois comparadores de endereço e dois comparadores de valor. Eles têm certas restrições:

  • Todos os pontos de interrupção devem ser do mesmo tipo (programa ou dados)
  • Todos os pontos de interrupção de dados devem estar na mesma área de memória (E/S, SRAM ou XRAM)
  • Só pode haver um ponto de interrupção se o intervalo de endereços for usado

Aqui estão as diferentes combinações que podem ser definidas:

  • Dois pontos de interrupção de endereço de programa ou dados únicos
  • Um ponto de interrupção do intervalo de endereço de dados ou programa
  • Dois pontos de interrupção de endereço de dados únicos com comparação de valor único
  • Um ponto de interrupção de dados com intervalo de endereços, intervalo de valores ou ambos

O Atmel Studio informará se o ponto de interrupção não pode ser definido e por quê. Os pontos de interrupção de dados têm prioridade sobre os pontos de interrupção do programa, se os pontos de interrupção de software estiverem disponíveis.
Reset externo e PDI físico
A interface física PDI usa a linha de reset como relógio. Durante a depuração, o pullup de redefinição deve ser de 10k ou mais ou ser removido. Qualquer capacitor de reset deve ser removido. Outras fontes externas de reinicialização devem ser desconectadas.
Depuração com suspensão para ATxmegaA1 rev H e anteriores
Existia um bug nas primeiras versões dos dispositivos ATxmegaA1 que impedia que o OCD fosse ativado enquanto o dispositivo estava em determinados modos de suspensão. Há duas soluções alternativas para reativar o TOC:

  • Entre no Atmel-ICE. Opções no menu Ferramentas e habilite “Sempre ative a reinicialização externa ao reprogramar o dispositivo”.
  • Executar um apagamento de chip

Os modos de suspensão que acionam esse bug são:

  • Desligar
  • Economia de energia
  • Espera
  • Espera estendida

4.4.1. Considerações especiais debugWIRE
O pino de comunicação debugWIRE (dW) está fisicamente localizado no mesmo pino que o reset externo (RESET). Uma fonte de reinicialização externa, portanto, não é suportada quando a interface debugWIRE está habilitada.
O fusível debugWIRE Enable (DWEN) deve ser definido no dispositivo de destino para que a interface debugWIRE funcione. Este fusível é, por padrão, não programado quando o dispositivo Atmel AVR é ​​enviado da fábrica. A própria interface debugWIRE não pode ser usada para definir este fusível. Para definir o fusível DWEN, o modo SPI deve ser usado. O front-end do software lida com isso automaticamente, desde que os pinos SPI necessários estejam conectados. Ele também pode ser definido usando a programação SPI na caixa de diálogo de programação do Atmel Studio.
Qualquer: Tente iniciar uma sessão de depuração na parte debugWIRE. Se a interface debugWIRE não estiver ativada, o Atmel Studio oferecerá uma nova tentativa ou tentará ativar o debugWIRE usando a programação SPI. Se você tiver o cabeçalho SPI completo conectado, o debugWIRE será ativado e será solicitado que você alterne a alimentação no destino. Isso é necessário para que as trocas de fusíveis sejam efetivas.
Ou: Abra a caixa de diálogo de programação no modo SPI e verifique se a assinatura corresponde ao dispositivo correto. Verifique o fusível DWEN para ativar o debugWIRE.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
É importante deixar o fusível SPIEN programado, o fusível RSTDISBL não programado! Se não fizer isso, o dispositivo ficará preso no modo debugWIRE e o High VoltagA programação será necessária para reverter a configuração DWEN.
Para desabilitar a interface debugWIRE, use High Voltage programação para desprogramar o fusível DWEN. Como alternativa, use a própria interface debugWIRE para desabilitar-se temporariamente, o que permitirá que a programação SPI ocorra, desde que o fusível SPIEN esteja definido.
Os programadores do depurador Atmel-ICE - Figura 16 Importante:
Se o fusível SPIEN NÃO foi deixado programado, o Atmel Studio não conseguirá concluir esta operação e o High VoltagA programação deve ser usada.
Durante uma sessão de depuração, selecione a opção de menu 'Disable debugWIRE and Close' no menu 'Debug'. O DebugWIRE será desativado temporariamente e o Atmel Studio usará a programação SPI para desprogramar o fusível DWEN.

Ter o fusível DWEN programado permite que algumas partes do sistema do relógio funcionem em todos os modos de hibernação. Isso aumentará o consumo de energia do AVR durante os modos de hibernação. O fusível DWEN deve, portanto, sempre ser desabilitado quando o debugWIRE não é usado.
Ao projetar um PCB de aplicação de destino onde o debugWIRE será usado, as seguintes considerações devem ser feitas para a operação correta:

  • Os resistores pull-up na linha dW/(RESET) não devem ser menores (mais fortes) que 10kΩ. O resistor pull-up não é necessário para a funcionalidade debugWIRE, pois a ferramenta de depuração fornece
  • Qualquer capacitor estabilizador conectado ao pino RESET deve ser desconectado ao usar o debugWIRE, pois irá interferir na operação correta da interface
  • Todas as fontes externas de reset ou outros drivers ativos na linha RESET devem ser desconectados, pois podem interferir no correto funcionamento da interface

Nunca programe os lock-bits no dispositivo de destino. A interface debugWIRE requer que os bits de bloqueio sejam limpos para funcionar corretamente.
4.4.15. Pontos de interrupção do software debugWIRE
O OCD debugWIRE é drasticamente reduzido quando comparado ao Atmel megaAVR (JTAG) TOC. Isso significa que ele não possui comparadores de ponto de interrupção de contador de programa disponíveis para o usuário para fins de depuração. Um desses comparadores existe para fins de operações run-to-cursor e de etapa única, mas pontos de interrupção adicionais do usuário não são suportados no hardware.
Em vez disso, o depurador deve usar a instrução AVR BREAK. Esta instrução pode ser colocada em FLASH, e ao ser carregada para execução fará com que a CPU do AVR entre em modo parado. Para oferecer suporte a pontos de interrupção durante a depuração, o depurador deve inserir uma instrução BREAK no FLASH no ponto em que os usuários solicitam um ponto de interrupção. A instrução original deve ser armazenada em cache para substituição posterior.
Ao percorrer uma instrução BREAK, o depurador precisa executar a instrução original em cache para preservar o comportamento do programa. Em casos extremos, o BREAK deve ser removido do FLASH e substituído posteriormente. Todos esses cenários podem causar atrasos aparentes ao passar de pontos de interrupção, o que será exacerbado quando a frequência de clock de destino for muito baixa.
Assim, recomenda-se observar as seguintes orientações, sempre que possível:

  • Sempre execute o destino na frequência mais alta possível durante a depuração. A interface física debugWIRE é cronometrada a partir do clock de destino.
  • Tente minimizar o número de adições e remoções de pontos de interrupção, pois cada um exige que uma página FLASH seja substituída no destino
  • Tente adicionar ou remover um pequeno número de pontos de interrupção por vez, para minimizar o número de operações de gravação de página FLASH
  • Se possível, evite colocar pontos de interrupção em instruções de palavra dupla

4.4.16. Compreendendo o debugWIRE e o fusível DWEN
Quando habilitada, a interface debugWIRE assume o controle do pino /RESET do dispositivo, o que o torna mutuamente exclusivo para a interface SPI, que também precisa desse pino. Ao habilitar e desabilitar o módulo debugWIRE, siga uma destas duas abordagens:

  • Deixe o Atmel Studio cuidar de tudo (recomendado)
  • Defina e limpe DWEN manualmente (tenha cuidado, apenas usuários avançados!)

Os programadores do depurador Atmel-ICE - Figura 16 Importante: Ao manipular DWEN manualmente, é importante que o fusível SPIEN permaneça definido para evitar ter que usar High-Voltage programação
Figura 4-14. Compreendendo o debugWIRE e o fusível DWENOs programadores do depurador Atmel-ICE - Figura 304.4.17.TinyX-OCD (UPDI) Considerações especiais
O pino de dados UPDI (UPDI_DATA) pode ser um pino dedicado ou um pino compartilhado, dependendo do dispositivo AVR de destino. Um pino UPDI compartilhado é tolerante a 12 V e pode ser configurado para ser usado como /RESET ou GPIO. Para mais detalhes sobre como usar o pino nessas configurações, consulte UPDI Physical Interface.
Em dispositivos que incluem o módulo CRCSCAN (Cyclic Redundancy Check Memory Scan), este módulo não deve ser usado no modo de segundo plano contínuo durante a depuração. O módulo OCD tem recursos limitados de comparação de ponto de interrupção de hardware, portanto, as instruções BREAK podem ser inseridas no flash (pontos de interrupção de software) quando mais pontos de interrupção são necessários ou mesmo durante a revisão do código no nível do código-fonte. O módulo CRC pode detectar incorretamente esse ponto de interrupção como uma corrupção do conteúdo da memória flash.
O módulo CRCSCAN também pode ser configurado para executar uma varredura CRC antes da inicialização. No caso de uma incompatibilidade de CRC, o dispositivo não inicializará e parecerá estar em um estado bloqueado. A única maneira de recuperar o dispositivo desse estado é executar um apagamento completo do chip e programar uma imagem flash válida ou desabilitar o CRCSCAN de pré-inicialização. (Um simples apagamento de chip resultará em um flash em branco com CRC inválido e, portanto, a peça ainda não inicializará.) O Atmel Studio desativará automaticamente os fusíveis CRCSCAN ao apagar o chip de um dispositivo nesse estado.
Ao projetar um PCB de aplicação de destino onde a interface UPDI será usada, as seguintes considerações devem ser feitas para a operação correta:

  • Os resistores pull-up na linha UPDI não devem ser menores (mais fortes) que 10kΩ. Um resistor pull-down não deve ser usado ou deve ser removido ao usar UPDI. O UPDI físico é capaz de push-pull, portanto, apenas um resistor de pull-up fraco é necessário para evitar o acionamento do bit de início falso quando a linha é
  • Se o pino UPDI for usado como um pino RESET, qualquer capacitor estabilizador deve ser desconectado ao usar UPDI, pois irá interferir na operação correta da interface
  • Se o pino UPDI for usado como pino RESET ou GPIO, todos os drivers externos da linha devem ser desconectados durante a programação ou depuração, pois podem interferir no correto funcionamento da interface.

Descrição do Hardware

5.1. LEDs
O painel superior do Atmel-ICE possui três LEDs que indicam o status da depuração atual ou das sessões de programação.Os programadores do depurador Atmel-ICE - Figura 31

Mesa 5-1. LEDs

LIDERADO Função

Descrição

Esquerda Poder alvo VERDE quando a potência do alvo está OK. Piscando indica um erro de potência do alvo. Não acende até que uma conexão de sessão de programação/depuração seja iniciada.
Meio Potência principal VERMELHO quando a alimentação da placa principal está OK.
Certo Status Piscando em VERDE quando o alvo está correndo/pisando. OFF quando o alvo é parado.

5.2 . Painel traseiro
O painel traseiro do Atmel-ICE abriga o conector Micro-B USB.Os programadores do depurador Atmel-ICE - Figura 325.3. Painel inferior
O painel inferior do Atmel-ICE possui um adesivo que mostra o número de série e a data de fabricação. Ao procurar suporte técnico, inclua esses detalhes.Os programadores do depurador Atmel-ICE - Figura 335.4 .Descrição da Arquitetura
A arquitetura Atmel-ICE é mostrada no diagrama de blocos na Figura 5-1.
Figura 5-1. Diagrama de blocos Atmel-ICEOs programadores do depurador Atmel-ICE - Figura 345.4.1. Placa principal Atmel-ICE
A energia é fornecida ao Atmel-ICE a partir do barramento USB, regulada para 3.3 V por um regulador de modo de comutação redutor. O pino VTG é usado apenas como entrada de referência e uma fonte de alimentação separada alimenta o vol variáveltaglado dos conversores de nível integrados. No coração da placa principal Atmel-ICE está o microcontrolador Atmel AVR UC3 AT32UC3A4256, que roda entre 1MHz e 60MHz, dependendo das tarefas que estão sendo processadas. O microcontrolador inclui um módulo USB 2.0 de alta velocidade no chip, permitindo alta taxa de transferência de dados de e para o depurador.
A comunicação entre o Atmel-ICE e o dispositivo de destino é feita por meio de um banco de conversores de nível que deslocam os sinais entre o volume operacional do alvotage e o vol internotage nível no Atmel-ICE. Também no caminho do sinal estão zener overvoltage diodos de proteção, resistores de terminação em série, filtros indutivos e diodos de proteção ESD. Todos os canais de sinal podem ser operados na faixa de 1.62 V a 5.5 V, embora o hardware Atmel-ICE não possa gerar um voltage de 5.0 V. A frequência operacional máxima varia de acordo com a interface de destino em uso.
5.4.2. Conectores Atmel-ICE Target
O Atmel-ICE não tem uma sonda ativa. Um cabo IDC de 50 mil é usado para conectar ao aplicativo de destino diretamente ou por meio dos adaptadores incluídos em alguns kits. Para obter mais informações sobre cabeamento e adaptadores, consulte a seção Montagem do Atmel-ICE
5.4.3. Números de peça dos conectores de destino Atmel-ICE
Para conectar o cabo Atmel-ICE 50 mil IDC diretamente a uma placa de destino, qualquer cabeçote padrão de 50 mil e 10 pinos deve ser suficiente. É aconselhável usar cabeçalhos chaveados para garantir a orientação correta ao conectar ao alvo, como os usados ​​na placa adaptadora incluída no kit.
O número da peça para este cabeçalho é: FTSH-105-01-L-DV-KAP da SAMTEC

Integração de Software

6.1. Estúdio Atmel
6.1.1. Integração de Software no Atmel Studio
O Atmel Studio é um Ambiente de Desenvolvimento Integrado (IDE) para escrever e depurar aplicativos Atmel AVR e Atmel SAM em ambientes Windows. O Atmel Studio fornece uma ferramenta de gerenciamento de projetos, fonte file editor, simulador, montador e front-end para C/C++, programação, emulação e depuração on-chip.
O Atmel Studio versão 6.2 ou posterior deve ser usado em conjunto com o Atmel-ICE.
6.1.2. Opções de Programação
O Atmel Studio oferece suporte à programação de dispositivos Atmel AVR e Atmel SAM ARM usando o Atmel-ICE. A caixa de diálogo de programação pode ser configurada para usar JTAG, modos aWire, SPI, PDI, TPI, SWD, de acordo com o dispositivo de destino selecionado.
Ao configurar a frequência do relógio, diferentes regras se aplicam a diferentes interfaces e famílias de destino:

  • A programação SPI faz uso do clock de destino. Configure a frequência do relógio para ser inferior a um quarto da frequência na qual o dispositivo de destino está sendo executado no momento.
  • JTAG a programação em dispositivos Atmel megaAVR é ​​cronometrada pelo Isso significa que a frequência do relógio de programação é limitada à frequência operacional máxima do próprio dispositivo. (Geralmente 16MHz.)
  • Programação AVR XMEGA em ambos JTAG e as interfaces PDI são cronometradas pelo programador. Isso significa que a frequência do relógio de programação é limitada à frequência operacional máxima do dispositivo (geralmente 32MHz).
  • Programação AVR UC3 em JTAG interface é cronometrada pelo programador. Isso significa que a frequência do relógio de programação é limitada à frequência operacional máxima do próprio dispositivo. (Limitado a 33MHz.)
  • A programação do AVR UC3 na interface aWire é cronometrada pelo A frequência ideal é fornecida pela velocidade do barramento SAB no dispositivo de destino. O depurador Atmel-ICE ajustará automaticamente a taxa de transmissão aWire para atender a esse critério. Embora geralmente não seja necessário, o usuário pode limitar a taxa de transmissão máxima, se necessário (por exemplo, em ambientes ruidosos).
  • A programação do dispositivo SAM na interface SWD é cronometrada pelo programador. A frequência máxima suportada pelo Atmel-ICE é 2MHz. A frequência não deve exceder a frequência de CPU alvo vezes 10, fSWD ≤ 10fSYSCLK .

6.1.3. Opções de depuração
Ao depurar um dispositivo Atmel AVR usando o Atmel Studio, a guia 'Ferramenta' nas propriedades do projeto view contém algumas opções de configuração importantes. As opções que precisam de mais explicações são detalhadas aqui.
Frequência de relógio alvo
Definir com precisão a frequência do relógio de destino é vital para obter uma depuração confiável do dispositivo Atmel megaAVR sobre o JTAG interface. Essa configuração deve ser inferior a um quarto da frequência de operação mais baixa do seu dispositivo de destino AVR no aplicativo que está sendo depurado. Consulte Considerações especiais do megaAVR para obter mais informações.
As sessões de depuração em dispositivos de destino debugWIRE são cronometradas pelo próprio dispositivo de destino e, portanto, nenhuma configuração de frequência é necessária. O Atmel-ICE selecionará automaticamente a taxa de transmissão correta para comunicação no início de uma sessão de depuração. No entanto, se você estiver enfrentando problemas de confiabilidade relacionados a um ambiente de depuração ruidoso, algumas ferramentas oferecem a possibilidade de forçar a velocidade do debugWIRE para uma fração de sua configuração “recomendada”.
Sessões de depuração em dispositivos de destino AVR XMEGA podem ser cronometradas até a velocidade máxima do próprio dispositivo (geralmente 32MHz).
Sessões de depuração em dispositivos de destino AVR UC3 no JTAG interface pode ser cronometrada até a velocidade máxima do próprio dispositivo (limitada a 33MHz). No entanto, a frequência ideal será um pouco abaixo do relógio SAB atual no dispositivo de destino.
As sessões de depuração em dispositivos de destino UC3 pela interface aWire serão ajustadas automaticamente para a taxa de transmissão ideal pelo próprio Atmel-ICE. No entanto, se você estiver enfrentando problemas de confiabilidade relacionados a um ambiente de depuração ruidoso, algumas ferramentas oferecem a possibilidade de forçar a velocidade do aWire abaixo de um limite configurável.
Sessões de depuração em dispositivos de destino SAM na interface SWD podem ter clock de até dez vezes o clock da CPU (mas limitado a 2MHz no máximo).
Preservar EEPROM
Selecione esta opção para evitar apagar a EEPROM durante a reprogramação do alvo antes de uma sessão de depuração.
Usar redefinição externa
Se o seu aplicativo de destino desativar o JTAG interface, a reinicialização externa deve ser baixada durante a programação. Selecionar esta opção evita ser perguntado repetidamente se deve usar a reinicialização externa.
6.2 Utilitário de Linha de Comando
Atmel Studio vem com um utilitário de linha de comando chamado atprogram que pode ser usado para programar alvos usando o Atmel-ICE. Durante a instalação do Atmel Studio, um atalho chamado “Atmel Studio 7.0. Prompt de comando” foram criados na pasta Atmel no menu Iniciar. Ao clicar duas vezes neste atalho, um prompt de comando será aberto e os comandos de programação poderão ser inseridos. O utilitário de linha de comando é instalado no caminho de instalação do Atmel Studio na pasta Atmel/Atmel Studio 7.0/atbackend/.
Para obter mais ajuda sobre o utilitário de linha de comando, digite o comando:
atprogram -ajuda

Técnicas Avançadas de Depuração

7.1. Alvos Atmel AVR UC3
7.1.1. Uso de EVTI/EVTO
Os pinos EVTI e EVTO não são acessíveis no Atmel-ICE. No entanto, eles ainda podem ser usados ​​em conjunto com outros equipamentos externos.
O EVTI pode ser usado para os seguintes propósitos:

  • O destino pode ser forçado a interromper a execução em resposta a um evento externo. Se os bits Event In Control (EIC) no registro DC forem gravados em 0b01, a transição de alto para baixo no pino EVTI gerará uma condição de ponto de interrupção. O EVTI deve permanecer baixo por um ciclo de clock da CPU para garantir que um ponto de interrupção seja O bit de ponto de interrupção externo (EXB) no DS é definido quando isso ocorre.
  • Gerando mensagens de sincronização de rastreamento. Não usado pelo Atmel-ICE. O EVTO pode ser usado para os seguintes fins:
  • Indicando que a CPU entrou na depuração Definir os bits EOS em DC para 0b01 faz com que o pino EVTO seja puxado para baixo por um ciclo de clock da CPU quando o dispositivo de destino entra no modo de depuração. Este sinal pode ser usado como uma fonte de disparo para um osciloscópio externo.
  • Indicando que a CPU atingiu um ponto de interrupção ou ponto de controle. Ao definir o bit EOC em um registro de controle de ponto de interrupção/ponto de controle correspondente, o status do ponto de interrupção ou ponto de controle é indicado no pino EVTO. Os bits EOS em DC devem ser definidos como 0xb10 para habilitar esse recurso. O pino EVTO pode então ser conectado a um osciloscópio externo para examinar o ponto de controle
  • Gerando sinais de temporização de rastreamento. Não usado pelo Atmel-ICE.

7.2 Alvos debugWIRE
7.2.1.pontos de interrupção do software debugWIRE
O OCD debugWIRE é drasticamente reduzido quando comparado ao Atmel megaAVR (JTAG) TOC. Isso significa que ele não possui comparadores de ponto de interrupção de contador de programa disponíveis para o usuário para fins de depuração. Um desses comparadores existe para fins de operações run-to-cursor e de etapa única, mas pontos de interrupção adicionais do usuário não são suportados no hardware.
Em vez disso, o depurador deve usar a instrução AVR BREAK. Esta instrução pode ser colocada em FLASH, e ao ser carregada para execução fará com que a CPU do AVR entre em modo parado. Para oferecer suporte a pontos de interrupção durante a depuração, o depurador deve inserir uma instrução BREAK no FLASH no ponto em que os usuários solicitam um ponto de interrupção. A instrução original deve ser armazenada em cache para substituição posterior.
Ao percorrer uma instrução BREAK, o depurador precisa executar a instrução original em cache para preservar o comportamento do programa. Em casos extremos, o BREAK deve ser removido do FLASH e substituído posteriormente. Todos esses cenários podem causar atrasos aparentes ao passar de pontos de interrupção, o que será exacerbado quando a frequência de clock de destino for muito baixa.
Assim, recomenda-se observar as seguintes orientações, sempre que possível:

  • Sempre execute o destino na frequência mais alta possível durante a depuração. A interface física debugWIRE é cronometrada a partir do clock de destino.
  • Tente minimizar o número de adições e remoções de pontos de interrupção, pois cada um exige que uma página FLASH seja substituída no destino
  • Tente adicionar ou remover um pequeno número de pontos de interrupção por vez, para minimizar o número de operações de gravação de página FLASH
  • Se possível, evite colocar pontos de interrupção em instruções de palavra dupla

Histórico de versões e problemas conhecidos

8.1 .Histórico de Lançamento do Firmware
Tabela 8-1. Revisões de Firmware Público

Versão do firmware (decimal) Data

Mudanças relevantes

1.36 29.09.2016 Adicionado suporte para interface UPDI (dispositivos TinyX)
Tamanho do endpoint USB configurável
1.28 27.05.2015 Adicionado suporte para interfaces SPI e USART DGI.
Velocidade SWD melhorada. Pequenas correções de bugs.
1.22 03.10.2014 Adicionado perfil de código.
Problema corrigido relacionado a JTAG Daisy Chains com mais de 64 bits de instrução.
Correção para a extensão de redefinição do ARM. Corrigido o problema do LED de energia do alvo.
1.13 08.04.2014 JTAG correção de frequência do relógio.
Correção para debugWIRE com SUT longo.
Comando de calibração do oscilador fixo.
1.09 12.02.2014 Primeira versão do Atmel-ICE.

8.2. Problemas conhecidos relativos ao Atmel-ICE
8.2.1.Geral

  • Os lotes iniciais do Atmel-ICE tinham um USB fraco. Uma nova revisão foi feita com um conector USB novo e mais robusto. Como solução provisória, foi aplicada cola epóxi nas unidades já produzidas da primeira versão para melhorar a estabilidade mecânica.

8.2.2. Problemas específicos do Atmel AVR XMEGA OCD

  • Para a família ATxmegaA1, apenas a revisão G ou posterior é suportada

8.2.1. Atmel AVR – Problemas específicos do dispositivo

  • Ligar e desligar o ATmega32U6 durante uma sessão de depuração pode causar perda de contato com o dispositivo

Conformidade do produto

9.1. RoHS e WEEE
O Atmel-ICE e todos os acessórios são fabricados de acordo com a Diretiva RoHS (2002/95/EC) e a Diretiva WEEE (2002/96/EC).
9.2. CE e FCC
A unidade Atmel-ICE foi testada de acordo com os requisitos essenciais e outras provisões relevantes das Diretivas:

  • Diretiva 2004/108/CE (classe B)
  • FCC parte 15 subparte B
  • 2002/95/CE (RoHS, REEE)

Os seguintes padrões são usados ​​para avaliação:

  • EN 61000-6-1 (2007)
  • EN 61000-6-3 (2007) + A1 (2011)
  • FCC CFR 47 Parte 15 (2013)

A Construção Técnica File está localizado em:
Todos os esforços foram feitos para minimizar as emissões eletromagnéticas deste produto. No entanto, sob certas condições, o sistema (este produto conectado a um circuito de aplicação de destino) pode emitir frequências de componentes eletromagnéticos individuais que excedem os valores máximos permitidos pelos padrões acima mencionados. A frequência e a magnitude das emissões serão determinadas por vários fatores, incluindo layout e roteamento da aplicação de destino com a qual o produto é usado.

Histórico de revisão

Doutor. Rev.

Data

Comentários

42330C 10/2016 Interface UPDI adicionada e histórico de lançamento de firmware atualizado
42330 a.C. 03/2016 • Capítulo de depuração no chip revisado
• Nova formatação do histórico de lançamento do firmware no capítulo Histórico de lançamento e problemas conhecidos
• Pinagem de cabo de depuração adicionada
42330A 06/2014 Liberação de documento inicial

Atmel®, logotipo da Atmel e suas combinações, Habilitando Possibilidades Ilimitadas®, AVR®, megaAVR®, STK®, minúsculoAVR®, XMEGA®, e outras são marcas registradas ou marcas comerciais da Atmel Corporation nos Estados Unidos e em outros países. BRAÇO®, ARM conectado® logotipo, córtex®, e outras são marcas registradas ou marcas comerciais da ARM Ltd. Windows® é uma marca registrada da Microsoft Corporation nos EUA e/ou em outros países. Outros termos e nomes de produtos podem ser marcas comerciais de terceiros.
ISENÇÃO DE RESPONSABILIDADE: As informações neste documento são fornecidas em relação aos produtos Atmel. Nenhuma licença, expressa ou implícita, por preclusão ou de outra forma, para qualquer direito de propriedade intelectual é concedida por este documento ou em conexão com a venda de produtos Atmel. EXCETO CONFORME ESTABELECIDO NOS TERMOS E CONDIÇÕES DE VENDAS DO ATMEL LOCALIZADAS NO ATMEL WEBSITE, A ATMEL NÃO ASSUME NENHUMA RESPONSABILIDADE E RENUNCIA A QUALQUER GARANTIA EXPRESSA, IMPLÍCITA OU LEGAL RELACIONADA A SEUS PRODUTOS, INCLUINDO, SEM LIMITAÇÃO, A GARANTIA IMPLÍCITA DE COMERCIABILIDADE, ADEQUAÇÃO A UM DETERMINADO FIM OU NÃO VIOLAÇÃO. EM NENHUM CASO A ATMEL SERÁ RESPONSÁVEL POR QUAISQUER DANOS DIRETOS, INDIRETOS, CONSEQUENTES, PUNITIVOS, ESPECIAIS OU INCIDENTAIS (INCLUINDO, SEM LIMITAÇÃO, DANOS POR PERDAS E LUCROS, INTERRUPÇÃO DE NEGÓCIOS OU PERDA DE INFORMAÇÕES) DECORRENTES DO USO OU INCAPACIDADE DE USO ESTE DOCUMENTO, MESMO QUE A ATMEL TENHA SIDO AVISADA
DA POSSIBILIDADE DE TAIS DANOS. A Atmel não faz representações ou garantias com relação à precisão ou integridade do conteúdo deste documento e reserva-se o direito de fazer alterações nas especificações e descrições dos produtos a qualquer momento sem aviso prévio. A Atmel não se compromete a atualizar as informações aqui contidas. Salvo disposição em contrário, os produtos Atmel não são adequados e não devem ser usados ​​em aplicações automotivas. Os produtos da Atmel não são destinados, autorizados ou garantidos para uso como componentes em aplicações destinadas a dar suporte ou sustentar a vida.
ISENÇÃO DE RESPONSABILIDADE DE APLICAÇÕES DE SEGURANÇA CRÍTICA, MILITAR E AUTOMOTIVA: Os produtos da Atmel não foram projetados e não serão usados ​​em conexão com quaisquer aplicações em que se espera que a falha de tais produtos resulte em ferimentos pessoais significativos ou morte (“Segurança Crítica Applications”) sem o consentimento específico por escrito de um funcionário da Atmel. Aplicações críticas de segurança incluem, sem limitação, dispositivos e sistemas de suporte à vida, equipamentos ou sistemas para a operação de instalações nucleares e sistemas de armas. Os produtos da Atmel não são projetados nem destinados ao uso em aplicações ou ambientes militares ou aeroespaciais, a menos que especificamente designados pela Atmel como de nível militar. Os produtos da Atmel não são projetados nem destinados ao uso em aplicações automotivas, a menos que especificamente designados pela Atmel como de nível automotivo.

logotipo da AtmelCorporação Atmel
1600 Technology Drive, San Jose, CA 95110 EUA
T: (+1)(408) 441.0311
F: (+1)(408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
Rev.: Atmel-42330C-Atmel-ICE_Guia do usuário-10/2016
Os programadores do depurador Atmel-ICE - ícone 2

Documentos / Recursos

Atmel Os programadores do depurador Atmel-ICE [pdf] Guia do Usuário
Os programadores de depuradores Atmel-ICE, os programadores de depuradores Atmel-ICE, programadores

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *