Hallo Leute. Ich habe das Problem, dass ich auf ein DPS 5005 die open DPS firmware drauf kriegen will. Das DPS ist das hier: https://www.voelkner.de/products/1184997/Joy-it-JT-DPS5005-Labornetzgeraet-einstellbar-0-50V-0-5A-250W-Schraubklemmen-fernsteuerbar-programmierbar-schmale-Bauform.html?ref=43&utm_source=google&utm_medium=organic&utm_campaign=fpla&gclid=EAIaIQobChMIjtLkxLmt9gIVXOnmCh1apgD_EAQYASABEgIJQvD_BwE Und das ist die Firmware die da drauf soll: https://github.com/kanflo/opendps Hier die Anleitung dazu: https://johan.kanflo.com/upgrading-your-dps5005/ Ich komme immer bis zum Abschnitt "Time to flash (flash the app first, then the boot loader):" Wenn ich die Befehle davon dann in das Terminal eingebe sagt Linux nur $ telnet localhost 4444 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Open On-Chip Debugger > make -C opendps flash invalid command name "make" > make -C dpsboot flash invalid command name "make" Ab da komme ich nicht mehr weiter. Ich hab schon alles probiert, was mir eingefallen ist, und bei den vorherigen Schritten wird auch eine ELF Datei erstellt, aber ich kriege es nicht fertig, das alles auf das Gerät zu krigen, wohl weil diese make sache nicht funktioniert. Ich habe vorher nur immer Windows genutzt, und bei den IDEs ist es halt schon einfacher, die bestehen nicht aus so viel einzelsoftware. Das verwendete Notebook hat Linuxmint drauf, GCC Compiler ist (Hoffentlich der richtige) (Hoffentlich korrekt) installiert. Ich hoffe hier kann mir einer helfen. Gruß
Moin, Nicht dass ich mich da mit dieser Kiste auskennen wuerd', aber ich taet' mal vermuten, dass die beiden make Kommandos nicht aus dem telnet prompt raus ausgefuehrt werden sollten, sondern eben ohne vorheriges telnet - aus einer normalen shell raus. Gruss WK
Es gibt auch für Windows Software zum flashen von ST. Lass dir auch Hex und bin erzeugen. Du kannst auch einen rpi als SWD flasher nutzen.
> Ich hoffe hier kann mir einer helfen.
Lerne erstmal allgemein die Grundlagen deines Systems und entwickel
ein allgemeines Verstaendnis bevor du dich als Hacker aufschwingst.
Du willst gerade einen Marathon durch eine Wueste laufen, bist
aber auf dem Level einer Oma die darauf wartet das ihr einer
ueber die Strasse hilft.
Olaf
Dergute W. schrieb: > Nicht dass ich mich da mit dieser Kiste auskennen wuerd', aber ich taet' > mal vermuten, dass die beiden make Kommandos nicht aus dem telnet prompt > raus ausgefuehrt werden sollten, sondern eben ohne vorheriges telnet - > aus einer normalen shell raus. Genau, die Anleitung ist da tatsächlich an der Stelle etwas unklar. Das "Make -C opendps" muss in einer normalen Shell erfolgen, damit wir das Target "opendps" innerhalb des Verzeichnisses opendps aufgerufen. Im Makefile dort geht's über mehrere "includes" letztlich dann zu einem Aufruf von "openenocd" (oder "gdb"), das dann mittels "nc" (netcat) "gefüttert" wird (statt mit telnet). Davon sieht man aber normalerweise gar nichts.
Habe mal versucht, die beiden make commands in einer normalen Shell auszuführen, dann sagt open OCD diesen Fehler: > halt; program /home/david/opendps/opendps/opendps_DPS5005.srec verify reset target halted due to debug-request, current mode: Handler HardFault xPSR: 0x01000003 pc: 0xfffffffe msp: 0xffffffdc target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc ** Programming Started ** auto erase enabled device id = 0x10016420 flash size = 64kbytes timeout waiting for algorithm, a target reset is recommended flash write failed at address 0x8001400 error writing to flash at address 0x08000000 at offset 0x00001400 embedded:startup.tcl:487: Error: ** Programming Failed ** in procedure 'program' in procedure 'program_error' called at file "embedded:startup.tcl", line 543 at file "embedded:startup.tcl", line 487 > Ich bin mir der Tatsache, dass ich darin nicht bewandert bin durchaus bewusst, aber es kann doch nicht so schwer sein, eine Open Source Firmware auf ein mehr oder weniger primitives digitales Netzteil zu kriegen, und vorher mit mehr oder weniger Fehlern zu kompillieren? Ich will ja mit dem Linux nicht gleich die EZB hacken... Gruß
LinuxNOOB schrieb: > device id = 0x10016420 0x420, STM32F100, die haben 1kByte Sektoren ... > timeout waiting for algorithm, a target reset is recommended > flash write failed at address 0x8001400 Und das ist gerade eine Sektor-Grenze. Vielleicht hat die aktuelle Version von dem DPS5005 eines der WRPT-Bits gesetzt, oder Watchdog wird automatisch gestartet (via Option-Byte). Andere Möglichkeit wäre noch, dass das vielleicht gar kein echter STM32F100 ist, denn die echten werden im Moment gehandelt, als wären sie aus purem Gold. Ich fürchte, da hilft nur, sich erst einmal gründlich mit OpenOCD zu beschäftigen dann und die Option-Bytes und WRPT-Bits zu inspizieren. Lesestoff dazu ist "PM0063 Programming manual STM32F100xx value line Flash programming". Vielleicht hilft auch, das ganze noch mal von vorn zu machen, eventuell ist beim Löschen am Anfang etwas schief gelaufen. Glaube ich zwar nicht so recht, aber einen Versuch ist's wert. > Ich bin mir der Tatsache, dass ich darin nicht bewandert bin durchaus > bewusst, aber es kann doch nicht so schwer sein, eine Open Source > Firmware auf ein mehr oder weniger primitives digitales Netzteil zu > kriegen, und vorher mit mehr oder weniger Fehlern zu kompillieren? Ich Das Kompilieren ging doch problemlos?! Hier geht's um das Flashen, und da der Hersteller zumindest schon mal den RDP-Schutz aktviert hat, muss man sich beim "Einbrechen" schon auf die eine oder andere Komplikation einstellen. Tja, und die "Bequemlichkeit", das Flashen im Makefile zu verstecken, ist nett, solange alles wie am Schnürchen läuft. Denn man muss sich ja nicht mit den einzelnen Tools auseinandersetzen. Aber wehe, irgendetwas klappt nicht oder hat sich geändert oder ...
Ich werd mir das mal alles noch näher ansehen, am Anfang wollte ich nur open DPS auf meinem DPS5005 haben. Jetzt wird da wohl ein Crashkurs in C, Compilern, Linuxmint, und OpenOCD draus... Kann man denn nicht die ConfigBits des STM32 irgendwie alle auf Werkszustand setzen? Vielleicht mit dem STVP (Stlink Visual programmer)? Den hätte ich auf Windows. Immerhin haben sie nicht (Weiß nicht ob der STM32F100x es überhaupt hat) RDP Level 2 gesetzt, wobei man da leise sein muss, man will sie ja nicht noch auf dumme Gedanken bringen... Ich glaube (Hoffe) dass der STM echt ist, die Beschriftung auf dem Chip sieht schon mal nicht nach Ching Chong great Wall blabla aus, aber das muss ja leider nichts heißen... Dass die aktuell gehandelt werden wie Gold erlebe ich gerade als (Nicht ganz so Mikroelektronik)Bastler privat, und mein Arbeitgeber im industriell hochskalierten Stil ebenfalls so richtig schön live in HD und in bester true color Farbe... Gruß
Habs hingekriegt, die Open DPS läuft auf dem DPS. Jetzt muss ich nurnoch den Umgang mit C, Linux, Open OCD, und dem Compiler lernen, dann bin ich fast schon Profi... Müsste ja so in fünf bis zehn Jahren machbar sein..,.
Woran lag es denn genau? Es wäre ganz nett, dem Urheber von https://johan.kanflo.com/upgrading-your-dps5005/ das mitzuteilen, vielleicht hilft's ja noch jemanden ...
Ich denke eher nicht. Ich hatte zwei DPS5005 einer ließ sich nicht flashen, der andere mit ein bisschen Gerüttel auf Anhieb. Ich denke daher dass warum auch immer der µC auf dem anderen hin ist, auch weil ich ihn mehrmals versucht habe zu entsperren über Open OCD (Lockbit auf 0) und er auch nach mehrmaligem aus und wieder einschalten bzw. "reset halt" immernoch gesperrt war. Aber was Kanflo echt mal einbauen könnte (Schreibe ich ihm noch) wäre der Support für das DPH5005, das kann nämlich im Gegensatz zum DPS5005 auch StepUp, also ausgangsspannung höher als Eingansspannung.
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.