Hallo zusammen, da inzwischen hier doch einige Entwickler mit Rust Erfahrung haben, wage ich es mal ;-) Es geht um dieses Tool zum Flashen per DFU, insbesondere STM32: https://github.com/sourcebox/dfu-buddy Leider habe ich das Projekt aufgrund der schlechten Verfügbarkeit der STM32 etwas auf dem Blick verloren, wollte aber jetzt nochmal reinschauen. Das eigentliche Problem: wie bereits im Readme geschrieben, funktioniert das Flashen nicht bei allen Serien der MCU, sondern schlägt innerhalb der libusb mit "Broken pipe" oder "Overflow error" fehl. Es scheint bei den älteren Serien aufzutreten, daher gehe ich davon aus, dass es zu irgendeinem Zeitpunkt eine Änderung im Protokoll des internen Bootloaders gab. Ich habe natürlich auch nur relativ wenig verschiedene MCUs hier zum Testen. Vielleicht hat ja jemand eine Idee, woran es liegen könnte.
Oliver R. schrieb: > Vielleicht hat ja jemand eine Idee, woran es liegen könnte. Ich hatte mal bei meinem Brennprogramm für die STM-Bootlader den Effekt, daß es bei manchen Chips beim Bulk-Erase zu Aussetzern kam, wonach es NUR durch Ab- und wieder Zuschalten von VCC zum Chip wieder weiter ging. Ich hatte mir das so erklärt, daß es da einen Latchup gegeben hatte, weswegen der Bootlader nicht weitermachen konnte, weil eben der gesamte Chip blockiert war. Probiere du das mal damit aus, daß du bei solchen Chips keinen Gesamt-Erase machst, sondern den Flash nur sektorweise löschst. W.S.
W.S. schrieb: > Probiere du das mal damit aus, daß du bei solchen > Chips keinen Gesamt-Erase machst, sondern den Flash nur sektorweise > löschst. Hi, das ist jetzt schon so gelöst, Flash wird nur sektorweise gelöscht, allein schon damit andere Regionen nicht angetastet werden.
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.