{"id":19604383,"url":"https://github.com/thenewwazoo/chibios-rust","last_synced_at":"2025-04-27T19:32:35.346Z","repository":{"id":145954967,"uuid":"99398535","full_name":"thenewwazoo/ChibiOS-rust","owner":"thenewwazoo","description":"ChibiOS for Rust","archived":false,"fork":false,"pushed_at":"2019-08-25T15:58:59.000Z","size":39,"stargazers_count":18,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T02:21:56.203Z","etag":null,"topics":["arm","chibios","chibios-rtos","rtos","rust","rust-embedded"],"latest_commit_sha":null,"homepage":"","language":"C","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/thenewwazoo.png","metadata":{"files":{"readme":"README.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-05T04:17:21.000Z","updated_at":"2024-08-28T11:50:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"e52cc186-e00a-4f88-8d8e-b54ecc509d53","html_url":"https://github.com/thenewwazoo/ChibiOS-rust","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/thenewwazoo%2FChibiOS-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenewwazoo%2FChibiOS-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenewwazoo%2FChibiOS-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenewwazoo%2FChibiOS-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thenewwazoo","download_url":"https://codeload.github.com/thenewwazoo/ChibiOS-rust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251196023,"owners_count":21550888,"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":["arm","chibios","chibios-rtos","rtos","rust","rust-embedded"],"created_at":"2024-11-11T09:36:38.144Z","updated_at":"2025-04-27T19:32:35.340Z","avatar_url":"https://github.com/thenewwazoo.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nChibiOS is pretty cool. Rust is pretty cool.\n\nThis is an attempt to get ChibiOS useful via Rust. Or maybe it's to make Rust useful on ChibiOS.\n\nSetup\n-----\n\n```bash\n$ rustup override set nightly\n$ cargo install xargo\n$ brew install llvm # per https://rust-lang-nursery.github.io/rust-bindgen/requirements.html\n```\n\nUpdate the `memory.x` file to reflect the layout of your hardware.\n\nBuild\n-----\n\nSelecing your desired hardware is kind of an ugly process at the moment, and not very well\nfleshed-out. ChibiOS requires a few flags to specify the port (i.e. CPU type), which we need\nto pass in to the build script. As such, each CPU will need to get its own feature which will\ngate compilation of `libchibios.a`, manage `bindgen`, as well as set handlers in `main.rs`.\n\nSee [`Cargo.toml`](Cargo.toml) to dive into it. If you're not adding your own chip, the following\nare currently supported:\n\n* `stm32f407xg`\n* `stm32f051x8`\n\nPass them to Cargo using the `--features` flag, e.g.\n\n```bash\n$ xargo build --target thumbv7m-none-eabi --features stm32f407xg\n```\n\nUse\n---\n\nI like openocd and gdb.\n\n```bash\n$ openocd -f board/stm32f0discovery.cfg -c '$_TARGETNAME configure -rtos auto' -c 'gdb_port 3333' # or whatever\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenewwazoo%2Fchibios-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthenewwazoo%2Fchibios-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenewwazoo%2Fchibios-rust/lists"}