Go Down

Topic: Bootloaing AVR chip (Read 1 time) previous topic - next topic

Vincent19

Hey there, want to ask. Atmega 8, 168 and 328 is the official arduino and clones. What does this means actually ? Means the arduino IDE have the bootloader to burn these AVR chip so can be programmed using arduino IDE ? How about others AVR chip lioa atmega 32 ??

Thank you.

p/s I am still very blur ><

CrossRoads

" Means the arduino IDE have the bootloader to burn these AVR chip so can be programmed using arduino IDE ?"
Yes.
You left out the 1280 and 2560.

Bootloaders are easily added for other processors as well. The 1284 is a popular chip that is well supported.
https://github.com/maniacbug/mighty-1284p

I think there is a whole list of AVR chips that are supported with core files here:
http://www.avr-developers.com/
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

westfw

Quote
What does this means actually ?

It usually means five things:
1) There is "standard" hardware for that chip, or at least existing hardware.
2) The chip is supported by the version of the compiler distributed with the Arduino IDE.  This compiler is several years old now, and some of the newest chips might not be "known."
3) The Arduino "Core Libraries" have been modified or re-written to support that chip.  This is things like digitalWrite(), analogRead(), and millis()
4) At least some effort has been made to support additional popular libraries.  Assorted vendors have been yelled at for "you claimed to be arduino compatible and yet the "wire" library doesn't work at all!"
5) There is a bootloader.  (This is actually somewhat less important, since the IDE has a "burn using programmer" option that can be used to burn chips that cannot support a bootloader (tiny13 comes to mind))

oldPGMguy

i tried the bootloader , but can only load sketches using the arduino as isp....sketches reveal avrdude saying"out of sync"
I'm old and started too late with microcontrollers

Vincent19

Actually, what is the purpose of burning bootloader ? Cant I just use a normal AVR chip then I used the FTDI programmer to upload the code into the chip using arduino IDE ??

CrossRoads

You need a bootloader to tallk over the Serial port to the FTDI chip. That's how the sketch download works.

After Reset, bootloader starts up, checks if there's serial port action, if yes tries to download, and if no then is jumps to start of the existing sketch.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Vincent19

How can I burn a normal bootloader to my chip ??

I choose the board as 'Arduino UNO' ?

CrossRoads

To burn a bootloader, you need an AVR In System Programmer, such as
http://www.mdfly.com/index.php?main_page=product_info&cPath=5&products_id=415

Connect it to the ICSP header, select Tools:Programmer:select the bootloader
Then Tools: Burn Bootloader.

You blank chip must either be in a board, or wired up like an Uno: 16 MHz crystal, 22 pf caps from crystal pins to gnd, 10K pullup resistor from reset to +5, 100nF caps on VCC, AVCC to Gnd. Programmer then connects to +5, Gnd, and Reset, SCK, MOSI, MISO pins.

I think I had to add 2 lines to programmers.txt to make it show up in the list, and add the drivers for it when it was connected to the PC the first time.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Vincent19

: select the bootloader means I select the board type ? Each board type having different version of bootloader ? Am I correct ?

CrossRoads

Sorry, that should have been
Tools:Programmer: select your programmer.

Bootloader that is installed is indeed based on the board type you previously selected.  Each board type has its own file.

If your board is connected up as I described, then select Uno as the board type.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Vincent19

If the board I connected without external 16MHz crystal and 22pF cap, then how ?

CrossRoads

Then you need to select a board type with similar setup.  I don't know which that would be.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

CrossRoads

#12
Sep 06, 2012, 05:32 am Last Edit: Sep 06, 2012, 05:35 am by CrossRoads Reason: 1
From the Arduino (older) Hardware page:

http://arduino.cc/en/Main/Boards

The initial design of the Arduino LilyPad had a 10-pin ICSP header and used the internal clock on the ATmega168 rather than an external oscillator. The bootloader on the initial design is the traditional NG bootloader.

So you could probably do something like make a new boards.txt entry for whatever processor you are after with appropriate fuse settings for internal oscillator.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Vincent19

So I need to choose arduino NG or older w/Atmega 168 , so that my chip will not required any external crystal ?

How to make the txt file ? What should be included ?

CrossRoads

You have not stated which microcontroller you want to create the files for.

What you want is certainly possible, but I do not know how to do it.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up