Forum: Mikrocontroller und Digitale Elektronik PIC 18F23K22


von Jan (Gast)


Lesenswert?

Hallo,
ich habe ein Problem mit folgendem Microcontroller: PIC 18F23K22.
Diesem Microcontroller liegen einige fertige Programme bei, z.B. eine 
Lauflichtsteuerung, die sich problemlos in den Bootloader laden lassen.
Wenn ich aber selbst etwas programmiere und die compilierte hex.file in 
den Controller lade, wird immer der Speicherbereich des Bootloaders mit 
dem Programm belegt (Adressen 0 bis 400) und nicht wie es im angehängten 
Bild zu sehen ist. Das eigentliche Programm darf aber erst ab Adresse 
400 Speicherplatz belegen.
Weiß irgendwer eine Lösung dazu?

von GroberKlotz (Gast)


Lesenswert?

Verwende doch die Assembler-Direktive "ORG 0x0401 für Dein zu ladendes 
Programm (vgl. Hilfe zur MPLAB-IDE).
mfg GroberKlotz

von Meister E. (edson)


Lesenswert?

> Weiß irgendwer eine Lösung dazu?

Du verwendest wahrscheinlich das falsche Linkerscript. Wenn du dort den 
vom Bootloader beanspruchten Bereich als PROTECTED kennzeichnest, baut 
der Compiler auch das richtige Hex-File.

Gruß,
Edson

von Meister E. (edson)


Lesenswert?

GroberKlotz schrieb:
> Verwende doch die Assembler-Direktive "ORG

Das funktioniert nur im Assembler und da auch nur im 'absolute mode'. Da 
der TE von kompilieren spricht, hilft dein Tipp ihm nicht weiter.

Gruß,
Edson

von Jan (Gast)


Lesenswert?

Also wie genau ich das mit Linkerscript mache, muss mir aber mal einer 
erklären

von Meister E. (edson)


Lesenswert?

Zeig mal das Linkerscript, so wie du es momentan benutzt. Oder lass 
durchblicken, welche "fertigen Programme" das sind. Dann kann ich selbst 
nachschauen, welche Linkerscripts verwendet wurden.

Welchen Compiler benutzt du?

Gruß,
Edson

von Michael Hofmann (Gast)


Lesenswert?

Falls es sich um das PIC-Lernpaket handelt, findet man die Einstellungen 
für MPLAB auf der CD unter "weitere Infos" oder auf meiner Internetseite 
unter http://www.edmh.de/Beispiele.html/

von Michael Hofmann (Gast)


Lesenswert?

Sorry für den falschen Link. Der / am Ende muss weg. Also, hier nochmal 
richtig: http://www.edmh.de/Beispiele.html

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.