Hallo, für mein STM32 Projekt hab ich den Bootloader von ST für die RS232 Schnittstelle auf meine Bedürfnisse angepasst und jetzt stürze ich mich auf auf die Consolen Applikation für den PC. Ich möchte danach den RS232 Bootloader auf USB CDC (Virtual Comport) abändern und mir viel nun auf, dass der Virtuelle Comport nicht immer vorhanden ist. Der BL arbeitet momentan nach diesen Ablauf: Der uC wartet nach einsteckern des USB Kabels 3 Sekunden auf ein Start ASCII zeichen, wenn kein Start Ascii kommt, dann wird geprüft ob eine Main APP geschrieben ist und dann angesrpungen. Wenn innerhalb von 3 Sekunden das Start Ascii Byte gesendet wird, dann springt der BL die Funktion zum update an und nach erfolgreichen flashen wird ein reset ausgeführt. PC Consolen Applikation: STM32_BL.exe -com_port -cpu_type -flash_file startet das Programmm mit den angegebenen parametern. 20 Sekunden lang wird das Start ASCII zeichen gesendet, damit der Benutzer genug zeit hat das STM32 an den PC anzuschliessen. Sollte sich der PC mit dem STM32 synchronsiert haben, wird der Filer Transfer prozess gestartet. Meine Überlegnung war folgende: STM32_BL.exe -com_port -cpu_type -flash_file startet das Programmm mit den angegebenen parametern. Der COM_Port wird versucht zu oeffen bis ein Timeout von 1 Minute oder manueller Abbruch erfolgt. Sollte der Comport sich oeffnen lassen, dann wird 20 Sekunden das Sync Byte gesendet usw. Ist die Überlegung richtig oder sollte es anderes gelöst werden?
> Ich möchte danach den RS232 Bootloader auf USB CDC (Virtual Comport) > abändern und mir viel nun auf, dass der Virtuelle Comport nicht immer > vorhanden ist. Was heisst das? Du hast bereits CDC implementiert und es funktioniert nicht richtig? Der COM-Port muss immer auftauchen. > Meine Überlegnung war folgende: > ... > Ist die Überlegung richtig oder sollte es anderes gelöst werden? Ich würde mir in der Programmiersprache meiner Wahl folgendes Programm schreiben (Device noch nicht eingesteckt): - Programm wird gestartet und liest alle aktuell vorhandenen COM-Ports aus - Aufforderung an den User das Device einzustecken, währenddessen wird kontinuierlich geprüft, ob ein weiterer COM-Port hinzukam - Wenn ein neuer COM-Port erkannt wurde, wird das nötige Initialisieren des Bootloaders vorgenommen und die Firmware geladen, indem du dann das Flash-Programm mit dem passenden COM-Port aufrufst - Benachrichtung an den User und fertig Ralf
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.