Hallo
ich habe hier eine Smok Alien E-Zigarette mit vermutlich gebrickter
Firmware.
Das Modell wird normalerweise über USB angesprochen, jedoch nur wenn der
Boot Loader funktioniert.
Da er über USB nicht reagiert, habe ich die Platine rausgebaut und habe
einen Header gefunden mit 5 Pins, namentlich VDD, GND, RES, CLK und DAT.
Ich möchte versuchen, die Firmware direkt über den Header
aufzuspielen,die offizielle Firmware-Update Software hat als Option
Update über USB oder COM.
Verbaut ist ein Nuvoton nuc220le3an Microcontroller.
Nun frage ich mich, welche Schnittstelle das sein könnte, klingt stark
nach seriell aber ich lasse mich gerne belehren.
Weiss jemand, um welche Schnittstelle es sich hierbei handeln könnte,
und ob ich damit direkt an die RS232 Buchse am PC kann oder einen
Adapter benötige?
Vielen Dank im Voraus
Morgy schrieb:> VDD, GND, RES, CLK und DATMorgy schrieb:> ob ich damit direkt an die RS232 Buchse am PC kann
Mit Sicherheit nicht.
Er Anschluss den du gefunden hast bedeutet V+, GND, RESET, CLOCK, DATA.
Das ist mit hoher Sicherheit der Programmieradapter. Aber hat rein
garnichts mit einem COM oder UART zu tun. Versuche mal die Pins zum µC
zu Verfolgen.
Ps.: UART / COM ist mit Rx und Tx gekennzeichnet. Wobei sich in solch
ein Satz: "Update über USB oder COM" viel hineininterpretieren lässt.
Sollte der Bootloader defekt sein, warum auch immer, geht keines von
beiden. Dann musst der µC einen neuen Bootloader und Firmeware bekommen.
Hast du den Bootloader?
das ist SWD-
https://www.arm.com/products/processors/serial-wire-debug.php
du brauchst also nur das originale firmwareimage und einen programmer
mit SWD, zb. von Segger, plus software.
meine vermutung ist aber, dass ein neues gerät billiger ist..
dunno.. schrieb:> du brauchst also nur das originale firmwareimage und einen programmer> mit SWD, zb. von Segger, plus software.>> meine vermutung ist aber, dass ein neues gerät billiger ist..
Nunja.. ein ST-Link von einem Nucleo für 15€ reicht da auch schon ;-)
Ich kauf mir ja auch kein Ferrari weil ich morgen einmal Brötchen kaufen
fahren will.
Weiterhin, ist dann immer noch nicht über USB bzw. COM neu
programmierbar, ausschließlich über SWD. Und dann ist das Problem: Wenn
die Firmeware in einem propritären Format vorliegt - dann nutzt ihm
diese auch nichts, da nicht über SWD programmierbar. Bei uns wird das so
gehandhabt, da wird keine Standard HEX übertragen, sondern im Bootloader
umgerechnet (kleiner Aufwand, Sicherheitsaspekt).
ich hab grad beim hersteller auf der website ein wenig rumgeschaut, in
den anleitungen zum firmwareupdate arbeiten sie mit echten .hex files
und dem standardtool vom µC hersteller, also sicherlich auch mit dem
standard - bootloader...?
für mich siehts aus als könnts gehen, und wenn die swd dinger wirklich
so günstig zu kriegen sind..
Morgy schrieb:> Da er über USB nicht reagiert
Was bringt dich auf das schmale Brett, dass "nur" der Bootlader defekt
ist und der Rest des Prozessors noch funktioniert? Imho ist das ein Fall
für den Elektro-Kleingeräte-Container am Wertstoffhof.
Andere Frage zu dem Thema : was kontrolliert der Mikrocontroller in dem
Gerät eigentlich alles ? Ich dachte, da wird auf Knopfdruck nur
irgendwas heiß und verdampft die eingefüllte Flüssigkeit.
Die Dinger sind heute mehr als nur Knopf = Dampf. Haben meistens ein
schönes Display und man kann jede Menge einstellen (Temperatur,
Startleistung, usw. etc.)
Man kann Temperaturkontrolle einstellen, dementsprechend
Wärmekoeffizienten für verschiedene Drähte (Edelstahl, Nickel etc)
Dann natürlich Kurzschlussüberwachung, Ladezustand der LiPOs mit
Abschaltung und integriertes Laden der LiPOs, soviel zum Funktionsumfang
Die Software liegt als Hex vor, das stimmt
Ob es nur der Bootloader ist weiss ich nicht, ich will eben mal
versuchen ob er noch direkt am Header ansprechbar ist, weil USB nicht
mehr funktioniert.
Sollte bei beiden Fällen der Mikrocontroller nicht ansprechbar sein,
wird ein neuer eingelötet.
Ich werde es mal mit dem 15€ Programmiergerät versuchen, vielen Dank
schon mal für die Hilfe.
Jetzt hab ich aber mal noch ne blöde Frage
Im Datenblatt des Mikrocontroller stehen unter anderem auch MISO und
MOSI Pins.
Könnte ich den Controller dann nicht auch, wenn auch nicht direkt über
den Header auf der Platine, standardmäßig über ISP programmieren?
Bevor ich mir jetzt nen extra ST-Link kaufe?
Gruß
Morgy schrieb:> Im Datenblatt des Mikrocontroller stehen unter anderem auch MISO und> MOSI Pins.
Das sagt noch nichts darüber aus, ob der Controller auch über diese Pins
programmierbar ist.
Morgy schrieb:> Das Datenblatt
redet von SWD über ICE_DAT und ICE_CLK. Und Nuvoton ist kreativ im
Erfinden von "etwas eigenwilligen Lösungen". Ich würde aus eigener
Erfahrung darauf tippen, dass du dir einen speziellen Nuvoton Adapter
zulegen darfst.
Morgy schrieb:> ISP
Das ist nur ein serieller Port. Ob man darüber programmieren kann oder
nicht, steht im Datenblatt. Auch wenn das gehen sollte, wird das
Protokoll sicher vom bekannten AVR abweichen.
c-- schrieb:> Das ist nur ein serieller Port. Ob man darüber programmieren kann oder> nicht, steht im Datenblatt.
Seite 8 Datenblatt
Flash Memory
– 32K/64K/128K bytes Flash for program code
– 4 KB flash for ISP loader
– Supports In-System-Program (ISP) and In-Application-Program (IAP)
application code update
– 512 byte page
Oder interpretier ich das falsch
Morgy schrieb:> 4 KB flash for ISP loader
Mag sein, das ist halt ein Bootloader - wie da das erwartete Datenformat
in deinem speziellen Fall aussieht ist ein anderes Blatt. Vielleicht ist
er auch garnicht aktiv und die Hersteller sind über den IAP gegangen -
das weiß man halt nicht. Ich tippe auf einer Erfolgschance von 15% das
du da irgendwie nen Programm drauf bekommst.