| Crates.io | sam3x-flash |
| lib.rs | sam3x-flash |
| version | 0.2.5 |
| created_at | 2025-12-28 01:31:35.535603+00 |
| updated_at | 2025-12-28 01:52:58.927746+00 |
| description | Flash algorithm for the Atmel SAM3X/A family. |
| homepage | https://sr.ht/~az1/sam3x-rs/ |
| repository | https://git.sr.ht/~az1/sam3x-flash |
| max_upload_size | |
| id | 2008103 |
| size | 77,440 |
sam3x-flashA flash algorithm for the Atmel SAM3X/A family of Arm Cortex M3 based microcontrollers.
Its big advantages over the stock Atmel algorithm are that it will allow probe-rs to properly reset the board after writing a program and that it defines a contiguous RAM region that represents the entirety of the on-chip RAM.
The latter is required for probe-rs to instantiate RTT.
The generated algorithm and probe-rs compatible chip description file are located in the generated directory.
target-gen must be installed in your path via e.g. cargo install.
To use as-is with probe-rs set the --chip-description-path option to point at the appropriate YAML file in the generated directory.
To build an algorithm simply run cargo run --bin=VARIANT where VARIANT is the chip you're targeting. Supported variants:
sam3a4csam3x4csam3x4esam3a8csam3x8csam3x8esam3x8hUnless you have a probe connected to your computer and to a supported device the build will "fail", but the ELF and YAML artifacts will be generated successfully. If you have a probe and target device connected its flash will be wiped per the algorithm.
The YAML artifacts for probe-rs are located in: target/.
The Open-CMSIS-Pack compliant ELF artifacts for other tools are located in: target/thumbv7m-none-eabi/.