collapse

* Posts Recentes

No meio desta crise de MCUs e dev-boards quais as dev-boards que estão a usar? por jm_araujo
[Ontem às 23:54]


Meu novo robô por senso
[Ontem às 22:38]


Dimmer PWM para controlo de resistencia eletrica 2500W por blabla
[26 de Janeiro de 2022, 21:28]


STM32 BluePill in Rust - Project template por blabla
[25 de Janeiro de 2022, 09:45]


Pequenos guias com informação sobre programação e eletrónica. por blabla
[23 de Janeiro de 2022, 21:28]


GPS Disciplined Oscillator por SerraCabo
[23 de Janeiro de 2022, 00:44]


Fita de LEDs RGB por blabla
[18 de Janeiro de 2022, 13:47]


KGM Edgelit Displays por SerraCabo
[18 de Janeiro de 2022, 10:25]


Saiu Kicad 6.0.1 por SerraCabo
[17 de Janeiro de 2022, 16:47]


Keyboard - A promessa de se atingir 500+WPM - Words Per Minute por blabla
[16 de Janeiro de 2022, 14:00]

Autor Tópico: Rust e programação de micro-controladores.  (Lida 291 vezes)

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

Online blabla

  • Mini Robot
  • *
  • Mensagens: 101
Rust e programação de micro-controladores.
« em: 31 de Agosto de 2021, 08:41 »
Bom dia a todos,

Dentro em breve vai sair a 3º edição de Rust, o chamado Rust 2021.

Rust neste momento já tem um grande suporte para vários micro-controladores (incuindo toda a família STM32 e futuramente para ESP32 (Tensilica e Risc-V) patrocinado pela própria EspressIF, entre outros micro-controladores) e para muitos drivers.

O desenvolvimento para micro-controladores em Rust pode ser feito a vários níveis, tal como camadas de uma cebola, podemos escolher a que nível se pretende trabalhar (o que também acontece no desenvolvimento em algumas famílias de micro-controladores).

Para perceberem, contextualizarem e navegarem nas diversas camadas vejam este pequeno vídeo que o explica em grande detalhe:

Video - An Overview of the Embedded Rust Ecosystem


De uma forma geral todo o eco-sistema de Rust para sistemas embebidos pode ser visto em:

Awesome embedded rust - Github
https://github.com/rust-embedded/awesome-embedded-rust

Existem excelentes livros em creative commons a ensinar a programar em Rust para sistemas embebidos.

Discovery Book
https://docs.rust-embedded.org/discovery/

The Embedded Rust Book
https://docs.rust-embedded.org/book/

Workbook for Embedded Workshops - Book
https://embedded-trainings.ferrous-systems.com/

The Embedonomicon Book
https://docs.rust-embedded.org/embedonomicon/

Gostava no entanto de salientar um sistema operativo em Real Time. O RTIC, é mais um scheduler mas ao contrario de um FreeRTOS a comutação entre Threads/Tasks não está na escala do 1ms mas sim de 1 micro segundo ou ainda menos. Tendo somente o peso de uma chamada de Interrupt, pois a comutação é feita por hardware.

Podem ver os detalhes nos seguintes videos:

Video - RTIC: Real Time Interrupt driven Concurrency
RTIC is a RTOS - Real Time Operating System.


Github - rtic-rs - cortex-m-rtic
See RTIC book documentation.
https://github.com/rtic-rs/cortex-m-rtic

Video - Grepit about the Rust RTIC framework


Por fim gostava de vos deixar com um pequeno projeto de um Logical Analyser feito em Rust com um Blue Pill.

Video - Building a simple logic analyser in Rust
Rust Linz, September 2020 - Roland Ruckerbauer - Embedded Rust

Slides
https://github.com/ruabmbua/rlogic/blob/master/presentation.pdf
Github - ruabmbua / rlogic
https://github.com/ruabmbua/rlogic

Caso pretendam saber mais sobre Rust com sistemas embebidos ou sistemas embebidos em geral, vejam o pequeno guia:

How to learn modern Embedded Systems
https://github.com/joaocarvalhoopen/How_to_learn_modern_Embedded_Systems

Caso pretendam aprender Rust, vejam o pequeno guia:

How to learn modern Rust
https://github.com/joaocarvalhoopen/How_to_learn_modern_Rust

Obrigado,

Cumprimentos,
João