Skip to content

Commit 74a4bcc

Browse files
authored
Update README.md
1 parent f6116ee commit 74a4bcc

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

README.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,17 @@ To prepare your build environment first read this tutorial:
44

55
- [Getting started with AVR programming](https://github.com/m3y54m/start-avr)
66

7-
**⚠️ DISCALIMER ⚠️**
8-
9-
**A "bootloader" is a small program that is written to a dedicated section of the non-volatile memory of a computer. In microcontrollers it is mostly used to facilitate the updating of the main program by utilizing a communication peripheral, thereby eliminating the requirement for an external programmer. In more sophisticated computer systems, a bootloader is mostly employed to pre-configure the system clock and input/output interfaces.**
10-
11-
**With this definition in mind, what follows is not a practical bootloader. Instead, it is a tutorial designed to step-by-step illustrate the process of program compilation and configuration to show how a bootloader can self-program the microcontroller. This bootloader is literally hardcoding the binary data of the program you want to upload (**[**`blinky`**](blinky)**) in the bootloader itself. With some small changes in code you can modify it to receive binary of the program you want to upload through UART, I2C or SPI. To learn how to write a more sophisticated and secure bootloader study the** [**resources**](#resources).
7+
> [!NOTE]
8+
> **A "bootloader" is a small program that is written to a dedicated section of the non-volatile memory of a computer.
9+
> In microcontrollers it is mostly used to facilitate the updating of the main program by utilizing a communication peripheral,
10+
> thereby eliminating the requirement for an external programmer. In more sophisticated computer systems, a bootloader is mostly
11+
> employed to pre-configure the system clock and input/output interfaces.**
12+
>
13+
> **With this definition in mind, what follows is not a practical bootloader. Instead, it is a tutorial designed to step-by-step
14+
> illustrate the process of program compilation and configuration to show how a bootloader can self-program the microcontroller.
15+
> This bootloader is literally hardcoding the binary data of the program you want to upload (**[**`blinky`**](blinky)**) in the
16+
> bootloader itself. With some small changes in code you can modify it to receive binary of the program you want to upload through
17+
> UART, I2C or SPI. To learn how to write a more sophisticated and secure bootloader study the** [**resources**](#resources).
1218
1319
*DONE:*
1420
- Configure fuse bits settings for bootloader section size and reset vector

0 commit comments

Comments
 (0)