-- 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.