mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bootstrap-loader am MSP430 aktivieren


Autor: Black Friday (black_friday)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
vieleicht kann mir jemand von Euch hier im Forum weiterhelfen.
Ich habe mir einen Sensor gebaut, in dem ein MSP430 arbeitet. Da der 
Sensor draußen angebracht weden soll, will ich ihn vergießen, jedoch 
später trotzdem noch die Möglichkeit haben, die Firmware zu ändern.
Über den im MSP430 standardmäßig integrierten Bootstrap-loader sollte 
das eigentlich funktionieren.
Mein Problem ist jetzt nur, dass ich an dem Sensorstecker nur noch max. 
1 Leitung frei habe, alle BSL-Adapter, die ich bislang gefunden habe, 
jedoch mindestens 2 Leitungen (zusätzlich zur RS232 Schnittstelle) 
benötigen.
Gibt es auch eine andere Möglichkeit, den BSL zu aktivieren oder kann 
man die Standardschaltung so umstricken, dass man mit einer nach außen 
geführten Leitung auskommt?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich nehme mal an, dass Du mit "RS232 Schnittstelle" die beiden 
BSL_TX und BSL_RX Signale meinst?!
Wenn ja, dann brauchst Du keine weiteren Pins mehr, denn Du kannst den 
BSL per Software starten.
Schau Dir die SLAA089.pdf von TI an.
Die Frage ist dann nur, wie Du dem µC sagst, er soll jetzt die 
Software-BSL-Start-Routine starten?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm...genau an dem Punkt bin ich auch hängen geblieben. Ich möchte auch 
den BSL aus der Software heraus starten, hab´s aber nicht geschafft, mit 
der in der SLAA089 geschriebenen Befehlsfolge landet der MSP im Nirvana. 
Komisch.
Ansonsten wäre Spy-Bi-Wire vielleicht eine Alternative.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heißt bei Dir, er landet im Nirvana?
Nach Ausführung der Befehlsfolge befindet sich der µC im BSL-Modus, 
sprich er reagiert nur noch auf Befehle, die über den BSL_RX-Pin 
reinkommen. Die "normale" Applikation wird nicht mehr ausgeführt!

Oder was meinst Du?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schön, wenn es so wäre. Nachdem ich an Adresse 0x0C00 gesprungen bin, 
reagiert er nicht auf BSL-Kommandos, und macht nach einer Weile meistens 
einen Neustart, manchmal döst er bei irgendwelchen Adressen ganz unten 
rum. Irgenwas scheint da noch nicht zu stimmen.

Ich versuche so in den BSL zu kommen:
void EnterBootloader(void)
{
  BCSCTL2 = 0x00;
  WRITE_SR(0);
  asm("mov #3072, R15");
  asm("br R15");
  
}

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du darfst ja auch nicht nach 0x0C00 springen, sondern an die Adresse, 
die in 0x0C00 steht!

daher ja auch: br &0x0C00

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja, stimmt, das hatte ich falsch verstanden. Irgendwie rödelt er 
jetzt zumindest schon mal weiter. Mal sehn, ob ich Kontakt zum 
Bootloader bekomme.

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.