Bootloader in Reihe geschalteter ICs

Gast #4295193
Lesenswert?
• ▲
▼
Hallo,

ich habe noch keine Erfahrung mit Bootloadern aber ein Projekt im Auge.

Ich hätte mehrere 10 Controller in Reihe geschaltet und würde diese 
gerne alle an der selben UART-Leitung lauschen lassen.

Kann ich einen Bootloader verwenden, der quasi allen Controllern 
gleichzeitig ein neues Programm ein impft, oder würden dann die 
Controller während der Programmierung antworten, so dass ich in dem 
Falle ein mehrfaches Echo von mehreren Controllern auf der RxD Leitung 
zu erwarten hätte...?

Brauche ich noch weitere Signale außer RxD und TxD?

Verwendet werden soll ein MSP430F2132
Gast #4295280
Lesenswert?
• ▲
▼
Hi
generell gesagt: Es geht. :-)

Aber, es kommt drauf an was du investieren kannst, an KnowHow und 
Bauteilen.
Mit einer einfachen UART kommst du nicht weit.
Und eine fertige Lösung wirst du auch nicht finden.

Ich habe damals zur Unterstützung der Produktion-Abteilung so etwas 
gebaut, MC war ein Sam7s mit RS485. Und für einen Kunden mit TMS320F28 
mit Ethernet, beide hatten genug Speicher um die Firmware aufzunehmen 
(Ext. Flash).

zum Anfang wurden die zu flashenden Devices in eine Liste eingetragen 
(PC Programm), dann per Telegramm auf der Datenleitung gesucht und in 
den Bootloader Modus versetzt.(hier noch direkte Kommunikation mit jedem 
Device einzeln) Die Firmware wurde dann in Blocks per 'Broadcast' + 1 
Prüfblock, an alle gesendet. Dann die Bestätigung der einzelnen Devices 
abgefragt und dann bis zum Ende durch geflasht.
Gültig wurde die neue Firmware aber erst, nach dem letzten erfolgreichen 
übermittelten Telegramm.

Ist schon etwas her, aber war ganz gut glaub ich, dem Kunden und der 
Produktion hat es gefallen. :-D

Wie mußt du deinen MC im Flash beschreiben? Word oder Byte oder Page 
weise? Bei 512 Byte Ram hast du ja nicht viel.
Wenn du eine Lösung hast, stell Sie mal bitte hier kurz vor(Text,kein 
Code).
Gast #4295600
Lesenswert?
• ▲
▼
Hallo

am einfachsten du gibst jedem Bootloader gleich eine Adresse mit, der 
dann gezielt den einzelnen Chip ruft. (Veränderung des Magic Byte z.B. 
Erkennung für den Bootloader)

Den TXD Master  zu RXD Bus  Kann man alle Parallel hängen.
(Auf die Stärke achten gegebenenfalls einen Treiber setzen)

Den TXD Bus zu RXD Master muss als Open Collector ausgeführt werden.

Dies bedeutet, dass diese Leitung mit ca 1K Ohm Widerstand an 3,3 Volt 
hochgezogen werden muss.  ( Ruhe von TXD ist High)

Alle TX in den Bus Bausteinen müssen Disabled werden. Nur Ein Bus Slave 
darf sprechen und der schaltet dann seinen TXD aktiv. Wer sprechen darf, 
muss das Protokoll bestimmen, alle gleichzeitig geht nicht.

Wir haben hier viele solche Systeme am laufen


Gruß Thomas

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.