Skip to content

Conversation

@qz-lab
Copy link
Owner

@qz-lab qz-lab commented May 14, 2023

We implement a simplified building system based on Linux Kernel.

The bare-metal code is extracted from 'https://github.com/shugaoye/bo.git', which comes from book 'Embedded Programming with Android'.

@qz-lab
Copy link
Owner Author

qz-lab commented May 14, 2023

The following functions will be implemented in the 'bare-metal' PR:

  1. Run bare-metal code in QEMU ARM64, and debug it with GDB/DDD.
  2. Serial Port support.
  3. NAND Flash support.
  4. (Optional) Exception Handling and Timer.
  5. (Optional) C Library support (User-mode Execution Environment).
  6. Loading Linux Kernel via 'bare-metal' on QEMU.

The above experiments are inspired by:

  • ARM 64-Bit Assembly Language - Larry D. Pyeatt with William Ughetta
  • Embedded Programming with Android: Bringing Up an Android System from Scratch - Roger Ye

Thanks for their sharing!

We implement a simplified building system based on Linux Kernel. The bare-metal
code is extracted from 'https://github.com/shugaoye/bo.git', which comes from
book 'Embedded Programming with Android'.
qz-lab added 2 commits May 17, 2023 19:51
VSCode plugin 'GDB Debugger - Beyond' is required. Or you can start
the GDB manually to connect to the port 1234 after QEMU is running.
We iterate the properties of Node "/chosen" in the Device Tree.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants