-- Arduino Uno bootloader in C, C++, and assembly This project implements a complete Arduino Uno bootloader in C, C++, and assembly. The bootloader is responsible for loading the main program into the microcontroller's flash memory and starting its execution.
- /triple-bootloader
- ├── src
- │ ├── main.c
- │ ├── main.cpp
- │ ├── bootloader.asm
- ├── Makefile
- ├── README.md
To build the project, make sure you have the AVR-GCC toolchain installed. Then, run the following command:
make
This will generate three hex files:
bootloader_c.hex
: C implementationbootloader_cpp.hex
: C++ implementationbootloader_asm.hex
: Assembly implementation
To clean the build artifacts, run:
make clean
The bootloader is implemented in three different languages:
- C (
src/main.c
) - C++ (
src/main.cpp
) - Assembly (
src/bootloader.asm
)
Each implementation provides the same functionality, demonstrating different approaches to creating an Arduino Uno bootloader.