collapse

* Posts Recentes

Arame de Estendal por almamater
[Ontem às 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]

Autor Tópico: Raspberry Pico - Desenvol. em C/C++, assembly, GDB, freeRTOS - Rust e RTIC  (Lida 1217 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 257
Boa noite a todos,

Gostaria de partilhar a seguinte informação avançada sobre programação com Raspberry Pi Pico.

Play List - Raspberry Pi Pico
https://www.youtube.com/playlist?list=PLc7W4b0WHTAV6EYRVayb9c9dEsq-NeXAt

Play List - ARM Assembly - Para micro-controladores
youtube.com/playlist?list=PLc7W4b0WHTAXkCy3RUAO0Eqx52ALTLUdq

Getting Started with Debugging using GDB - Find Bugs in Your Code with A Couple Easy Commands


Play List - Intro to Raspberry Pi Pico and RP2040 - DigiKey
https://www.youtube.com/playlist?list=PLEBQazB0HUyQO6rJxKr2umPCgmfAU-cqR

---------

Rust no Raspberry Pico.

Getting Started with Rust on a Raspberry Pi Pico (Part 1)
https://reltech.substack.com/p/getting-started-with-rust-on-a-raspberry

Getting Started with Rust on a Raspberry Pi Pico (Part 2)
https://reltech.substack.com/p/getting-started-with-raspberry-pi

Getting Started with Rust on a Raspberry Pi Pico (Part 3)
https://reltech.substack.com/p/getting-started-with-rust-on-a-raspberry-a88


Normalmente para ter-se um interface de série para o Raspberry Pico tem de se ligar uma conversor USB-Serial por exemplo com um chip FTDI. Mas como o micro-controlador do pico implementa USB por hardware basta ter o stack em falta de USB em software para implementar qualquer tipo de device USB no Pico.

E o link para o project template seguinte de um comentário da página anterior:

--
Oleg Eterevsky Dec 5, 202 1Liked by Jim Hodapp
Hey! Thank you for this series of post.

I was just playing around with some RP2040 controllers, and ended up with a slightly simpler setup (IMO). Instead of using a separate controller for handling the debug, I've just set up debug logging via USB serial port. This requires a bit more boilerplate (handling the USB interrupt and such), but is much simpler from the hardware perspective: you need to just plug in a single Pico board in your USB, flash it and you can immediately see the debug output.

Here's my USB_Serial - repo:
https://github.com/eterevsky/rp2040-blink
--

O project template anterior funciona graças a este crate / package:

usb-device - Experimental device-side USB stack for embedded devices.
https://crates.io/crates/usb-device

HAL - Hardware Abstraction Layer

Github   rp-hal - Rust support for the "Raspberry Silicon" family of microcontrollers
https://github.com/rp-rs/rp-hal

rp2040_hal - Documentation
https://github.com/rp-rs/rp-hal

Exemplos Rust para a board do rp-pico
https://github.com/rp-rs/rp-hal/tree/main/boards/rp-pico

Exemplos Rust genéricos para a HAL do Pico -  rp2040-hal
https://github.com/rp-rs/rp-hal/tree/main/rp2040-hal/examples

NOTA_1: Vejam o exemplo de RTIC para micro-controladores que é um mini sistema operativo muito rápido em Rust.

NOTA_2: Pode-se fazer o reboot por botão externo de Run a GND, fazendo com que se carregue no botão de Boot e enquanto este tiver carregado, carrega-se num botão externo no pino Run a GND e depois solta-se o botão de Boot e ele entra em modo de programação. Isto sem ser necessário retirar o cabo USB e voltar a ligar.

Com o modulo de USB programado no MCU também se pode fazer o equivalente a um SCANF() do porto USB-Serial e depois emitir um reboot em modo de boot loader de programação sem ter de carregar no botões (pode estar dentro de um script). Nota: Eu ainda não testei esta parte mas deve funcionar.

Obrigado,

Cumprimentos,
João