probe-rs e cargo-embed

probe-rs é um conjunto de ferramentas útil para depuração embarcada, como o OpenOCD, mas melhor integrado.

  • SWD (Serial Wire Debug) e JTAG via CMSIS-DAP, sondas ST-Link e J-Link
  • GDB stub e servidor Microsoft DAP (Debug Adapter Protocol)
  • Integração com o Cargo

cargo-embed é um subcomando do cargo para compilar e gravar binários, registrar a saída do RTT (Real Time Transfers) e conectar o GDB. Ele é configurado por um arquivo Embed.toml no diretório do seu projeto.

  • CMSIS-DAP é um protocolo padrão da Arm sobre USB para um depurador em circuito acessar a porta de acesso de depuração CoreSight de vários processadores Arm Cortex. É o que o depurador embarcado no BBC micro:bit usa.
  • ST-Link é uma gama de depuradores em circuito da ST Microelectronics, J-Link é uma gama da SEGGER.
  • A porta de acesso de depuração geralmente é uma interface JTAG de 5 pinos ou depuração Serial Wire de 2 pinos.
  • probe-rs é uma biblioteca que você pode integrar em suas próprias ferramentas se quiser.
  • O Microsoft Debug Adapter Protocol permite que o VSCode e outras IDEs depurem o código executado em qualquer microcontrolador suportado.
  • cargo-embed é um binário construído usando a biblioteca probe-rs.
  • RTT (Real Time Transfers) é um mecanismo para transferir dados entre o host de depuração e o destino através de um número de ringbuffers.