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
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).
Das BSL-Protokoll von TI benutzt immer Antworten (siehe slau319). Die benötigten Pins stehen im Datenblatt im Abschnitt "BSL". Zum Mehrfach-Flashen müsstest dir einen eigenen BSL schreiben.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.