Hello everyone,
First of all, I’d like to thank the Bouffalo community for creating and supporting this platform. I’m new to low-level programming and chose the Ox64 as my first project for diving deep into the world of embedded systems and C programming.
To give you a bit of context about me: I’m a software engineer with a strong background in PHP and Laravel, primarily in web development. However, I’ve always been fascinated by how things work at the very lowest level in computing. I’ve decided to challenge myself by stepping out of my comfort zone and exploring embedded programming.
My goal is to truly understand what happens when the Ox64 powers on. I want to learn how the CPU initializes, where it looks for instructions, and how the boot process unfolds. Eventually, I’d like to write my own bare-metal code (bootloader and beyond) from scratch, minimizing any reliance on libraries or frameworks. While I plan to initially follow the guides and documentation to get familiar with the system, my ultimate aim is to move beyond abstractions and interact directly with the hardware.
If it’s not too naive of a goal, I would love advice on how to get started:
Are there specific resources, documents, or tools that would be essential for understanding the BL808 SoC’s boot sequence and register map?
What development setup would you recommend for writing and debugging bare-metal code on the Ox64?
Any tips or common pitfalls for someone transitioning from web development to embedded systems would be greatly appreciated.
I’m open to any suggestions or guidance, and I’m aware this might be an ambitious undertaking. Please forgive me if my questions seem a bit simplistic—I’m eager to learn and make this journey worthwhile.
Thank you in advance for your time and help. I’m looking forward to learning from all of you!