We will be using the AVR109 protocol in avrdude but we will implement only those commands necessary for uploading program memory. As we will see shortly, avrdude is a very versatile tool that can handle many different programming protocols. For our demonstration, we will use avrdude on a PC to communicate with the AVR bootloader via the USART. The bootloader and the external device use a communication protocol that allows them to conduct transactions that mostly involve sending pages of binary program code to be written to the device application program section. It responds to data being sent - usually over a serial port - from an external device. It usually resides in a special part of memory and is invoked when the device comes out of reset. Using the STK-500 EduBootAVR - A Bootloader Written in CĪ bootloader is a program that is used to download other programs. You’ll need access to the source code in Workshop26.zip to follow some of the instructions.įIGURE 1. This time, we'll build on this to create our own bootloader. We tested that knowledge with the SmileyFlashWriter.c program.
Now, we’ll get more practical and build on our last installment, AVR Memory Part 4 – Writing to AVR Flash, where we learned how AVR Flash memory is structured and how to write to it.
We discussed bootloaders a bit in Smiley’s Workshop 22 ( Busy as a BeAVR), and learned about the debt they owe to Baron Munchhausen’s bootstraps.