Loading USB ASP bootloader into Atmega 8
What is a USB ASP Programmer, Why we need it?
USB ASP Programmer is a in-circuit programmer for atmel AVR Microcontroller. i will explain why we need this USB ASP Programmer to program AVR Microcontroller.
To program a AVR Microcontroller we need to access four pin of AVR Microcontroller namely MISO, SCK, MOSI and RESET.
This is not possible with Two data pins of USB. (i have excluded vcc and gnd pins of usb and microcontroller for understanding purpose.)
So to Access the Four pins of Microcontroller with 2 pins of USB we required a programmer her.
example: Only For example
If your data in usb is 00 it will enable 1st pin it may be connected to MISO
If your data in usb is 01 it will enable 2nd pin it may be connected to SCK
If your data in usb is 10 it will enable 3rd pin it may be connected to MOSI
If your data in usb is 01 it will enable 4th pin it may be connected to RESET.
hope you will understand the use of USB ASP Programmer, come lets build one.
PARTS:
IC = Atmega 8 microcontroller
USB = USB type b Female
D1,D2 = Zener diode 3.9v
R1,R2 = 680 ohms
R3,R4 = 4.7K ohms
C1-C3 = 100nF capacitor
C4 = 4.7uF/63V capacitor
Once you complete with the board, then comes the main part you have to load bootloader to the Programmer,
How to Load a USB ASP Bootloader into Atmega 8?
The problem you will face here is. we need a programmer to load this bootloader into Atmega 8, If you already have a some other programmer or the same USB ASP Programmer with you. Then you can make unlimited clones. but if you don't have any programmer i suggest you to make your own Serial AVR Programmer. its very easy.
Click Here: Make your own Serial AVR Programmer.
You can use Software like ProgISP, AVRDude, Extreme burner - AVR to program the microcontroller.
I personally use ProgISP and Extreme burner - AVR for my projects.
Most of the first timers will do the mistake while loading a bootloader, doing everything in the rush they will forget to change the Fuse bits of Atmega 8 before starting the bootloading process.
FUSE BITS for Atmega 8: HFuse: 0xc9 LFuse:0xef ,
options will be available in the above mentioned softwares to change fuse bits
Can u please explain the bootloader code design..... It's urgent. As u have told 2 pins of usb are decoded to 4 pins of SPI
ReplyDeleteI couldn't match n understand this concept in the bootloader code
ReplyDelete