WarFox Posted September 7, 2022 Share Posted September 7, 2022 (edited) So this project isn't 100% complete, and it may be a bit before I complete it, but I wanted to share the code. The premise of this tool is to allow faster low level development doing bare metal programming on a Raspberri Pi 4B, and potentially faster development of an operating system/kernel. It can be a pain to write code, flash it to an SD card on another machine, then transfer it to the Pi4B, or with a USB. These two tools are meant to more streamline early development processes. Sita Sita is the name for a bare bones C-kernel that will facilitate several functions on the Pi4B. This is communicate over the serial port via UART and execute functions. Warning: The make file was written geared towards compiling it on an M1 MacbookAir. Ganapati Is essentially a communication program in rust to communicate with Sita over USB Serial connection via UART. Agni Agni is the name of the protocol I've cooked up to conduct this over. It is pretty basic. I even wrote a little bit of documentation for it in a repo that can be 'compiled' using MDBook. Central Idea Using the the agni protocol, one has 3 basic methods to call. A peek and poke like method from the days of when machine would ran Basic. You can read what is in a memory address and write to a specific memory address. Ideal for verifying things with registers since datasheets are not always as thorough as we will. Then having the ability to stream compiled binary code over and eventually jump to is and begin executing it. Sita would read it in and place it directly into RAM, jumping to the start address of the program. Repositories https://github.com/martintc/Sita https://github.com/martintc/ganapati https://github.com/martintc/Agni Edited September 7, 2022 by WarFox Added some more details 1 Link to comment Share on other sites More sharing options...
cwade12c Posted September 7, 2022 Share Posted September 7, 2022 Holy hell, this is awesome! It's been forever since I've done anything with a Pi, but I'll definitely need to try this out! I'm currently reading all of the md files in Agni, seriously, great work Link to comment Share on other sites More sharing options...
WarFox Posted September 25, 2022 Author Share Posted September 25, 2022 Just a heads up for people curious. I just pushed some commits for a new Makefile for compiling on x86_64 using the GCC tool chain. To make it work, your going to have to install arm's gcc toolchain. You can get the linux binaries from arm. I then moved them on my machine to `/usr/bin`. However, you can change the path to where you want them to be. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now