AVR-Programmieradapter: Difference between revisions

From Chaosdorf Wiki
m (syntax)
mNo edit summary
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[File:r0ket flash spi.jpg|right|thumb|Flashing a Fnordlicht SMD via ISP]]
{{Project
 
|name=AVR-Programmieradapter
{{#set:
|description=r0ket AVR Programmer
| Has image=File:r0ket flash spi.jpg
|project category=Hardware
| Has description=r0ket AVR programmer
|image=r0ket flash spi.jpg
| Has location=Lötecke (Stack)
|status=obsolete
|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 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.


Line 21: Line 22:


[https://github.com/penma/r0ket/commit/6630ac49 Firmware und avrdude-Patch] (von {{U|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">
<source lang="bash">
apt-get source avrdude
apt-get source avrdude
Line 42: Line 53:
== Gebaute Programmieradapter ==
== 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 [[Lötecke#Regal|Regal]] 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>

Latest revision as of 18:27, 30 June 2020

AVR-Programmieradapter obsolete
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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

./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[edit | edit source]

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.