Forum: Mikrocontroller und Digitale Elektronik Microchip XC8 Linker 'überspringt' Bootblock


von Thorsten F. (thorsten)


Angehängte Dateien:

Lesenswert?

Moin moin,

ich spiele hier ein wenig mit MPLABX 2.0/XC8 1.30 herum um mal zu sehen, 
ob ich einen Bootloader zusammengebaut bekomme.
Wenn ich das Datenblatt vom 18F2550 richtig gelesen habe, gibt es einen 
extra Boot-Block im Flash von 0-0x7FF, der sich dafür ja gut anbietet.
Ein kleines Testprogramm wird vom Linker allerdings immer wieder erst ab 
Adresse 0x800 ins Flash gelinkt (quasi Block 0).
Ich kriege das ganze scheinbar nicht so eingestellt, dass er 'normal' ab 
0x0 das Flash füllt. Alles was dort landet ist ein 'goto 0x800'.

Bin eher neu in den Microchip Tools, hat sowas schonmal jemand gesehen?

Im Anhang eine grobe Memory Map, die XC8 ausspuckt.

Gruß,
Thorsten

von Peter C. (peter_c49)


Lesenswert?

Hallo Torsten,

Dein problem wird das Linkerscript sein, dass sorgt dafür das dein 
loader an die richtige stelle gelinkt wird.
Schau dir mal die AN1310 an. der UART bootloader funktioniert prima auf 
meinen PIC18 und belegt wenig platz.

mfG
Peter

von Thorsten F. (thorsten)


Lesenswert?

Ja, Linkerscript war auch mein erster Gedanke, aber der XC8 hat nicht 
mehr wie beim C18 externe Scripts. Gibt scheinbar nur noch commandline 
Options über die Projekteigenschaften.

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.