Prozessor aus Image ableiten

Gast #6691128
Lesenswert?

Hallo.

Ich habe angefügtes Image zum Updaten eines Datenerfassungsgerätes aus 
dem Updateprogramm extrahiert. Lässt sich aus dieser Datei der 
verwendete Prozessor ableiten?
Ich hatte auf ein Filesystem gehofft (zB Linux). Aber das scheint es 
nicht zu sein. Es muss eher ein Mikrocontroller oä Image sein. 
Verschlüsselt scheint es auch nicht da Klartext zu finden ist.
Wirklich komplex ist das Gerät auch nicht. Es nimmt die Daten über PLC 
(low speed powerline) entgegen (serieller SOC - vor einigen Jahren 
fragte hier mal einer nach dem MI202), fasst sie zusammen und sendet sie 
über Ethernet ins Internet wieder raus (TCP - sicherlich ohne TLS oä).
Danke.

Martin
Angehängte Dateien:
Persönliche Seite #6691201
Lesenswert?

Das sieht stark nach einem Image für einen Cortex-M3 aus. Am Anfang ist 
der Interrupt-Vektor mit initialem Stack-Pointer zu sehen. 
Disassembliert mit Thumb2 sieht es auch recht sinnvoll aus. Es tauchen 
einige wenige FPU-Instruktionen auf, aber das sind vermutlich Daten die 
der Disassembler nicht als solche identifizieren kann, daher 
wahrscheinlich kein Cortex-M4 oder -M7. -M0 ist es auch nicht, weil 
Thumb2-Instruktionen (sinnvolle, keine fehlinterpretierten Daten) 
auftauchen.

Die Strings "netconn" und "tcpip_thread" tauchen auf, das klingt nach 
lwIP. Der Flash-Anfang scheint 0x20000 zu sein. Der Stack-Anfang ist auf 
0x20003FF8 gestellt. Es könnte also ein Prozessor mit 16 KiB SRAM 
sein. Wenn dir langweilig ist kannst du alle Cortex-M3 mit 16 KiB SRAM 
durchgehen bei denen der Flash ab 0x20000 eingeblendet ist (STM32 
schonmal nicht IIRC) und mindestens 128 KiB groß ist.
Der String "www.envertecportal.com" liefert dir vermutlich nichts neues.

Es wird wahrscheinlich ein Bootloader verwendet, das Image fängt 
wahrscheinlich daher nicht ab 0x20000 an, denn das passt nicht gut mit 
den Adressen im ISR-Vektor zusammen.
Gast #6691336
Lesenswert?

Hallo.

Das mit dem Bootloader wird stimmen. Irgendwie muss das Image ja via 
Ethernet upgedatet werden.
Kannst du erkennen ob der PLC Soc wirklich seriell angesteuert wird? 
Oder wird SPI verwendet?
Danke.

Martin
Persönliche Seite #6691344
Lesenswert?

Martin schrieb:
> Kannst du erkennen ob der PLC Soc wirklich seriell angesteuert wird?
> Oder wird SPI verwendet?

Das ist schwierig herauszufinden. Dazu bräuchte man die Adressen der 
Peripherie-Module, wozu man den Prozessor-Typ kennen müsste. SPI ist 
aber auch seriell! Das ließe sich am Besten mit einem guten Foto der 
Platine und dem Datenblatt des PLC SoC beantworten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren