Planned Targets
These targets are on the roadmap but are not yet supported.
Planned MCU Targets
| Target | Chip | CPU | Notes |
|---|---|---|---|
stm32f4 | STM32F4xx | Cortex-M4F | Widespread in hobbyist and industrial hardware |
samd21 | ATSAMD21 | Cortex-M0+ | Found on Arduino Zero, Adafruit boards |
samd51 | ATSAMD51 | Cortex-M4F | Found on Adafruit Metro M4, Feather M4 |
nrf52 | nRF52840 | Cortex-M4F | BLE-capable; popular for wireless firmware |
rp2350-riscv | RP2350 | RISC-V (Hazard3) | RISC-V mode on the RP2350 chip |
esp32 | ESP32-C3 / C6 | RISC-V | Wi-Fi/BLE capable; popular for IoT firmware |
Planned Host Targets
Host targets are planned once the MCU pipeline matures. The current focus is getting the embedded path right.
| Target | Architecture | Notes |
|---|---|---|
Linux x86_64 | x86-64 | Desktop / server |
Linux aarch64 | ARMv8 | Raspberry Pi, Apple Silicon VMs |
Linux riscv64 | RISC-V 64-bit | Emerging platform |
macOS x86_64 | x86-64 | Intel Mac |
macOS aarch64 | ARMv8 | Apple Silicon |
Host targets use the same Flint source language. micro/* and board/* packages are MCU-only. core/* and std/* packages work on both, with target-specific implementations under the hood.
Backend Design
The compiler’s backend architecture is designed now so these targets fit later without requiring fundamental changes. The FIR (Flint IR) is target-independent. New targets add a machine-lowering stage and a code generation backend, not new language features.
Contributing
If you want to bring up a new target, the right starting point is:
- Add the target identifier to the manifest parser.
- Implement a machine-lowering stage from FIR to target-specific machine IR.
- Implement a code generation backend (instruction selection, register allocation).
- Add a
hal/*package for chip startup, clock, and timer bring-up. - Add
micro/*implementations for the standard peripheral surface. - Add a board package for at least one common board.
- Add end-to-end test cases.
The flint-backend crate and flint-lower crate are the starting points for understanding the current pipeline.