Forum: Mikrocontroller und Digitale Elektronik PIC12F1572 HEF -> Wo fängt er an ?


von Tina (Gast)


Lesenswert?

Hallo Leute,

Will meinen PIC12F1572 den HEF nutzen.
Nun stellt sich mir die Frage, wo das erste WORD liegt?
In 0x780 ?

Könnnte mir da wer weitehelfen?

Hier ein Link zum DB:
http://ww1.microchip.com/downloads/en/DeviceDoc/40001723D.pdf

Ein Dankeschön im Vorhinein :-*

von picfan (Gast)


Lesenswert?

Tina schrieb:
> Will meinen PIC12F1572 den HEF nutzen.

Hallo Tina,
ich habe schon mal mit dem Pic12f1572 gearbeitet, aber noch nie etwas 
von einem HEF gelesen...
Wenn Dir geholfen werden soll, musst Du noch etwas mehr verraten.
Gruss J.P.

von Peter C. (peter_c49)


Lesenswert?

>In 0x780 ?
im datenblatt seite 15 steht es klar und deutlich.

TABLE 3-1: DEVICE SIZES AND ADDRESSES
Device Program Memory Space (Words) Last Program Memory Address 
High-Endurance Flash Memory Address Range(1)
PIC12(L)F1571 1,024 03FFh 0380h-03FFh
PIC12(L)F1572 2,048 07FFh 0780h-07FFh
Note 1: High-endurance Flash applies to the low byte of each address in 
the range

von picfan (Gast)


Lesenswert?

Peter C. schrieb:
>>In 0x780 ?
> im datenblatt seite 15 steht es klar und deutlich.
>

In meinem vor 6 Jahren gespeicherten DB steht nichts davon(2013-2014).
Habe nun das DB im obigen Link geöffnet und dort steht es tatsächlich 
auf Seite 15, offenbar hat man so einen Ersatz für das nicht vorhandene 
EEPROM geschaffen.
Gruss J.P.

von Tina (Gast)


Lesenswert?

OK.
Also ist der Speicherbereich von 0780h-07FFh
Es müssen immer 16 Wörter (=32 Bytes) auf einmal geschrieben werden.
Das ergibt 4 Reihen.
Also ergeben sich folgende Reihenadressen:
780h
7A0h (780h + 20h)
7C0h (780h + 40h)
7E0h (780h + 60h)

Ist das so korrekt?

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

Tina schrieb:
> Es müssen immer 16 Wörter (=32 Bytes) auf einmal geschrieben werden.

nein, die bedingung page/row orientiert gilt nur für löschen!

see and read manual!

10.2.3
...
While executing code, program memory can only be
erased by rows.

10.2.4
...
Program memory can be written one or more words at
a time. The maximum number of words written at one
time is equal to the number of write latches. See
Figure 10-5 (row writes to program memory with
16 write latches) for more details.


mt

: Bearbeitet durch User
von Tina (Gast)


Lesenswert?

Aber der Flash muss doch vorher gelöscht werden.
Also zuerst ein Erase ausgeführt werden.
Oder?

Stimmt die Reihen Zuordnung zumindest für ein Erase?

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

Tina schrieb:
> Aber der Flash muss doch vorher gelöscht werden.
> Also zuerst ein Erase ausgeführt werden.
> Oder?

ja/nein!

das hängt davon ab, ob du bestehende werte ungleich 0xff auf der page 
überschreiben willst.


Tina schrieb:
> Stimmt die Reihen Zuordnung zumindest für ein Erase?

ja, warum so unsicher?


benutze den simulator in mplabx und schau dir an was passiert!


mt

von Jochen-paul S. (picfan)


Lesenswert?

Tina schrieb:
> Aber der Flash muss doch vorher gelöscht werden.
> Also zuerst ein Erase ausgeführt werden.
> Oder?

Ich verstehe das so:
Wenn man Daten in dem row hat, welche man behalten will, sollte man 
vorher das ganze zu löschende row im RAM speichern. Das einzelne zu 
löschende/schreibende word wird nun am betreffenden Ort ins RAM 
geschrieben, das row gelöscht und die im RAM vorhandenen Daten zurück 
ins HEF geschrieben.
Wenn das betreffende row nicht schon mit wichtigen Daten beschrieben 
ist, kann man es einfach löschen und beschreiben.
Es gibt andere Pics, welche ein EEPROM haben, dort ist Byte-weises lesen 
und schreiben möglich.
Gruss J.P.

: Bearbeitet durch User
von Jochen-paul S. (picfan)


Lesenswert?

Nachtrag:
Es gibt andere Pics, welche ein EEPROM haben, dort ist Byte-weises 
löschen
und schreiben möglich.

von HodenleckerMaWin (Gast)


Lesenswert?

Was soll ein HEF sein?

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

HodenleckerMaWin schrieb:
> Was soll ein HEF sein?

HEF=high endurance flash, immer häufiger beim pic anzutreffen ...
im sinne von "spezialisierten" program flash block(s) und ökonomischer 
optimierung.
böse ist, dass der HEF block, die program flash size reduziert.

aber trotzdem besser als garnichts.


mt

von HodenleckerMaWin (Gast)


Lesenswert?

Und dieser HEF kann nicht mit den normalen Flash Routinen beschrieben 
werden?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.