Hallo; kann mir jemand ein kleines übersichtliches Beispielprogramm posten wie man den Flash-Speicher im ATTINY25 beschreiben kann ? Ich weiss dass man das Fusebit auf Null setzen muss um den SPM Befehl zuzulassen und dass man erst die Register beschreiben muss und dann ein Steuerbit setzen muss um dann inerhalb von 4 Taktzyklen den SPM Befehl abzusetzen sowie dass die Register R30 und R31 die Adresse beinhalten und das Register R0 den Wert aber ich kriegs nicht hin. Dann habe ich gelesen dass man erst einen Erase-Befehl absetzen muss und danach erst das Beschreiben. Ausserdem dass der Flash seitenweise beschrieben wird. Da verstehe ich nicht ganz wieso die beiden Z-Register (30 und 31) doch genau auf EIN Wort hinweisen und nicht auf 16. Oder ? Ach so: Bitte keine Fragen wieso und warum und was ist der Sinn. Es ist einfach ein Interesse von mir ohne praktischen Nutzen. Mich interessiert einfach nur wie das geht. Danke
Wie wäre es den Hersteller zu befragen: http://ww1.microchip.com/downloads/en/AppNotes/Atmel-2575-C-Functions-for-Reading-and-Writing-to-Flash-Memory_ApplicationNote_AVR106.pdf Zwar kein Beispielprogramm, aber die Programmiersprache hattest Du ja auch nicht genannt.
danke der Link ist schonmal gut. Ich programmiere in Assember.
Am besten mal einen Bootloader anschauen. Da wird ja ausgiebig davon Gebrauch gemacht, z.B. hier: Beitrag "Re: UART Bootloader ATtiny13 - ATmega644"
Im Gegensatz zu bekannten Bootloader-Projekten hat mir sehr geholfen: g-heinrichs.de/attiny/Bootloader.pdf Daraus entstand das ASM f.T45:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
Mein Leseprogramm funktioniert leider nicht, deshalb will ich das hier auch nicht komplett einstellen. Hoffe, dass beim Entfernen einiger Code-Teile nichts falsch geworden ist. Fuer t25 sind wohl die Pages nur halb so grosz, also ZL 8 mal erhoehen bis zum naechsten ZH.
Für diese sehr konkrete Hilfestellung bedanke ich mich schonmal vorab und melde mich wieder wenn ich alles ausprobiert habe.
Gast
#6483663
'What else is there to do on a Saturday, when your girl-friend has left you, your TV-set is broken and your jogging-suit is in the wash?' (Corona blieb Charles M. Schulz erspart)
Gast
#6484457
Entschuldigung, noch mal. (falscher Sprung in §page_checking)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.