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?
Verwende doch die Assembler-Direktive "ORG 0x0401 für Dein zu ladendes Programm (vgl. Hilfe zur MPLAB-IDE). mfg GroberKlotz
> 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
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
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
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/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.