AVR-Programmieradapter: Difference between revisions

From Chaosdorf Wiki
(pics)
No edit summary
(22 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[File:r0ket flash spi.jpg|right|thumb|Flashing a Fnordlicht SMD via ISP]]
{{Project
[[File:r0ket flash spi adap.jpg|right|thumb|r0ket <-> ISP adapter]]
|name=AVR-Programmieradapter
[[File:r0ket flash avr.jpg|right|thumb|r0ket <-> ATTiny2313 adapter]]
|description=r0ket AVR Programmer
|project category=Hardware
|image=r0ket flash spi.jpg
|status=stable
|people={{U|penma}}
|source=https://github.com/penma/r0ket/commit/6630ac49{{!}}github
}}
AVR-Programmieradapter fehlen gerne genau dann, wenn man gerade ein AVR-Projekt im Kopf hat. Falls dieser überhaupt vorhanden ist, stellt man dann fest, dass moderne Rechner keine RS232-Schnittstelle mehr besitzen. Ein günstiges und einfach zu bauendes USB-Device wird benötigt.


m0dul A6 -> RST
Da ja ohnehin jeder eine [[r0ket]] hat, kann man diese ja zum Programmieren benutzen. Mit einer modifizierten Firmware meldet sich die Rakete als USB-TTY und ein gepatchter avrdude kann dann mit den Chips reden.
m0dul A8 -> SCK
m0dul B6 -> MOSI
m0dul B8 -> MISO
m0dul A5/B5 -> GND
m0dul A12/B12 -> VCC


See [https://github.com/penma/r0ket/commit/6630ac49 firmware and avrdude patch] by penma.
Die AVRs werden dazu wie folgt an den m0dulbus angeschlossen (Pins sind im Datasheet des AVRs nachzuschlagen):


== Patch for avrdude ==
A6 -> RST
A8 -> SCK
B6 -> MOSI
B8 -> MISO
A5  oder B5  -> GND
A12 oder B12 -> VCC


Works for avrdude 5.11.1. For example:
[https://github.com/penma/r0ket/commit/6630ac49 Firmware und avrdude-Patch] (von {{U|penma}}).


apt-get source avrdude
== Firmware bauen ==
cd avrdude-5.11.1
patch -p1 < .../avrdude-r0ket.diff
autoreconf
./configure
make
sudo make install # or set config file when invoking avrdude


== Usage ==
<source lang="bash">
cd r0ket/firmware/
make clean
make APP=avrflash TABLE=NO USBSERIAL=YES clean all
cp avrflash.bin firmware.bin
# firmware.bin flashen (http://www.r0ket.de/init)
</source>


./avrdude -P /dev/ttyACM0 -c r0ket ''usual options''
== avrdude patchen ==


== Adapters ==
Getestet mit [http://download.savannah.gnu.org/releases/avrdude/ 5.11.1] Man tue dies:
<source lang="bash">
apt-get source avrdude
cd avrdude-5.11.1
patch -p1 < .../avrdude-r0ket.diff
autoreconf
./configure
make
</source>


So far we have r0ket <-> 10pin ISP and r0ket <-> ATtiny2313. They are stored on the Mikrofoo stack next to the soldering iron.
== avrdude ausführen ==
 
<source lang="bash">./avrdude -C ./avrdude.conf -P /dev/ttyACM0 -c r0ket ''normale Optionen''</source>
 
Alternativ wird der gepatchte avrdude systemweit installiert, dann entfällt die Angabe von -C.
 
== Gebaute Programmieradapter ==
 
Da eine fliegende Verdrahtung recht fummelig und fehleranfällig ist, wurden fertige Adapter m0dulbus<->Programmieranschluss gebaut. Bisher wurden drei Adapter gefertigt. Sie befinden sich auf dem [[Kabelbaum]].
 
<gallery>
File:r0ket flash spi adap.jpg|r0ket <-> 10 Pin AVR-ISP-Kabel
File:r0ket flash avr.jpg|r0ket <-> ATTiny2313 Sockel
File:R0ket avrisp feuerrot.jpg|r0ket <-> 10 Pin AVR-ISP-Kabel V1.337
</gallery>


[[Category:Mikrofoo]]
[[Category:Mikrofoo]]

Revision as of 21:33, 22 January 2018

AVR-Programmieradapter stable
R0ket flash spi.jpg
r0ket AVR Programmer
Beteiligt penma
Quelltext github

AVR-Programmieradapter fehlen gerne genau dann, wenn man gerade ein AVR-Projekt im Kopf hat. Falls dieser überhaupt vorhanden ist, stellt man dann fest, dass moderne Rechner keine RS232-Schnittstelle mehr besitzen. Ein günstiges und einfach zu bauendes USB-Device wird benötigt.

Da ja ohnehin jeder eine r0ket hat, kann man diese ja zum Programmieren benutzen. Mit einer modifizierten Firmware meldet sich die Rakete als USB-TTY und ein gepatchter avrdude kann dann mit den Chips reden.

Die AVRs werden dazu wie folgt an den m0dulbus angeschlossen (Pins sind im Datasheet des AVRs nachzuschlagen):

A6 -> RST
A8 -> SCK
B6 -> MOSI
B8 -> MISO
A5  oder B5  -> GND
A12 oder B12 -> VCC

Firmware und avrdude-Patch (von penma).

Firmware bauen

cd r0ket/firmware/
make clean
make APP=avrflash TABLE=NO USBSERIAL=YES clean all
cp avrflash.bin firmware.bin
# firmware.bin flashen (http://www.r0ket.de/init)

avrdude patchen

Getestet mit 5.11.1 Man tue dies:

apt-get source avrdude
cd avrdude-5.11.1
patch -p1 < .../avrdude-r0ket.diff
autoreconf
./configure
make

avrdude ausführen

./avrdude -C ./avrdude.conf -P /dev/ttyACM0 -c r0ket ''normale Optionen''

Alternativ wird der gepatchte avrdude systemweit installiert, dann entfällt die Angabe von -C.

Gebaute Programmieradapter

Da eine fliegende Verdrahtung recht fummelig und fehleranfällig ist, wurden fertige Adapter m0dulbus<->Programmieranschluss gebaut. Bisher wurden drei Adapter gefertigt. Sie befinden sich auf dem Kabelbaum.