Hallo, Ich habe mit Mikrocontrollern leider keinerlei Erfahrung und wollte das ändern. Aber im Vordergrund steht für mich erst eine Fehlersuche. Habe hier mehrere DNA200 Boards, das sind Mikrocontroller gesteuerte Regelungen für E-Zigaretten. Ich würde gerne versuchen einem in der Dampfercommunity sehr häufig auftretenden Fehler auf den Grund zu gehen. Ein fehlerfreies Board reagiert im Normalfall so. Man legt drei Akkus ein, drückt den Feuerknopf und das Board bootet hoch und ist Einsatzbereit. Nach 30 Minuten Inaktivität geht das Board in den Standy Mode. Man muss den Feuerknopf dann erneut drücken, damit das Board wieder bootet und wieder ist es einsatzbereit. Das ist das normale vom Hersteller und den Kunden gewünschte Verhalten. Jetzt habe ich hier drei fehlerhafte Boards. Diese Verhalten sich so: Man legt drei Akkus ein und drückt den Feuerknopf und nichts passiert, das Board bootet nicht und das Display bleibt schwarz. Hier kann man den Bootvorgang nur einleiten, wenn man während man den letzen Akku einlegt den Feuerknopf gedrückt hält. Dann bootet das Board normal hoch und ist einsatzbereit. Lässt man es dann 30 Minuten stehen, geht es in den Standby und man bekommt nicht mehr per Druck auf den Feuerknopf gestartet. Dann muss man wieder einen der drei Akkus rausnehmen, den Feuerknopf beim Einlegen des Akkus gedrückt halten und das Board startet. Evtl könnte hier ein Fehler in der Programmierung des Atmel vorliegen. Da diese Boards auch Benutzereinstellungen speichern, könnte ja vielleicht hier irgendwas beim Speichern der ein oder anderen Einstellung passiert sein, dass der Mikrocontroller einfach nicht mehr den Eingangspin im Standby einlesen will. Da die Software "Escribe" von Evolv anscheinend einen Bug hat und man die Werkseinstellung nicht vollkommen wiederherstellen kann, wollte ich einfach versuchen, mal den Atmel eines meiner funktionierenden Boards auszulesen und auf fehlerhaftes Board zu kopieren. Meine Frage wäre, was brauche ich dafür um dies auf dem einfachsten Wege zu probieren ? Da ich nicht weiß ob im Atmel die Fuses aktiv sind, wäre erstmal der einfachste Weg das Beste. Am Löten soll es natürlich nicht scheitern, das bekomme ich sicher hin, weil ich auch schon die ein oder andere Micro USB Buchse an diversen E-Zigaretten erfolgreich gelötet habe. Wäre super, wenn mir da jemand ein paar Tips geben könnte :-) Viele Grüße, Christian
Kommt drauf an ob die SWD Ports nach draußen gelegt wurden? Möglicherweise ist die Routine zum schlafen legen fehlerhaft. Es gibt glaube ich nur 1 oder 2 Pins womit über den PMC das aufwachen realisiert wird.
Woran erkenne ich ob die Ports nach aussen gelegt wurden ? Was bräuchte ich an Hardware um auf den Atmel zugreifen zu können ? Ich gehe davon aus, dass irgendwas mit dem Bootloader des Boardes ist. Anders kann ich mir das nicht vorstellen, weil das Board Anfangs ohne Probleme funktioniert hat und aufeinmal dieses wake-up Problem aufgetreten ist. Am Feuertaster an sich kann es auch nicht liegen, weil dieser ja tadellos funktioniert, wenn man das Board mit dem Akkutrick starten konnte.
Ich vermute mal das sie nicht nach außen legt wurden. Mach mal eine Foto von vor und Rückseite. Um den SWD zu nutzen benötigst du einen Debugger der das Device unterstützt. Atmel ICE oder ein J-link. Hör lieber auf zu Rauchen und Vorsicht beim anstecken an den PC aus soll schon vorgekommen sein das in Lampen und solchen Dingen Viren eingeschleust wurden.
Oben ist ein Bild von der Vorderseite angehängt. Auf der Rückseite ist nichts brauchbares, weil direkt hinter dem Atmel 2 Leistungsspulen sind und dort keine Pads erreichbar wären. Ich könnte nur versuchen entweder direkt am Atmel, an umliegenden Bauteilen und an Platinendurchführungen zu löten. Das hat mit Rauchen genausoviel zu tun wie Cola mit Biertrinken...... Auf den aufgebauschten Schwachsinn aus den Medien gebe ich nicht wirklich viel, vorallem weil der DNA200 von einem renomierten Hersteller kommt und ich sonst keine China Billig "E-Zigaretten" habe sondern nur hochwertige Mods ala SX-Mini M, Dicodes No6, DNA200 und zahllose Mechmods die keinen USB haben ;-)
Ich habe mir das Board mal nochmal genauer angesehen und man kann PA30, PA31 und RESET ohne große Probleme erreichen. Bei einem Pin muss ich lediglich den Lack von der Platine kratzen um das Durchführungspad zu erreichen :-) Soweit ich das in dem Datenblatt zu dem Controller verstanden habe, brauche ich nur diese 3 Pins ? Wäre dann dieser Debugger den ich zum versuchsweise Auslesen verwenden könnte ? http://www.ebay.de/itm/like/291576648448?lpid=106&chn=ps&ul_noapp=true Soweit ich erkennen kann, hat dieser die 5 Leitungen von denen eine ohnehin optional auf einigen Devices ist (SWO) Das würde dann in meinem Verständnis von der Materie bedeuten, dass ich Pin 26 (Reset), Pin 30 (VDDIN), Pin 31 (PA30) und Pin 32 (PA31) mit dem Debugger verbinden müsste um den Atmel auszulesen. Das ganze würde sich dann eigentlich nur auf der linken Seite des Controllers auf dem Foto abspielen. Und eine externe Spannungsversorgung ist bei diesem Vorgang dann nicht von Nöten. Soweit waren jetzt meine Recherchen laut meines Verständnisses, ich habe versucht, es selbst herauszufinden, weil ich nicht einfach nur fragen will um dann auf vorgekaute Antworten zu warten und in der Zeit faul herumzusitzen :-D Jetzt brauche ich nur noch eine Bestätigung meiner Theorie und die Hardware Seite wäre schonmal erledigt ;-)
Naja, dann wird das hier wohl nichts. Schade :-( Lässt sich wohl jeder von E-Zigarette abschecken, obwohl da einfach nur ein Mikrocontroller drin ist.
Christian M. schrieb: > Soweit ich das in dem Datenblatt zu dem Controller verstanden habe, > brauche ich nur diese 3 Pins ? Ja, so sollte es sein. Ist natürlich die Frage, ob die Firmware überhaupt auslesbar ist, es ist durchaus wahrscheinlich, dass man den Ausleseschutz aktiviert hat. > Wäre dann dieser Debugger den ich zum versuchsweise Auslesen verwenden > könnte ? Kan sein, muss nicht sein. Keine Erfahrung hier mit so einem Billigteil. Das preiswerteste offizielle Atmel-Board zum Programmieren und Debuggen wäre dieses hier: http://shop.myavr.de/Systemboards%20und%20Programmer/Atmel%20ICE%20Programmerboard%20%28ATATMEL%20ICE%20PCBA%29.htm?sp=article.sp.php&artID=200142 Mit OpenOCD wiederum wirst du so ziemlich alles zum Laufen bekommen, was einen ARM per SWD programmieren kann, aber es könnte auf ein wenig (Software-/Konfigurations-)Gebastel hinauslaufen. > Und eine externe Spannungsversorgung ist bei diesem Vorgang dann nicht > von Nöten. Diesen Satz verstehe ich nicht; ich würde mich an deiner Stelle nie auf irgendwelche Spannungsversorgung aus einem Debugger heraus verlassen, sondern immer die originale des Geräts benutzen. Du weißt sonst nicht, was auf dem Board alles noch passiert. Es gibt Spannungsregler, die es einem übel nehmen, wann man sie „von hinten“ befeuert. > Jetzt brauche ich nur noch eine Bestätigung meiner Theorie und die > Hardware Seite wäre schonmal erledigt ;-) Naja, wie geschrieben, das größte Risiko ist es, dass der Chip lesegeschützt sein dürfte (nennt sich "Security Bit" im Datenblatt).
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.
