Difference between revisions of "Quick Start Guide/Flashing"
(Created page with "{{i18n|Flashing}} = AVR Net-IO mit dem ATMEL Evaluations-Board von Pollin flashen= Als Einsteiger hat man es immer wieder schwer alle Information zu finden. Ich habe lange gesu…") |
|||
Line 1: | Line 1: | ||
{{i18n|Flashing}} | {{i18n|Flashing}} | ||
− | = AVR Net-IO | + | = Flash AVR Net-IO with "ATMEL Evaluations-Board" made by Pollin= |
− | + | As a beginner it's difficult to understand everything in terms of flashing. | |
− | + | And it's also difficult to find all information. | |
− | == | + | == What's needed? == |
* AVR Net-IO | * AVR Net-IO | ||
− | * ATMEL | + | * ATMEL Evaluation-Board |
− | * | + | * a 1 on 1 Cable for the [[ISP]]-Port (10-pin Connector). |
− | === | + | === Other ISP Programmers === |
− | |||
− | + | If you have a ISP-Programmer with 6-pin port you can create an adaptor. You can see the pin configuration in figure 4-1 at page 5 [http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf AVR042: AVR Hardware Design Considerations]. | |
− | + | Warning: Pin 4 of the 10-pin connector is not used on the Net-IO. GND has to be connected to one of the other Pins (6, 8 or 10) | |
− | |||
− | |||
− | |||
− | + | == Flashing with Linux == | |
+ | *Connect the 10-pin Cable to the ISP-Connector. | ||
+ | *Plug in the power adaptor of the AVR Net-IO. | ||
+ | *If everything is connected right, the yellow LED of the Evaluation-Board is shining. | ||
+ | |||
+ | After compiling the ethersex.hex you can flash it with avrdude. The following commands depend on your ISP-Programmer. This example is for a serial connection: | ||
avrdude -v -p m32 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex | avrdude -v -p m32 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex | ||
− | + | For a USB-ISP-Programmer this command should be used: | |
avrdude -v -p m32 -c stk500v2 -P /dev/ttyACM0 -U flash:w:ethersex.hex | avrdude -v -p m32 -c stk500v2 -P /dev/ttyACM0 -U flash:w:ethersex.hex | ||
− | + | For a parallel ISP-Cable: | |
avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex | avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex | ||
− | + | After flashing remove the ISP-Cable and interrupt the power connection for a short time to reboot the board. | |
− | * -p m32 | + | * -p m32: ATMega32; -p m644: ATMega644 |
− | * -v | + | * -v: display debug messages |
− | * -c ponyser | + | * -c ponyser: the way avrdude speaks with the Evaluation Board; -c stkk500v2 for the Atmel board |
− | * -P | + | * -P /dev/tty.serial the serial port your programmer is connected to; -P COM1 for windows machines |
− | * -U | + | * -U the command you want to execute. In our case we want to flash: -U flash:w:ethersex.hex |
− | + | In some cases you have to set the FUSE Bits, which is possible with this command: | |
− | + | * -U lfuse:w:0xCF:m -U hfuse:w:0xDC:m | |
− | + | To get the correct FUSE-Settings you should visit http://www.engbedded.com/fusecalc/ | |
− | + | Parameters for MyAVR mySmartusb light (the -e is important): | |
avrdude -p m32 -e -c stk500v2 -P /dev/ttyUSB0 -U flash:w:ethersex.hex | avrdude -p m32 -e -c stk500v2 -P /dev/ttyUSB0 -U flash:w:ethersex.hex | ||
− | == | + | == Replace ATMega32 with an ATMega644, ATMega644p or ATMega1284p == |
+ | |||
+ | ATMega644, ATMega644p and ATMega1284p have got a bigger flash then the ATMega32. This gives the possibility to add more modules to your Image. | ||
− | + | === Swapping the Microcontroller === | |
+ | * Disconnect power and ISP-Connector. | ||
+ | * Remove the old processor from your board. | ||
+ | * Insert the new processor while the slot is at the same position as in the socket. | ||
− | === | + | === Setting the FUSE-Bits === |
− | * | + | * Reconnect the ISP and the power. |
− | * | + | * Set the FUSE-Bits. |
− | * | + | * '''Important: ''' in the condition as supplied the 644 is programmed to 8 MHz internal RC-Oscillator '''and''' the clock is divided by 8 -> 1 MHz clock speed. If an external Quarz is used, the Bit CKDIV8 has to be set to 0. |
− | |||
− | |||
− | |||
− | |||
− | * ( | + | * (taken from dinus) The ATMega has a clock speed of 1 MHz, no JTAG. |
avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m | avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m | ||
− | |||
− | |||
− | Fuse-Bits | + | Fuse-Bits from "DiDi". JTAG is turned ON. |
* -U lfuse:w:0xf7:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m | * -U lfuse:w:0xf7:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m | ||
− | Fuse-Bits | + | Fuse-Bits from "loddel". JTAG is turned OFF. |
* -U lfuse:w:0xf7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m | * -U lfuse:w:0xf7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m | ||
* -U lfuse:w:0xe7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m | * -U lfuse:w:0xe7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m | ||
− | Fuse-Bits | + | Fuse-Bits from "Gregor". "The 644 runs at 16 MHz Quartz and is not divided by 8." JTAG is turned ON. |
* -U lfuse:w:0xef:m -U hfuse:w:0x99:m -U efuse:w:0xff:m | * -U lfuse:w:0xef:m -U hfuse:w:0x99:m -U efuse:w:0xff:m | ||
− | === Ethersex | + | === flash Ethersex === |
− | * | + | * change Config of Ethersex (make menuconfig) to ATMega644 and build (make) |
− | * | + | * flash with |
− | + | avrdude -p m644 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex -v | |
− | |||
− | |||
− | === | + | === Differentes bettween ATMega32, ATMega644, ATMega644p and ATMega1284p=== |
{| border=1 cellspacing=0 padding=4 class=wikitable " | {| border=1 cellspacing=0 padding=4 class=wikitable " | ||
! !! ATMega32 !! ATMega644 !! ATMega644p !! ATMega1284p | ! !! ATMega32 !! ATMega644 !! ATMega644p !! ATMega1284p | ||
|- | |- | ||
− | | | + | | Housing || DIL-40 || DIL-40 || DIL-40 || DIL-40 |
|- | |- | ||
| MHz || max. 16 || max. 20 || max. 20 || max. 20 | | MHz || max. 16 || max. 20 || max. 20 || max. 20 | ||
Line 119: | Line 117: | ||
* [http://www.atmel.com/dyn/resources/prod_documents/8059S.pdf ATMega1284p] | * [http://www.atmel.com/dyn/resources/prod_documents/8059S.pdf ATMega1284p] | ||
− | == | + | == Flashing with Windows == |
− | + | There a two main possibilities: | |
− | # | + | #Flash with avrdude |
− | # | + | #Flash with AVR Studio |
− | + | If you don't want to install one of those programs, there is a [[Live CD]] to use. | |
− | === | + | ===Flashing with avrdude=== |
− | + | The flashing with avrdude is just like in Linux. | |
− | + | You can get the Windows-Binary as a part of [http://sourceforge.net/projects/winavr/ WinAVR] | |
− | In | + | In the command line you have to adjust the name of the serial Ports. (COMx instead of /dev/ttyxx) |
avrdude -v -p m32 -c ponyser -P com3 -U flash:w:ethersex.hex | avrdude -v -p m32 -c ponyser -P com3 -U flash:w:ethersex.hex | ||
− | + | If the programmer is connected via USB you need: | |
− | * | + | * for real USB-Programmers: libusb0.dll (Part of WinAVR) |
− | * | + | * USB-to-Serial Converter a matching Driver: [http://www.ftdichip.com/Drivers/VCP.htm] |
− | |||
− | |||
− | |||
− | + | ===Flashing with AVR Studio=== | |
+ | [[AVR Studio]] from Atmel offers a GUI to Controll the ISPs. | ||
− | + | AVR Studio also brings USB-Drivers for the Programmers with it, which can be installed together with it. | |
− | + | For USB-to-Serial converters you need a matching Driver: [http://www.ftdichip.com/Drivers/VCP.htm] | |
− | |||
== Live-CD == | == Live-CD == | ||
− | + | You don't have to worry about your System if you use a Live CD to flash your build. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [ | + | * Download and burn the CD: [http://www.ethersex.de/index.php?title=Live_CD] |
− | [ | + | * Get the libncurses5 Package: apt-get install libncurses5-dev |
− | + | * Update and install the software for ethersex just like described here: [http://ethersex.de/index.php/Quick_Start_Guide/Preparation] | |
+ | * If menuconfig fails try this command: apt-get install dialog | ||
+ | * Flash like described in the "Flashing with Linux" section is described. |
Revision as of 19:10, 4 June 2012
Contents
Flash AVR Net-IO with "ATMEL Evaluations-Board" made by Pollin
As a beginner it's difficult to understand everything in terms of flashing. And it's also difficult to find all information.
What's needed?
- AVR Net-IO
- ATMEL Evaluation-Board
- a 1 on 1 Cable for the ISP-Port (10-pin Connector).
Other ISP Programmers
If you have a ISP-Programmer with 6-pin port you can create an adaptor. You can see the pin configuration in figure 4-1 at page 5 AVR042: AVR Hardware Design Considerations.
Warning: Pin 4 of the 10-pin connector is not used on the Net-IO. GND has to be connected to one of the other Pins (6, 8 or 10)
Flashing with Linux
- Connect the 10-pin Cable to the ISP-Connector.
- Plug in the power adaptor of the AVR Net-IO.
- If everything is connected right, the yellow LED of the Evaluation-Board is shining.
After compiling the ethersex.hex you can flash it with avrdude. The following commands depend on your ISP-Programmer. This example is for a serial connection:
avrdude -v -p m32 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex
For a USB-ISP-Programmer this command should be used:
avrdude -v -p m32 -c stk500v2 -P /dev/ttyACM0 -U flash:w:ethersex.hex
For a parallel ISP-Cable:
avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex
After flashing remove the ISP-Cable and interrupt the power connection for a short time to reboot the board.
* -p m32: ATMega32; -p m644: ATMega644 * -v: display debug messages * -c ponyser: the way avrdude speaks with the Evaluation Board; -c stkk500v2 for the Atmel board * -P /dev/tty.serial the serial port your programmer is connected to; -P COM1 for windows machines * -U the command you want to execute. In our case we want to flash: -U flash:w:ethersex.hex
In some cases you have to set the FUSE Bits, which is possible with this command:
* -U lfuse:w:0xCF:m -U hfuse:w:0xDC:m
To get the correct FUSE-Settings you should visit http://www.engbedded.com/fusecalc/
Parameters for MyAVR mySmartusb light (the -e is important):
avrdude -p m32 -e -c stk500v2 -P /dev/ttyUSB0 -U flash:w:ethersex.hex
Replace ATMega32 with an ATMega644, ATMega644p or ATMega1284p
ATMega644, ATMega644p and ATMega1284p have got a bigger flash then the ATMega32. This gives the possibility to add more modules to your Image.
Swapping the Microcontroller
- Disconnect power and ISP-Connector.
- Remove the old processor from your board.
- Insert the new processor while the slot is at the same position as in the socket.
Setting the FUSE-Bits
- Reconnect the ISP and the power.
- Set the FUSE-Bits.
- Important: in the condition as supplied the 644 is programmed to 8 MHz internal RC-Oscillator and the clock is divided by 8 -> 1 MHz clock speed. If an external Quarz is used, the Bit CKDIV8 has to be set to 0.
- (taken from dinus) The ATMega has a clock speed of 1 MHz, no JTAG.
avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
Fuse-Bits from "DiDi". JTAG is turned ON.
* -U lfuse:w:0xf7:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m
Fuse-Bits from "loddel". JTAG is turned OFF.
* -U lfuse:w:0xf7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m * -U lfuse:w:0xe7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m
Fuse-Bits from "Gregor". "The 644 runs at 16 MHz Quartz and is not divided by 8." JTAG is turned ON.
* -U lfuse:w:0xef:m -U hfuse:w:0x99:m -U efuse:w:0xff:m
flash Ethersex
- change Config of Ethersex (make menuconfig) to ATMega644 and build (make)
- flash with
avrdude -p m644 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex -v
Differentes bettween ATMega32, ATMega644, ATMega644p and ATMega1284p
ATMega32 | ATMega644 | ATMega644p | ATMega1284p | |
---|---|---|---|---|
Housing | DIL-40 | DIL-40 | DIL-40 | DIL-40 |
MHz | max. 16 | max. 20 | max. 20 | max. 20 |
Flash | 32 KB | 64 KB | 64 KB | 128 KB |
EEProm | 1 KB | 2 KB | 2 KB | 4 KB |
RAM | 2 KB | 4 KB | 4 KB | 16 KB |
I/O | 32 | 32 | 32 | 32 |
PWM | 4 | 6 | 6 | 6 |
ext. INT | 3 | 32 | 32 | 32 |
Ser-Port | 1 | 1 | 2 | 2 |
Datenblätter
- AtMega32
- ATMega644
- ATMega644p
- ATMega1284p
Flashing with Windows
There a two main possibilities:
- Flash with avrdude
- Flash with AVR Studio
If you don't want to install one of those programs, there is a Live CD to use.
Flashing with avrdude
The flashing with avrdude is just like in Linux.
You can get the Windows-Binary as a part of WinAVR
In the command line you have to adjust the name of the serial Ports. (COMx instead of /dev/ttyxx)
avrdude -v -p m32 -c ponyser -P com3 -U flash:w:ethersex.hex
If the programmer is connected via USB you need:
- for real USB-Programmers: libusb0.dll (Part of WinAVR)
- USB-to-Serial Converter a matching Driver: [1]
Flashing with AVR Studio
AVR Studio from Atmel offers a GUI to Controll the ISPs.
AVR Studio also brings USB-Drivers for the Programmers with it, which can be installed together with it.
For USB-to-Serial converters you need a matching Driver: [2]
Live-CD
You don't have to worry about your System if you use a Live CD to flash your build.