Forum: Mikrocontroller und Digitale Elektronik MSP430 Bootloader UART


von thomas (Gast)


Lesenswert?

Hallo,
meine Frage kurz und knapp: Gibt es einen fertigen MSP430 Bootloader 
Sourcecode der über UART funktionert(Uart einstellbar).

Im Internet werde ich leider nicht fündig, bzw. verwende vielleicht die 
falschen Suchbegriffe!

von h_ (Gast)


Lesenswert?

Du meinst sowas wie bslsh? http://llg.cubic.org/dmx43/bslsh.html
Wenn nicht, dann erkläre bitte genauer, was du möchtest.

Viele Grüße

von thomas (Gast)


Lesenswert?

Also ich suche einen SW-Bootloader, welcher über RS232 funktionert, 
nicht BSL,...
sondern den ich ohne Hardwareveränderung verwenden kann. Z.B: Sende ich 
bei Neustart einen gewissen String erkennt der µC, dass jetzt ein 
HEXFile folgt und spielt mir das Programm in den Flash,.. Nach einem 
Reset startet das "richtige" Programm. Für PIC's und AVR's gibt es sowas 
ja schon nur für den MSP430 werd ich nicht fündig.

von h_ (Gast)


Lesenswert?

Achso. Sowas kenne ich nicht, denn das gibt es ja schon im ROM. Ich weiß 
nicht, ob sich da noch jemand die Mühe gemacht hat, einen in Software zu 
implementieren.

von Krapao (Gast)


Lesenswert?

> Also ich suche einen SW-Bootloader, welcher über RS232 funktionert,
> nicht BSL,...

In den MSP430x2xx µC ist vom Werk aus ein Bootloader für UART drin. Es 
gibt Artikel im Netz z.B. von IAR, die den Hardwareanschluss (2 
Widerstände und zwei Drahtbrücken zusätzlich zum RS232-TTL-Pegelwandler) 
beschreiben und das PC seitige Protokoll bzw. Bezugequellen für die PC 
Software.

Die TI Nomenklatur ist Bootstrap Loader und weil am µC die RST/NMI und 
die TEST Pins kontrolliert werden müssen, brauchst du eine 4(5)-Draht 
serielle Verbindung, d.h. RX&TX und z.B. die 
Hardware-Handshake-Leitungen DTR&RTS. Essentiell finde ich hier die 
Appnote SLAA096B. In der Appnote ist die C Source eines BSL drin. 
Damit steht einem frei, das nach eigenem Geschmack und für seinen µC 
abzuändern. Der Schlüssel ist, wie man den Bootloader zum Bootloaden 
überredet. Die dafür von der Hardware aus vorgesehene Methode sind 
bestimmte Pegel an RST/NMI und die TEST Pins. Die Hardware aus der 
Appnote ist bloss etwas umfangreicher, weil ein Adapter für µC mit und 
ohne TEST pin implementiert wird, die sich auch noch aus der RS232 mit 
Spannung versorgt. Wenn man beides auf seinem Board nicht braucht, wird 
die "Zusatzschaltung" einfacher.

Eine andere Variante hat LukasRiedel am 17. Juni 2009 im TI Forum für 
den MSP430F2132 umrissen. Er splittet seine Anwendung in mehrere 
Memory-Sektionen. Eine für den Anwendungsabschnitt (.text) und eine für 
den Bootloaderabschnitt (.boot) (und eine .tabulka möglicherweise für 
Flashdaten). Beim Reset wird zunächst der Bootloaderabschnitt aktiv und 
der Anwendungsabschnitt kann umprogrammiert werden. Die Voraussetzung 
dafür ist, dass man in der Lage ist seine Anwendung so zu übersetzen, 
dass Anwendungsabschnitt in den Bootloaderabschnitt voneinander 
unabhängig sind. Wenn der Bootloaderabschnitt den Anwendungsabschnitt 
umprogrammiert, können keine Funktionen oder Daten daraus verwendet 
werden. Lukas arbeitet in Assembler. Anm.: Um einen Reset aus der 
laufenden Anwendung heraus auszulösen wird bei vielen µCs der 
Watchdog benutzt.

von Al H. (alexitoo)


Lesenswert?

Das Thema ist anscheinend schon älter.
Aber ich habe einen Bootloader mit Uart Interface in C geschrieben. Der 
Bootloader benötigt ca. 2 kByte und ein Info-Segment. Falls jmd 
Interesse hat, soll er sich einfach melden. Ich kann ihm dann die 
Sourcen zukommen lassen.

von Wise (Gast)


Lesenswert?

Alex H. schrieb:
> Falls jmd
> Interesse hat, soll er sich einfach melden. Ich kann ihm dann die
> Sourcen zukommen lassen.

Stell deine Infos doch hier ins MSP430 Wiki. Dann haben alle etwas 
davon.

von thomas (Gast)


Lesenswert?

Hallo Alex H,
ich hätte Interesse daran!

von mex (Gast)


Lesenswert?

Hallo,
ich würde mir das auf jedenfall auchmal ansehen. Ich hab noch nie mit 
eienm Bootloader für MSP430 gearbeitet, bisher alles mit JTAG 
reingeschrieben was ich wollte. Allerdings gibt es auch ein Tool um per 
RS232 code reinzuschreiben, eben den bootstrap loader, leider 
funktioniert das mitgelieferte exe-tool nicht mit meinem Win ultimate, 
und bisher hatte ich keine Zeit und Lust mich zu kümmern, und auch kaum 
Bedarf.

von Al H. (alexitoo)


Lesenswert?

Ich würde den Bootloader mit Uart Interface auch ins Wiki stellen aber 
ich weiß nicht, wie das geht. Source Code und Doku ist fertig. Also 
falls mir einer oder eine behilflich sein könnte, wäre ich dankbar!

zur Info: Der Bootloader wurde auf einen MSP430G2553 implementiert. 
Damit möchte ich vorab sagen, was das Interrupt Handling angeht, gibt es 
gewiss bei größeren MSP430 bessere Möglichkeiten. Aber der Kleine 
unterstützt keine RAM - Interrupt - Vektor - Tabelle.

Gruß

Alex

von Wise (Gast)


Lesenswert?

Alex H. schrieb:
> Ich würde den Bootloader mit Uart Interface auch ins Wiki stellen aber
> ich weiß nicht, wie das geht.

Drück auf 
http://www.mikrocontroller.net/wikisoftware/index.php?title=MSP430&action=edit&section=3 
und schreib drauf los.

von Andreas M. (chillymu)


Lesenswert?

Hi Leute,

der Beitrag ist zwar schon etwas älter aber ich beschäftige mich gerade 
mit dem Bootloader des MSP430F5.

Ich möchte ein Firmwareupdate über die RS232-Schnittstelle realisieren.

Mittels Reset und Test Pin komme ich scheinbar in den Bootloader. In der 
Anleitung SLAU319M steht, dass man am Anfang eine 0x80 senden soll und 
als Anwtwort 0x90 bekommt.

Die RS232 ist auf 9600,8,E,1 gesetzt ohne CR oder ähnliches.


Mein Problem ist das ich keine Antwort auf die 0x80 bekomme. Erst wenn 
ich es dreimal sende bekomme ich eine 0x54 was laut Anleitung folgendes 
Bedeutet:

Packet size exceeds buffer. The packet size given is too big for the RX 
buffer.

Kann mir da jemand helfen?

von Al H. (alexitoo)


Lesenswert?

Hi Andeas und Community,

ich habe damals einen proprietären Bootloader für den MSP430G5 
geschrieben... Falls hier noch Interesse besteht, wie für diese Familie 
ein Bootloader mit UART-Schnittstelle geschrieben wird, dann kann ich 
meinen immer noch gerne online stellen (wenn der von TI nicht ausreichen 
sollte).

Lieben Gruß
Alexander

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.