Hallo zusammen, ich habe so die ein oder anderen Probleme mit dem weiteren Vorgehen, vielleicht hab ihr ein paar Infos für mich. Grundsätzlich bin ich noch nicht so richtig im Thema Microcontroller programmieren. Experimentiere etwas mit TUYA, Hoass, Openbeken etc. herum. Nun hab ich einen schönen Mähroboter der später in Hoass integriert werden soll. Nun soweit gut. Das Mainboard hat einen GD32F303xxx verbaut. Es besteht die Möglichkeit ein Modul für Wifi einzubauen. Nach suchen wäre dort ein WBR3 Modul eingebaut. Damit die zwei sprechen muss ich sicherlich in der MCU was dazu Programmieren. So nun zu meinen geistigen Ende :-) Ich habe Verbindung zur MCU über ST32 Utility hergestellt und konnte eine 4 KB grosses File auslesen. Das ist natürlich in Ascii und als . bin abgespeichert. Wie kann ich dieses File öffnen, bearbeiten? Habe Programme wie, GD AllinOne, GD PRogrammer, ST Utility, STCube, STEmbedded, Keil V5.... Wäre dankbar für einen Tip. Grus Mark
Mark schrieb: > Das ist natürlich in Ascii Mit Notepad. Bin Dateien mit HEX-Editor. Was erhoffst du dir davon?
:
Bearbeitet durch User
Mark schrieb: > Wie kann ich dieses File öffnen, bearbeiten? Mit einem HEX-Editor. Notepad++ oder sowas reicht vermutlich. Um deine Frage inhaltich zu beantworten: Was du ausgelesen hast, ist kompilierter Maschinencode - Daraus verständlichen und funktionierenden Quellcode zu machen, den man dann sinnvoll editieren kann, ist nahezu unmöglich. "Du kannst ein Ei nicht ungekocht machen" gibt es als schönes Sprichwort dazu. Disassembler wie Ghidra können dabei helfen, aber es wird sehr viel Zeit und Wissen über den Controller benötigen, um irgendetwas Brauchbares dabei herauszubekommen. Realisitischer wäre es vermutlich, den Controller als Blackbox zu betrachten und die Softwarefunktionalitäten so gut wie möglich zu verstehen, zu reverse engineeren und etwas Funktionsidentisches von Grund auf neu zu erstellen.
:
Bearbeitet durch User
Famg lieber mit originalen STM32 an, die (und ihre Software) sind schon komplex genug. Du musst dich nicht gleichzeitig auch noch mit den Mängeln der Fakes quälen.
:
Bearbeitet durch User
Hier ist ein schöner Artikel, der den Prozess für einen STM32 zeigt: https://blog.attify.com/analyzing-bare-metal-firmware-binaries-in-ghidra/ Für einen GD32 müsste man vermutlich sogar erst die ganzen grundlegedenden Strukturen wie Informationen über Befehle, Speicherbereiche,... anlegen. Und auch dann braucht man noch tiefes Verständnis über die Funktion der Firmware, denn soetwas wie Variablen- und Funktionsnamen gibt es im Dekompilat nicht.
4 kB scheint mir für einen Mährobotor verdammt wenig zu sein. Es ist anzunehmen, das da eine Menge der Firmware fehlt. Das kriegst du nicht reengineered. Selbst mit einem symbolischen Disassembler und aller Hilfe, die du kriegen kannst, wird das Monate bzw. Jahre dauern, daraus wieder ein lauffähiges Mährobbi Programm zu machen.
:
Bearbeitet durch User
Ohje, habe es vermutet, das es nicht so einfach wird. Mal ein paar Schritte zurück. Kann ich das gesamte Programm der MCU auslesen, sodass es mir die Funktionen der Ausgänge, Eingänge, Datenverbindungen (Uart, I2C, etc) über ein Programm anzeigen lassen? Hintergrund ist halt der Datenaustausch mit dem vermeintlichen WIFI-Modul. Da laut Platinenlayout die an PA11 und 12 laufen, an Wifi-Modul RX/TX. Laut Anleitung ist an PA11 und 12 Uart0 oder Can-TX/RX möglich. Dann gibt es noch zwei GPIOs die ich noch suchen muss.
Mark schrieb: > Mal ein paar Schritte zurück. > Kann ich das gesamte Programm der MCU auslesen, sodass es mir die > Funktionen der Ausgänge, Eingänge, Datenverbindungen (Uart, I2C, etc) > über ein Programm anzeigen lassen? Nein. Du musst dem Maschinencode (Assembler) analysieren und verstehen. Wenn du damit nicht schon als 12 Jähriger angefangen hast, wirst du es in duesem Leben nicht mehr erlernen.
Hmmm, ist ja nicht befriedigend. Dann wäre meine Alternative nur eine Firmware von einem Gerät mit Wifi-Modul zubekommen und dies drüber flashen?
Wenn das Wifimodul nachrüstbar ist, dürfte die Firmware schon alles enthalten, was dafür gebraucht wird. Ansonsten kannst du davon ausgehen, dass der Code gegen auslesen geschützt ist. Da kommst du nicht dran. Oder anders gesagt: Verkauf den Mähroboter, und kauf einen mit WiFi. Oliver
Oliver S. schrieb: > Oder anders gesagt: Verkauf den Mähroboter, und kauf einen mit WiFi. Dabei hab ich schon Spass am basteln. Irgendwie enttäuschend. Trotzdem Danke für die Antworten. Gruß Mark
Du kannst ja mal messen mit Logikprüfer oder Oszi, ob an TX zum Wifi Modul schon Daten gesendet werden. Wenn ja, kann es schon sein, das die Firmware darauf vorbereitet ist.
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.