Hi, regarding the port to the STM32L476RG — work in progress :) I’m wondering about UART transmission. I noticed that some boards (e.g. Nucleo, Discovery) use interrupts, while others use DMA as well. Should I use UART with DMA, or is DMA optional at this stage? Kamil pon., 3 lis 2025 o 16:10 Leon Schuermann <leon@is.currently.online> napisał(a):
I'm excited seeing the progress made on this port!
Kamil Duljas via Devel <devel@lists.tockos.org> writes:
I noticed that GPIO code for F3 F4 and L4 is 80-90% the same. maybe we could extract it as a common part like stm32x ? I guess it could be done for many pheripherials.
Yes! In general, avoiding such code duplication is desirable, and there should be plenty of existing examples in the `chips/` folder, like `nrf5x` or `stmf4xx`.
However, Tock has some particular (and somewhat implicit) conventions when it comes to code-sharing for multiple targets. For instance, we generally discourage conditional compilation by means of Cargo features (`#[cfg(...)]`) in our code, as that makes code harder to test.
For a new target, I think it could be good to first get a chip and board crate merged (which perhaps duplicates some code that is not completely identical and thus trivially sharable between chips), and then split out that common infrastructure in a follow-up PR. This way you won't risk de-railing the PR to add the board over discussions on how to organize that shared infrastructure.
-Leon
-- Pozdrawiam, Kamil Duljas