PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmel SPI Programmieren - ISP Protokoll?



asti
25.02.2006, 20:19
Hallo,
vielleicht kennt sich hier jemand aus. Ich möchte aus bestimmten Gründen einen eigenen einfachen Programmer für Atmel Mega32 realisieren. Leider verstehe ich nicht so ganz das SPI-Programmierprotokoll im Datenblatt.

Welche Bytes müssen den in welcher Folge an den Controller gesendet
werden um diesen zu beschreiben und zu verifizieren. Wird das irgendwo
besser beschrieben?

chr-mt
25.02.2006, 20:41
Hi,
hast du dir schon mal die Apoplication Note 910 angesehen ?
http://atmel.com/dyn/resources/prod_documents/DOC0943.PDF

Gruß
Christopher

asti
26.02.2006, 09:40
Thanks Christopher,
das kannte ich noch nicht. Hilft mir schon weiter allerdings so ganz versteh ich immer noch nicht.

So stehts da:

Programming Enable
Senden $AC 53 xx yy Empfang $zz AC 53 xx

Was soll denn hier xx yy und zz sein ????? Seit wann ist zz eine Hexzahl?


Read Device Code $1E at Address $00
Senden $30 nn 00 mm Empfang $yy 30 nn 1E

Was ist nn , mm und yy???


Example, Writing “add r17,r18” as $0F12 to Flash Memory location $10C (Byte Programming Mode)

Senden $60 01 0C 12 Empfangen $zz 60 01 0C

Was ist zz? Werden immer alle Bytes einzeln geschrieben? Ich dachte das erfolgt in Blocks?

chr-mt
26.02.2006, 13:25
Hi,
wenn du AVRStudio hast, guck' mal unter
\Atmel\AVR Tools\AvrAssembler\Appnotes\avr910.asm
Das ist der Assembler Sourcecode für den AVR910 Programmer mit einem AT90S1200.
Irgendwo im Web habe ihc auch schon mal den entsprechenden Source für einen 2313 gesehen..

Brauchst das also nicht selber zu schreiben..

Ich habe mich allerdings noch nicht damit beschäftigt und kann auch kein Assembler..

Kannst du keinen Bootloader verwenden ?
(Ich nehme mal an, daß du den Programmer in einen bestehende Schaltung integrieren willst)

Gruß
Christopher

asti
26.02.2006, 19:27
Ein Bootloader braucht aber zuviel Platz, daher würde ich schon gern das Protokoll verstehen und selbst eine ISP Funktion schreiben.