Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yezzfusl/triple-bootloader

Arduino Uno bootloader in C, C++, and assembly
https://github.com/yezzfusl/triple-bootloader

assembly atmega328p avr bootloader diy-electronics embedded embedded-systems firmware hackaday hardware hardware-programming isp microcontroller stk500 uart

Last synced: 4 days ago
JSON representation

Arduino Uno bootloader in C, C++, and assembly

Awesome Lists containing this project

README

        

# Triple Bootloader
-- 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.

## Project Structure
- /triple-bootloader
- ├── src
- │ ├── main.c
- │ ├── main.cpp
- │ ├── bootloader.asm
- ├── Makefile
- ├── README.md
## Building the Project

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 implementation
- `bootloader_cpp.hex`: C++ implementation
- `bootloader_asm.hex`: Assembly implementation

## Cleaning the Project

To clean the build artifacts, run:
```make clean```
## Implementation Details

The bootloader is implemented in three different languages:
1. C (`src/main.c`)
2. C++ (`src/main.cpp`)
3. Assembly (`src/bootloader.asm`)

Each implementation provides the same functionality, demonstrating different approaches to creating an Arduino Uno bootloader.