AVR-Programmieradapter: Difference between revisions

From Chaosdorf Wiki
Jump to navigation Jump to search
(moar text! moar text!)
No edit summary
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[File:r0ket flash spi.jpg|right|thumb|Flashing a Fnordlicht SMD via ISP]]
{{Project
|name=AVR-Programmieradapter
|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.


AVR-Programmieradapter fehlen gerne genau dann, wenn man gerade ein AVR-Projekt im Kopf hat. Falls überhaupt, 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.
 
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):
Die AVRs werden dazu wie folgt an den m0dulbus angeschlossen (Pins sind im Datasheet des AVRs nachzuschlagen):
Line 14: Line 21:
  A12 oder B12 -> VCC
  A12 oder B12 -> VCC


[https://github.com/penma/r0ket/commit/6630ac49 Firmware und avrdude-Patch] (von penma).
[https://github.com/penma/r0ket/commit/6630ac49 Firmware und avrdude-Patch] (von {{U|penma}}).
 
== Firmware bauen ==
 
<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 patchen ==
== avrdude patchen ==


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


== avrdude ausführen ==
== avrdude ausführen ==


./avrdude -C ./avrdude.conf -P /dev/ttyACM0 -c r0ket ''normale Optionen''
<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.
Alternativ wird der gepatchte avrdude systemweit installiert, dann entfällt die Angabe von -C.
Line 35: Line 53:
== Gebaute Programmieradapter ==
== Gebaute Programmieradapter ==


Da eine fliegende Verdrahtung recht fummelig und fehleranfällig ist, wurden fertige Adapter m0dulbus<->Programmieranschluss gebaut. Bisher wurden zwei Adapter gefertigt. Beide befinden sich auf dem [[Lötecke#Stack|Mikrofoo-Stack]] in der Lötecke.
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>
<gallery>
File:r0ket flash spi adap.jpg|r0ket <-> 10 Pin AVR-ISP-Kabel
File:r0ket flash spi adap.jpg|r0ket <-> 10 Pin AVR-ISP-Kabel
File:r0ket flash avr.jpg|r0ket <-> ATTiny2313 Sockel
File:r0ket flash avr.jpg|r0ket <-> ATTiny2313 Sockel
File:R0ket avrisp feuerrot.jpg|r0ket <-> 10 Pin AVR-ISP-Kabel V1.337
</gallery>
</gallery>


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

Revision as of 20: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.