Skip to content

awaken1988/baremetal

Repository files navigation

Snippets of baremetal applications for arm, aarch64

Example Projects

To compile and start the binary with qemu run the following (arm-c-qemu used as example):

 mkdir build/
 cd build/
 cmake -G "MingGW Makefiles" ../arm-c-qemu
 make qemu_gdb_server

Now connect with gdb to localhost:1234 and step through the application

aarch64-c-qemu

Example project for aarch64.

Note: currently no qemu settings added

aarch64-c-qemu-irq

Example using interrupts. E.g timer interrupt

Note: This is an older project using scons instead of cmake. See SConstruct to see the build targets

aarch64-cpp-qemu

Example of using c++ on aarch64. This example uses std::cout to print to qemu's serial console

arm-c-qemu

Example which runs on qemu vexpress-a9. It also an example for using cmake for embedded

arm-cpp-qemu

Example using cpp on embedded Note: more fancy std functions like cout may fail due to missing crt runtime init

mini-kernel

WIP Test Cpu Interrupts, MMU and other

Reference

Dependencies

  • cmake, make (or other generators)
  • arm-none-eabi-gcc
  • aarch64-none-elf-gcc
  • qemu

Dependencies (Optional)

  • Eclipse CDT as gdb gui (use remote gdb settings)

About

examples of baremetal gcc applications

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published