mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C166V2/µVision3: Code "verschieben"


Autor: Stefan C. (jaecko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin.

Kurze Frage: Wie verschiebt man Programmcode (mit µVision3) am besten 
so, dass dieser auf einem XC2287 (C166 V2) nicht bei 0xC00000 beginnt, 
sondern bei 0xC10000? Die ersten 64kB ab 0xC00000 sollen für einen 
Bootloader frei bleiben, der direkt nach einem externen Reset bzw. beim 
Einschalten startet und dann (nach einigen anderen Vorgängen) das 
Programm an 0xC10000 anspringen soll.
Und genau da gibts noch das Problem: Was muss man beim Programm ändern, 
dass dieses erst ab 0xC10000 beginnt, und wie spring ich das dann an?

Im Moment versuch ichs so, dass im Programm bei den Target Options der 
Haken bei "Use On-Chip ROM (0xC00000 - 0xC0EFFF)" deaktiviert ist; die 
erzeugte Hex-File beginnt dann auch erst bei 0xC10000.
Die Vorgaben im Linker für die einzelnen Sections scheinen auch zu 
stimmen.

Im Bootloader spring ich dann mit dem folgenden an 0xC10000.
 #pragma asm
  JMPS #00C1h,#0000h
 #pragma endasm  

Nur hierhängt sich der Controller dann auf und tut nichts mehr;

mfG

Autor: Microman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

wird an 0xC10000 auch ein Vectortable erzeugt, damit der Controller auch 
weiß wie's weiter geht? Wie sind deine Settings?

Gruß Microman

Autor: Stefan C. (jaecko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Das mit der Vector-Table war ein guter Hinweis.
Hab das Vector Segment mal entsprechend auf 0x00C1 gelegt und jetzt 
läuft alles.
Thx.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.