Difference between revisions of "Flashing"
(Translated the German version to english) |
(more changes, this page should be generic - not netio-only) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{i18n|Flashing}} | {{i18n|Flashing}} | ||
− | = | + | = Flashing ethersex = |
− | + | This guide assumes that you have a NETIO, made and produced by [http://www.pollin.de Pollin], however every | |
− | + | step should also work with any other board supported by ethersex. | |
== What's needed? == | == What's needed? == | ||
* AVR Net-IO | * AVR Net-IO | ||
− | * ATMEL Evaluation-Board | + | * an ISP Programmer, again we assume it the ATMEL Evaluation-Board made by [http://www.pollin.de Pollin] |
− | * | + | * an 1-to-1 Cable for the [[ISP]]-Port (10-pin Connector). |
=== Other ISP Programmers === | === Other ISP Programmers === | ||
− | If you have a ISP-Programmer with 6-pin port you can create an | + | If you have a ISP-Programmer with 6-pin port you can create an adapter. 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) | 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 == | == Flashing with Linux == | ||
− | *Connect the 10-pin Cable to the ISP-Connector. | + | * Connect the 10-pin Cable to the ISP-Connector. |
− | *Plug in the power | + | * Plug in the power adapter of the AVR Net-IO. |
− | *If everything is connected right, the yellow LED of the Evaluation-Board is shining. | + | * 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: | + | === Setting the FUSE-Bits === |
+ | * Calculate the correct FUSE bits for your controller/setup - you can use http://www.engbedded.com/fusecalc/ for that | ||
+ | * '''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. Also make sure that you leave ''Serial program downloading (SPI)'' enabled! | ||
+ | * Connect the ISP and the power. | ||
+ | * Set the FUSE-Bits with avrdude | ||
+ | * Reset the controller | ||
+ | |||
+ | === Flashing the Image === | ||
+ | |||
+ | 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 (e.g. the ATMEL Evaluation-Board): | ||
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 | ||
Line 33: | Line 42: | ||
avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex | avrdude -p m32 -e -c stk200 -U flash:w:ethersex.hex | ||
+ | |||
+ | Parameters for MyAVR mySmartusb light (the -e is important): | ||
+ | avrdude -p m32 -e -c stk500v2 -P /dev/ttyUSB0 -U flash:w:ethersex.hex | ||
After flashing remove the ISP-Cable and interrupt the power connection for a short time to reboot the board. | After flashing remove the ISP-Cable and interrupt the power connection for a short time to reboot the board. | ||
Line 41: | Line 53: | ||
* -P /dev/tty.serial the serial port your programmer is connected to; -P COM1 for windows machines | * -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 | * -U the command you want to execute. In our case we want to flash: -U flash:w:ethersex.hex | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Replace ATMega32 with an ATMega644, ATMega644p or ATMega1284p == | == Replace ATMega32 with an ATMega644, ATMega644p or ATMega1284p == | ||
Line 60: | Line 63: | ||
* Insert the new processor while the slot is at the same position as in the socket. | * Insert the new processor while the slot is at the same position as in the socket. | ||
− | === | + | === Differences between ATMega32, ATMega644, ATMega644p and ATMega1284p=== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| border=1 cellspacing=0 padding=4 class=wikitable " | {| border=1 cellspacing=0 padding=4 class=wikitable " | ||
Line 111: | Line 87: | ||
|} | |} | ||
− | ==== | + | ====Datasheets==== |
− | * AtMega32 | + | * [http://www.atmel.com/Images/doc2503.pdf AtMega32] |
− | * ATMega644 | + | * [http://www.atmel.com/Images/doc2593.pdf ATMega644] |
− | * ATMega644p | + | * [http://www.atmel.com/images/doc8011.pdf ATMega644p] |
* [http://www.atmel.com/dyn/resources/prod_documents/8059S.pdf ATMega1284p] | * [http://www.atmel.com/dyn/resources/prod_documents/8059S.pdf ATMega1284p] | ||
Line 121: | Line 97: | ||
#Flash with avrdude | #Flash with avrdude | ||
#Flash with AVR Studio | #Flash with AVR Studio | ||
− | |||
− | |||
===Flashing with avrdude=== | ===Flashing with avrdude=== | ||
Line 142: | Line 116: | ||
For USB-to-Serial converters you need a matching Driver: [http://www.ftdichip.com/Drivers/VCP.htm] | For USB-to-Serial converters you need a matching Driver: [http://www.ftdichip.com/Drivers/VCP.htm] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 16:31, 9 July 2013
Contents
Flashing ethersex
This guide assumes that you have a NETIO, made and produced by Pollin, however every step should also work with any other board supported by ethersex.
What's needed?
- AVR Net-IO
- an ISP Programmer, again we assume it the ATMEL Evaluation-Board made by Pollin
- an 1-to-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 adapter. 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 adapter of the AVR Net-IO.
- If everything is connected right, the yellow LED of the Evaluation-Board is shining.
Setting the FUSE-Bits
- Calculate the correct FUSE bits for your controller/setup - you can use http://www.engbedded.com/fusecalc/ for that
- 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. Also make sure that you leave Serial program downloading (SPI) enabled!
- Connect the ISP and the power.
- Set the FUSE-Bits with avrdude
- Reset the controller
Flashing the Image
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 (e.g. the ATMEL Evaluation-Board):
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
Parameters for MyAVR mySmartusb light (the -e is important):
avrdude -p m32 -e -c stk500v2 -P /dev/ttyUSB0 -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
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.
Differences between 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 |
Datasheets
Flashing with Windows
There a two main possibilities:
- Flash with avrdude
- Flash with AVR Studio
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]