Pular para o conteúdo principal

Como usar placas Arduino como dispositivo DAPLink

Arm Mbed DAPLink é um projeto de software open source que programa e depura o software de aplicação em execução em CPUs Arm Cortex. DAPLink é frequentemente referido como firmware de interface e é executado em um MCU auxiliar conectado à porta SWD ou JTAG do MCU de aplicação. Essa configuração está disponível em quase todas as placas de desenvolvimento. Ela cria uma ponte entre o seu computador de desenvolvimento e a porta de acesso de depuração da CPU.

Por favor, visite também DAPLink para mais informações.

Agora, desenvolvemos o firmware DAPLink em execução nas suas placas Arduino (Série SAMD), como Wio Terminal e Seeeduino Xiao, para que você possa fazer upload e depurar placas de desenvolvimento que suportam DAPLink da forma mais econômica possível!

Recursos

  • Depurar e gravar CPUs Arm Cortex
  • Fornece uma porta serial virtual, eliminando a necessidade de um conversor USB para porta serial
  • Arrastar e soltar para enviar firmware (em breve)

Placas compatíveis

Ele oferece suporte a todas as placas SAMD da Seeed:

nota

Certifique-se de ter instalado a biblioteca mais recente da placa ArduinoSAMD para Seeed (>=1.8.1) para que isso funcione!

Primeiros passos

  1. Visite o repositório Seeed_Arduino_DAPLink e faça o download de todo o repositório para o seu disco local.

  2. Agora, a biblioteca Seeed_Arduino_DAPLink pode ser instalada no Arduino IDE. Abra o Arduino IDE e clique em sketch -> Include Library -> Add .ZIP Library, e escolha o arquivo Seeed_Arduino_DAPLink que você acabou de baixar.

InstallLibrary

2. Instalando a biblioteca Adafruit_TinyUSB_Arduino

  1. Visite o repositório Adafruit_TinyUSB_Arduino e faça o download de todo o repositório para o seu disco local.

  2. Agora, a biblioteca Adafruit_TinyUSB_Arduino pode ser instalada no Arduino IDE. Abra o Arduino IDE e clique em sketch -> Include Library -> Add .ZIP Library, e escolha o arquivo Adafruit_TinyUSB_Arduino que você acabou de baixar.

Personalizando definições de pinos

Se você estiver usando Wio Terminal ou Seeeduino Xiao, pode pular esta seção e simplesmente usar as definições padrão.

  • As definições de pinos para DAPLink são definidas em DAP_config.h em Seeed_Arduino_DAPLink/src, consulte o seguinte:

Enviar para placas Arduino

Abra o simple_daplink.ino em Seeed_Arduino_DAPLink/example usando o Arduino IDE. Em Tools -> USB Stack escolha TinyUSB.

Compile e envie o código!

Exemplo de conexão de hardware

Neste wiki, usamos a placa de desenvolvimento STM32F410RB como exemplo de conexão:

Se você tiver alterado as definições de pinagem, conecte de acordo com as suas próprias definições.

  • Exemplo de conexão com Seeeduino Xiao
  • Exemplo de conexão com Wio Terminal

Exemplo de depuração e gravação para IDEs

Nossa placa Arduino agora se torna nosso dispositivo DAPLink para envio para MCUs! Vamos ver alguns exemplos para diferentes IDEs para referência.

Depuração com OpenOCD

  • Conecte o Arduino DAPLink ao alvo de desenvolvimento de acordo com a conexão acima e ao seu PC.

  • Certifique-se de ter instalado o OpenOCD.

  • Abra o Terminal e execute o seguinte:

Altere para o alvo do seu dispositivo de acordo com a sua placa de desenvolvimento, você pode consultar a documentação oficial como referência.

openocd -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg
  • No caminho de build do projeto da sua placa de desenvolvimento, execute o gcc, que será algo como abaixo:
  • no gdb, conecte ao host local executando o seguinte:
target remote 127.0.0.1:3333
  • Agora a placa de desenvolvimento está conectada, você pode começar a depurar ou fazer upload!

Execute load para enviar para a placa de desenvolvimento:

Alguns comandos úteis para o GDB:

  • continue/cont
  • ctrl+c
  • next
  • break
  • info break
  • clear
  • delete
  • list

Depuração com Eclipse

Para o Eclipse, é muito semelhante ao OpenOCD, pois ele pode usar o OpenOCD como backend.

  • Navegue até Help -> Eclipse Marketplace, pesquise e baixe Eclipse Embedded CDT:
  • Navegue até Window -> Preference -> MCU -> Global OpenOCD Path e preencha o caminho do seu OpenOCD como a seguir:
  • Faça o build do seu projeto. Em Run Last Tool, clique em External Tools Configurations:
  • Copie as seguintes configurações, altere para o seu caminho (e também para sua placa alvo).

Se tudo correr bem, deve ficar algo assim:

  • Em Debug, clique em Debug Configurations, selecione a seção Debugger e preencha o caminho do seu gcc:

Agora está tudo certo e pronto para depurar!

Para mais referências, verifique aqui.

Depuração com Keil

  • Conecte o Arduino DAPLink ao alvo de desenvolvimento de acordo com a conexão acima e ao seu PC.

Para usar nosso Arduino DAPLink no Keil, verifique o seguinte:

  • Abra o seu projeto com o Keil e clique em Options for target.

Você deve ver uma janela como a abaixo. Certifique-se de que o dispositivo corresponde ao seu dispositivo. Navegue até a seção Debug e selecione CMSIS-DAP Debugger.

  • Clique em settings ao lado de CMSIS-DAP Debugger.
  • Escolha Seeed CMSIS-DAP (nossa placa Arduino) e você deverá ver que ela está conectada.
  • Você também pode navegar até a seção Flash Download para se certificar de que é o dispositivo correto e clicar em OK.
  • Clique em Build e Flash!

Depuração com IAR Embedded Workbench

  • Conecte o Arduino DAPLink ao alvo de desenvolvimento de acordo com a conexão acima e ao seu PC.

  • Abra o seu projeto e navegue até Project -> Options. No menu Options, selecione Debugger:

  • Na aba Setup, selecione CMSIS DAP no menu suspenso Driver.
  • Na aba Download, marque Verify download e Use flash loader(s)
  • Selecione CMSIS DAP no menu à esquerda, selecione a aba Interface e configure o protocolo SWD.
  • Clique em OK e você pode clicar em Download and Debug!

Uso da serial

Para facilitar a vida, também implementamos uma função USB para Serial no Arduino Sketch, o que dispensa a necessidade de hardware adicional!

  • Por padrão, ela é definida como Serial1 e são os pinos de Hardware Serial. Por exemplo, são os pinos 6 e 7 para o Seeeduino XIAO.
nota

Você pode definir a sua própria Serial no Arduino Sketch.

Para uso de referência, verifique aqui.

Recursos

Suporte Técnico e Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...