Forum: Mikrocontroller und Digitale Elektronik Bootloader (LPC2386)


von Drasko J. (wxx)


Lesenswert?

Hallo allerseits!

Ich versuche nun seit Tagen meiner Applikation (Haupt Programm) die per 
eigenen Bootloader auf LPC2386 geladen wird, zum Laufen zu bringen. Der 
Bootloader und die Applikation sind unter picoOs Betriebsystem.
Der Bootloader steht an der Flash-Adresse 0x0000 / RAM 0x40000000, die 
Applikation wird an der Flash-Adresse 0x8000 ins Flash geschrieben und 
danach per Funktionspointer aufgerufen. Die Applikation ist an die 
Adresse 0x8000 / RAM 0x40000040 gelinkt.

Die Vector Table schaut so aus:
vectorTable:

  b  start               /* 0x00 reset / supervisor */
  b  endless_loop        /* 0x04 undefined instr / undefined */
  b  armSwiHandler       /* 0x08 software interrupt / supervisor */
  b  endless_loop        /* 0x0C abort (prefetch) / abort */
  b  endless_loop        /* 0x10 abort (data) / abort */
  nop                    /* 0x14 resered */
  b  armCpuIrqHandler    /* 0x18 IRQ / IRQ */
  b  endless_loop        /* 0x1C FIQ / FIQ */


Direkt bevor ich zur Applikation springe, in den Bootloader 64 Bytes von 
0x8000 wird zu 0x40000000 kopiert und das Mapping auf RAM umgestellt 
(MEMMAP = 2).Trotzdem geht meine Applikation im Nirvana oder stürzt ab – 
auf jeden Fall funktioniert es nicht.

Meine Fragen ist was muss ich noch machen das ich meine Applikation 
normal ausführen kann?

Ist es möglich die Applikation (0x8000) irgendwie zu debuggen.
Beim "User Flash Mode", befindet sich der Vector Table in Flash- ist es 
so möglich zu konfigurieren, dass sich der Vector Table an 0x8000 
befindet.

Ich bin dankbar für jeden Tipp.

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.