{"id":23877824,"url":"https://github.com/albanseurat/aos","last_synced_at":"2026-04-19T02:31:29.737Z","repository":{"id":55531216,"uuid":"203240551","full_name":"AlbanSeurat/aos","owner":"AlbanSeurat","description":"Raspi3 bare-bone playground with Rust Programming language","archived":false,"fork":false,"pushed_at":"2025-03-16T11:17:30.000Z","size":951,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T12:26:37.820Z","etag":null,"topics":["bare-metal","operating-system","os","raspberry-pi","raspberry-pi-3","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlbanSeurat.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-08-19T19:53:08.000Z","updated_at":"2025-03-16T11:17:33.000Z","dependencies_parsed_at":"2025-03-16T12:22:45.974Z","dependency_job_id":"74797516-8ff8-4cee-ad8a-d32955951339","html_url":"https://github.com/AlbanSeurat/aos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlbanSeurat/aos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanSeurat%2Faos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanSeurat%2Faos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanSeurat%2Faos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanSeurat%2Faos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlbanSeurat","download_url":"https://codeload.github.com/AlbanSeurat/aos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanSeurat%2Faos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31991954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bare-metal","operating-system","os","raspberry-pi","raspberry-pi-3","rust"],"created_at":"2025-01-03T20:19:59.978Z","updated_at":"2026-04-19T02:31:29.682Z","avatar_url":"https://github.com/AlbanSeurat.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AoS\n\nSmall playground bare-metal programming for raspberry pi 3+ (my own)\n\nI have been inspired by https://github.com/bztsrc/raspi3-tutorial and https://github.com/rust-embedded/rust-raspi3-OS-tutorials\n\n\n## setup env`(macOS)\n\n```./setup.sh```\n\n## compile and run \n\n* to compile rust programs\n\n```make```\n\n* to run the kernel and programs\n\nsetup the tty to simulate the serial \n\n```socat pty,link=cu.serial-master,raw,echo=0 pty,link=cu.serial-slave,raw,echo=0```\n\nprepare the sender\n\n```pip install pyserial```\n\n```python3 load.py cu.serial-slave```\n\nrun arguments\n\n```./run.sh```\n\n#### show instructions and interruption\n\n```./run.sh -d in_asm,int ```\n\n\n## Run on real hardware \n\n* wire the cable et setup the link \n\n```python3 load.py `ls /dev/cu.usb*` ```\n\n* launch raspi (python will show the debug output)\n\n## copy on SD card and run on Raspi\n\nFiles to be found here : \nhttps://github.com/raspberrypi/firmware/tree/master/boot\n\n - bootcode.bin\n - start.elf\n - fixup.dat\n\nSchematics with my USB-to-serial \n\n\n## Troubleshooting \n\n#### Exception Handling \n\nReference : SysReg_xml_v85A-2019-06.pdf (page 418)\n\nELR : The execption returns (where the exception occured if data fault or synchronous)\nESR_ELx : Register holding exception information : \n\nEC : Exception Class \n\n\n\n\n#### Disassembling \n\n- Disassemble stripped version \n\n```aarch64-none-elf-objdump -b binary -maarch64 -D program.img```\n\n- Disassemble  version with symbol\n\naarch64-none-elf-objdump -g -D target/aarch64-unknown-none/release/aos-kernel\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbanseurat%2Faos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbanseurat%2Faos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbanseurat%2Faos/lists"}