{"id":13815899,"url":"https://github.com/Logiase/stm32-rustup","last_synced_at":"2025-05-15T12:31:07.927Z","repository":{"id":104428719,"uuid":"319600210","full_name":"Logiase/stm32-rustup","owner":"Logiase","description":"A guide to rust your stm32 microcontroller","archived":false,"fork":false,"pushed_at":"2021-01-08T08:45:58.000Z","size":897,"stargazers_count":30,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-19T12:49:28.215Z","etag":null,"topics":["embedded","embedded-rust","mcu","rust","stm32","stm32f429"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Logiase.png","metadata":{"files":{"readme":"README.EN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-12-08T10:14:08.000Z","updated_at":"2024-09-04T08:44:07.000Z","dependencies_parsed_at":"2023-03-13T14:56:04.968Z","dependency_job_id":null,"html_url":"https://github.com/Logiase/stm32-rustup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logiase%2Fstm32-rustup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logiase%2Fstm32-rustup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logiase%2Fstm32-rustup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Logiase%2Fstm32-rustup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Logiase","download_url":"https://codeload.github.com/Logiase/stm32-rustup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254340968,"owners_count":22054954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embedded","embedded-rust","mcu","rust","stm32","stm32f429"],"created_at":"2024-08-04T05:00:19.574Z","updated_at":"2025-05-15T12:31:07.083Z","avatar_url":"https://github.com/Logiase.png","language":"Rust","funding_links":[],"categories":["Codes"],"sub_categories":[],"readme":"# stm32-rustup\n\nA guide about rustup your stm32 mcu.\n\nWIP\n\n## Why use Rust\n\nRust as a new-generation programming language has a lot of\nmodern features than C and C++.\nMeans that using Rust has a better experience.\n\nAnd Rust has a great variety crates in `no_std`.\n\nAs Rust has a lot of modern features, it's possible to transplant your code\nto other type of chips, even other target such as RISC-V and AVR.\n\nSee [Transplant](#Transplant)\n\n![crates](/imgs/crates.png)\n\n\u003e well done !\n\n## Try out\n\n### IDE\n\nI'm using VSCode, and install these extensions:\n\n- crates\n- rust-analyzer\n\n\u003e NOTE: bug fixed. Use latest version, at least `0.2.441`.\n\u003e there is a bug in the newest version of `rust-analyzer`,\n\u003e which can NOT parse macro properly, before the bug fixed,\n\u003e please use version `0.2.400` instead.\n\u003e\n\u003e newest version now: `0.2.408`\n\n## device\n\nmy device is a STM32F429IGT6 chip and other peripherals\nwhich I'll introduce in Section [resource](#resource)\n\nAs using Rust, you do not have to use a same board even a same target (ARM),\nyou can try the examples use your own device.\n\nOh, and a ST-Link debugger and TTL-Serial transformer and two usb cable\n\n## Resource\n\nThe resource used in examples\n\nHigh-Speed-External : 25MHz\n\n- PB0 - A green LED\n- PB1 - A red LED\n- PA0 - WK_UP\n- PC13 - key\n- PH2 - key\n- PH3 - key\n\n## Transplant\n\nIf you want to try out the examples in your device\n\n1. according to your device's manufacture, edit the memory layout `memory.x`\n2. fix the dependencies in `cargo.toml`\n3. redeclare pins in examples\n\nAnd if you want try in another architecture chip\n\n1. edit anything about target in `.cargo/config`\n2. edit `cargo.toml` to add crates about HAL, PAC\n3. Optionally, edit `.vscode/settings.json` to make vscode check your code correctly\n\n## Read More\n\n- [Lib.rs](https://lib.rs) you can find a lot `no_std' crates here\n- [crates.io](https://crates.io)\n- [awesome-embedded-rust](https://github.com/rust-embedded/awesome-embedded-rust)\n  you can find a lot crates about embedded, such as hardware driver, HAL, PAC.\n  \n## Q\u0026A\n\nI'm also a noob.\n\nSo just open an issue, and I'll try my best to answer.\n\nGive me a star to let me know this repo helps you and encourage me to do more.\n\n## Author\n\n@Logiase\n\n## LICENSE\n\n[MIT LICENSE](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLogiase%2Fstm32-rustup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLogiase%2Fstm32-rustup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLogiase%2Fstm32-rustup/lists"}