Forum: Mikrocontroller und Digitale Elektronik PIC12F509 "reserved area"


von Walter F. (mrhanky)


Lesenswert?

Hallo,

ich programmiere auf einem PIC12F509. Mit dem Speicher ist es wirklich 
knapp, mir fehlen aber noch ein paar "Byte". Ich habe mir schon eine 
ganze Stange von diesen Teilen gekauft, da ich dachte, ich komme locker 
mit dem Speicher aus. Deshalb kann ich nicht einfach auf einen PIC mit 
mehr Speicher wechseln.

Ich habe jetzt aber gemerkt, dass ich auch den Speicher von 0x405 - 
0x43F beschreiben kann.

Meine Frage: gibt es irgendeine Möglichkeit den PIC dazu zu bewegen, 
Code in diesem Bereich auszuführen ?
Wozu ist dieser Bereich gedacht ? (400-404 ist für USER ID und 
OSCAL-SIK).

Was passiert, wenn ich PA1 im Statusregister setze ?

von M. J. (manfred-64)


Lesenswert?

Walter Freywald schrieb:
> Ich habe jetzt aber gemerkt, dass ich auch den Speicher von 0x405 -
> 0x43F beschreiben kann.

liegt weit außerhalb des Adressraums eines Pic12f508
gespiegelt sollten die Adressen bei dem typ auch nicht sein?
Was macht der Compiler daraus? (disassembler)

Walter Freywald schrieb:
> Was passiert, wenn ich PA1 im Statusregister setze ?

Gibt's bei dem NICHT!

zu PA0 steht im Datasheet:
5: This bit is used on the PIC12F509. For code compatibility do not use 
this bit on the PIC12F508.

Code Optimieren ist Dein neues Hobby :)


mfg

von ich (Gast)


Lesenswert?

Wenn du Konstanten hast, kannst du die auch in dein Programmspeicher 
schreiben, wenn dein Compiler das nicht schon macht. Das hat mir auch 
schonmal geholfen.

von Walter F. (mrhanky)


Lesenswert?

Danke für die Antworten.

Wozu ist denn dieser Bereich da (0x405 - 0x43F) ? ICD ?
Weiß hier jemand, wie das ICD beim PIC12F509 funktioniert ?

PA1 scheint es wirklich nicht zu geben, zumindest wird SW im Bereich 
0x405+ nicht ausgeführt.

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.