Forum: Mikrocontroller und Digitale Elektronik MSP430: Bootloader aus Software aufrufen


von Christian R. (supachris)


Lesenswert?

Hallo,

weiß jemand, wie man den eingebauten MSP430-Bootloader aus der Software 
anspringen kann? Ich möchte den MSP430 per Befehl in den Bootloader 
schalten, um ihn dann neu programmieren zu können.

Im SLAA089 Dokument steht folgendes:(Seite 20, hab den F1611)

Preparation for SW call:
1
mov.b #00h, &BCSCTL2 
2
mov #00h, SR
3
br &0C00h
So, nun versuche ich das in GCC umzusetzen:
1
void EnterBootloader(void)
2
{
3
  BCSCTL2 = 0x00;
4
  WRITE_SR(0x00);
5
  asm("br &0C00h");
6
}

Nach dem ASM-Befehl landet der aber nicht im Bootloader sondern am Start 
der main()....

Was mache ich falsch?

von Michael (Gast)


Lesenswert?

Ohne es wirklich zu wissen, glaube ich, dass das eher ein Problem des 
Debuggers ist. Schau dir mal im Datasheet vom MSP430F1611 das Memory 
Mapping an (S.14). Bei Adresse 0x0C00 beginnt das Boot Memory.

Viele Grüße
Michael

von Christian R. (supachris)


Lesenswert?

Ja, genau da will ich ja hin. Da startet der Code für den seriellen 
Bootloader.

Habe inzwischen anhand des Disassemblers rausgefunden, dass der GCC aus 
meinem asm-befehl ein

BR &0x0000 macht. Wieso auch immer ?!? verwirrtsei

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.