AVR programming flash pages?

Gast #4008214
Lesenswert?
• ▲
▼
Hi,

ich schreibe gerade an einem AVR flasher (Standalone)

Ich habe soweit alles am Laufen (fuses, device id etc)

Jetzt wollte ich ein Testprogramm in den AVR schreiben, jedoch scheitere 
ich am Verständniss des Page-Konzepts

Das Testprogramm togglet einen Pin und wartet danach (schleife)
Im anhang ist das Binary-File

Ich habe das Binary-file bascom-tauglich umgewandelt (siehe unten)

Wenn ich das Datenblatt richtig verstanden habe wird immer eine Page 
erst geladen, dann sage ich in welche page es geschrieben werden soll.

Eine Page hat 32 Words (64 byte), der tiny45 hat 64 pages also 
64*2*32=4096

OK

Aber jetzt muss ich die daten erstmal laden

Load Program Memory Page, High byte, $48, adr MSB, adr LSB, high data 
byte in
Load Program Memory Page, Low byte, $40, adr MSB, adr LSB, low data byte 
in

angenommen ich will die ersten 64 bytes flashes, was ist dann low byte 
und was high byte? ich dachte es wäre ein 8 bit-controller, also nur 
bytes?
Und selbst adr LSB und MSB zb wäre ja dann bei einer page size von 64 
bytes viel zu groß, da reicht doch ein byte oder??

Also adr MSB immer 00??
und adr LSB 0-32??


data 
&H0E,&HC0,&H18,&H95,&H18,&H95,&H18,&H95,&H18,&H95,&H18,&H95,&H18,&H95,&H 
18,&H95
data 
&H18,&H95,&H18,&H95,&H18,&H95,&H18,&H95,&H18,&H95,&H18,&H95,&H18,&H95,&H 
8F,&HE5
data 
&H8D,&HBF,&HC8,&HE3,&HE0,&HE2,&H4E,&H2E,&H81,&HE0,&H8E,&HBF,&HD1,&HE0,&H 
F1,&HE0
data 
&H5F,&H2E,&HA8,&H95,&H84,&HB7,&H08,&H2E,&H87,&H7F,&H84,&HBF,&H88,&HE1,&H 
99,&H27
data 
&H81,&HBD,&H91,&HBD,&HEE,&HEF,&HF0,&HE0,&HA0,&HE6,&HB0,&HE0,&H88,&H27,&H 
8D,&H93
data 
&H31,&H97,&HE9,&HF7,&H66,&H24,&HBB,&H9A,&H88,&HE0,&H86,&HBB,&H84,&HEF,&H 
91,&HE0
data 
&H0C,&HD0,&HFA,&HCF,&HF8,&H94,&HFF,&HCF,&H31,&H97,&HF1,&HF7,&H08,&H95,&H 
68,&H94
data 
&H62,&HF8,&H08,&H95,&HE8,&H94,&H62,&HF8,&H08,&H95,&HEF,&H93,&HFF,&H93,&H 
EE,&H27
data 
&HE8,&H2B,&HE9,&H2B,&H31,&HF0,&HE0,&HED,&HF7,&HE0,&H31,&H97,&HF1,&HF7,&H 
01,&H97
data &HD1,&HF7,&HFF,&H91,&HEF,&H91,&H08,&H95,&H00
Angehängte Dateien:
Gast #4008468
Lesenswert?
• ▲
▼
Woher kommt dieses Binary? Das erste Wort sieht mir eher nach 0xC00E 
aus, d.h. nach einem 'rjmp', würde dann aber in der Tat in der 
Reihenfolge wie innerhalb des Binarys geschrieben, also erst 0x0E und 
dann 0xC0.
Gast #4008475
Lesenswert?
• ▲
▼
Das ist ein bascom compilat....


bascom source

$regfile="attiny45.dat"
$crystal=8000000

config portb.3=OUTPUT


do

portb.3=0
portb.3=1

loop

end


als hexfile
:100000000EC0189518951895189518951895189567
:1000100018951895189518951895189518958FE5B1
:100020008DBFC8E3E0E24E2E81E08EBFD1E0F1E06B
:100030005F2EA89584B7082E877F84BF88E1992713
:1000400081BD91BDEEEFF0E0A0E6B0E088278D9392
:100050003197E9F76624BB9AC398C39AFDCFF89409
:10006000FFCF3197F1F70895689462F80895E89406
:0400700062F8089595
:00000001FF

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.