AppCode would overwrite boot-code

Gast #3209442
Lesenswert?
• ▲
▼
Hallo,

ich benutze Codesourcery + Eclipse für den ARM7 (LPC2148) und habe jetzt 
erstmals folgendes Problem.

Nach dem Zusammenlegen von zwei C Quelltextteilen bekomme ich die
Meldung: "AppCode would overwrite boot-code".

Diese Meldung kommt aus  LPC2148_flash.ld (...LPC2368 from Chan with
modifications by Martin Thomas)

Genauer steht da :

LAST_USED_FLASH_ADDRESS = LOADADDR(.data) + (_data_end_ - 
_data_start_);
ASSERT(LAST_USED_FLASH_ADDRESS < USERAPP_START_ADDRESS , "AppCode would 
overwrite boot-code");
USERAPP_MAX_ADDRESS = ORIGIN(ROM) + LENGTH(ROM);

Jetzt hätte ich gerne gewusst, wie ich das aufschlüsselen kann. Bisher 
hat
alles wunderbar geklappt. Nun müsste ich aber zum Beheben des Problem 
wissen, wo man die Addressen findet auf die sich die Berechnug bezieht.

Hat jemand eine Idee dazu ?

Danke.
Moderator Persönliche Seite #3209475
Lesenswert?
• ▲
▼
> LAST_USED_FLASH_ADDRESS = LOADADDR(.data) + (_data_end_ -
> _data_start_);

Die letzte benutzte Flash-Adresse wird berechnet, unter der Annahme, 
dass die Initalwerte von Variablen zuletzt im Flash abgelegt sind. 
LOADADDR(.data) ist die erste Adresse, die .data Output-Section, zu 
dieser wird die Größe der Section addiert.

> ASSERT(LAST_USED_FLASH_ADDRESS < USERAPP_START_ADDRESS , "AppCode would
> overwrite boot-code");

Falls die in der vorherigen Zeile errechnetet Adresse >= 
USERAPP_START_ADDRESS bricht der Linker ab.

So richtig erinnern kann ich mich an der Code gerade nicht aber ich habe 
das wohl vor ein paar Jahren verbrochen für irgend einen speziellen 
Bootloader. Falls kein Bootloader zum Einsatz kommt, kann man die 
Prüfung einfach rauslöschen. Der Linker prüft bei einfachen Anwendungen 
ohnehin anhand der LENGTH-Angaben in der MEMORY-section des 
Linkerscripts, ob ausreichend Platz zur Verfügung steht.
Gast #3209498
Lesenswert?
• ▲
▼
Ja, super , klappt!

Nein, es ist kein Bootloader im Einsatz. Hatte das Script schon
unverändert mehrere Jahren im Einsatz ohne Problem (obwohl ich es als
ganzes sowieso nicht verstehe). Das was normalerweise raus kommt
funktioniert jedoch prima. Hoffe auch weiterhin!!

Danke sehr, hat mit sehr geholfen.

Grüße

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.