IRMP auf STM32 - ein USB IR Empfänger/Sender/Einschalter mit Wakeup-Timer
-
-
Das Dokument ST-Link v2 Reverse.pdf kannte ich schon und ich habe da auch schon die Info gefunden:
aber mir ist schleierhaft, wie ich das auf meine Stick wieder finden soll . Des Weiteren irritiert mich die Aussage in der Anleitung IRMP auf STM32 - Bauanleitung.
ZitatVerbinden und resetten wie unter Linux
bzw.
ZitatIn manchen Fällen ist es nötig, zu Beginn des Flashens den ST-Link zu resetten. Dazu muss die Stelle im Bild auf Masse gezogen werden und kurz nach Absetzen des Flash Befehls wieder los gelassen werden.
Ok, ich würde jetzt hingehen und eine Litze nehmen und die entsprechenden Kontakte verbinden. Du schreibst:
ZitatDer wird normalerweise über einen 100k Widerstand an 3V3 gezogen und über einen Kondensator mit Masse verbunden.
Also muss ich eine Litze mit Kondensator haben? Welchen? Sorry für die Anfängerfragen aber STM32 ist für mich Neuland und ich habe mal angefangen die STM32 Einsteiger Seite auf mikrocontroller.net durchzuarbeiten.
Gruß
Obelix
-
aber mir ist schleierhaft, wie ich das auf meine Stick wieder finden soll
Genau darum geht es . Durchklingeln mit Leitungsprüfer.
Es geht nicht um zusätzliche Bauteile, sondern darum, die vorhandenen zu identifizieren, weil man gut ein Massekabel daran halten kann. Direkt an Pin7 ist kaum zu schaffen.
-
Du hast jetzt die Stiftleiste mit etwas Litze fest an einem Stick angelötet, richtig?
Kannst du da mal Fotos von beiden Seiten (Programmer und Ziel-Stick) anhängen auf denen man gut sehen kann was du wie angeschlossen hast?
Beim Unlocken habe ich noch nie Reset gebraucht. Ich hatte beim letzten Stick die Original-Firmware sogar mehrere Sekunden laufen bis ich letztlich den "Unlock"-Befehl geschickt habe. Mit dem "Unlock" ist die Firmware dann sofort tot (weil gelöscht) und der folgende Flash-Vorgang sollte dann erst recht ohne Reset gehen.
-
Genau darum geht es . Durchklingeln mit Leitungsprüfer.
Es geht nicht um zusätzliche Bauteile, sondern darum, die vorhandenen zu identifizieren, weil man gut ein Massekabel daran halten kann. Direkt an Pin7 ist kaum zu schaffen.
Ahh, ok . Ich mach mein Multimeter mal wild.
Du hast jetzt die Stiftleiste mit etwas Litze fest an einem Stick angelötet, richtig?
Kannst du da mal Fotos von beiden Seiten (Programmer und Ziel-Stick) anhängen auf denen man gut sehen kann was du wie angeschlossen hast?
Beim Unlocken habe ich noch nie Reset gebraucht. Ich hatte beim letzten Stick die Original-Firmware sogar mehrere Sekunden laufen bis ich letztlich den "Unlock"-Befehl geschickt habe. Mit dem "Unlock" ist die Firmware dann sofort tot (weil gelöscht) und der folgende Flash-Vorgang sollte dann erst recht ohne Reset gehen.
Da war ich kurz davor. Der Lötkolben war schon heiß, da hat jrie die Klemmen gepostet und die habe ich bestellt.
-
Beim Unlocken habe ich noch nie Reset gebraucht.
Interessant. Wenn ich mal wieder einen habe, der Reset braucht, werde ich openocd testen.
Das wäre dann ja auch für obelix einfacher.
-
Interessant. Wenn ich mal wieder einen habe, der Reset braucht, werde ich openocd testen.
Das wäre dann ja auch für obelix einfacher.
Betrifft halt nur neue Sticks. Aber bei denen hatte ich in der Tat noch nie Reset gebraucht. Habe aber auch noch nicht so viele umgebaut wie du.
-
Kurzer Nachtrag: Ich hatte bereits openocd 0.10.0 laufen. Wurde wohl eine ganze Zeit lang von den Arch-Entwicklern über das Repository aktualisiert und ist erst seit kurzem im AUR. Mein Befehl aus der Anleitung im Wiki sollte also genau so funktionieren. Ich habe damit vor etwas über eine Woche erst einen Stick mit einer LED entsperrt. Da es unter Windows aber ja auch nicht geht, bleiben nur zwei Optionen. Falscher oder unzuverlässiger Anschluss der Leitungen oder es wird tatsächlich ein Reset gebraucht.
Resets habe ich aber in der Vergangenheit vor allem gebraucht, wie noch die Programmier-Pins von der Firmware "umkonfiguriert" worden sind (USB-Disconnect auf den Programmier-Pins). Außerdem hatte ich mehrfach komplette Hänger der Firmware wie ich die GCC-Probleme eingegrenzt habe. Wenn die Firmware hängt, dann geht auch ST-Link nicht. Das alles dürfte ja bei der Original-Firmware garnicht der Fall sein. Das erklärt auch warum ich die Original-Firmware eine ganze Weile lang "leer laufen" lassen konnte und dennoch der "Unlock" via openocd sofort gegriffen hat.
-
Hi. Ich werde erst wieder weitermachen, wenn ich die Klemmen habe. Ich hätte zwar schon Lust darauf auf es brennt nicht und husch, husch bringt nichts. Ich werde es dann mit openocd 0.10.x unter Linux testen.
Allerdings eine Frage zum ST-Link Utility unter Windows: Wenn man dort -> Target -> Option Bytes, die Read Out Protection auf Disabled stellt, muss dann noch irgendwas an- oder abgehakt oder irgendwelche Werte geändert werden? Ich hatte da alles auf Standard gelassen.
-
-
Keine Ahnung. Ich kenne das Tool nicht.
Mit den Klemmen, die ich dahabe, könnte ich übrigens tatsächlich an den Stick ankoppeln.
https://www.reichelt.de/?ARTICLE=106203
Im Bild übrigens meine Variante vom "Stick mit 2 LEDs". Das es auch noch ein anderes Layout gibt, war mir bisher nicht bekannt.
-
neue Sticks. Aber bei denen hatte ich in der Tat noch nie Reset gebraucht.
Bei Neuen habe ich auch noch nie Reset gebraucht, nur bei "Verbastelten".
Die Reichelt/Hirschmann-Klemmen sehen deutlich solider aus als die billigen China-Teile.
Aber man muss wohl wegen der Metallhülsen aufpassen, keinen Kurzschluss zu machen.
-
Das ist kein Problem. Das Kunststoff verhindert, dass sich die Metallhülsen berühren.
ST hat auch nochmal geantwortet. Möglicherweise eine "Standardantwort". Ich wurde nach Firmennamen und Firmenstandort gefragt. Ich habe nochmal versucht klarzumachen, dass es sich um ein nicht kommerzielles Open-Source-Projekt geht. Bin mal gespannt wohin das noch führt oder eben nicht führt.
-
Bei mir dauert es noch. Ich habe wohl einen Griff ins Klo gemacht. Habe meine Klemmen beim Shop Display3000 geordert. Kennt den Shop jemand? Wurde hinsichtlich der Klemmen bei mikrocontroller.net positiv erwähnt. Ich bekomme keine Antwort und ans Telefon geht nur der AB
EDIT: Der Grund für die Verzögerung der Lieferung war die Erkrankung des Shop Besitzers und der damit verbundenen Aufenthalt im Krankenhaus. Er konnte somit die Bestellungen nicht bearbeiten. Also der Shop ist OK und kann ihn empfehlen. Die Qualität der Miniatur Prüfklemmen ist echt klasse.
-
Nimmst du Litze und lötest das schnell
-
Nimmst du Litze und lötest das schnell
Ja könnte ich machen aber jetzt habe ich sie bestellt und möchte damit arbeiten. Verzögerung hat sich geklärt.
-
Sooo, mit richtigen Werkzeug sieht das gleich ganz anders aus . Das Warten auf die Klemmen hat sich gelohnt.
1. openocd:
Code
Alles anzeigen./bin/openocd -f scripts/interface/stlink-v2.cfg -f scripts/target/stm32f1x.cfg -c "init" -c "halt" -c "stm32f1x unlock 0" -c "shutdown" GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00254-g2ec04e4e (2017-11-10-11:27) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD adapter speed: 1000 kHz adapter_nsrst_delay: 100 none separate Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : clock speed 950 kHz Info : STLINK v2 JTAG v29 API v2 SWIM v7 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.250033 Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints Info : Listening on port 3333 for gdb connections target halted due to debug-request, current mode: Handler HardFault xPSR: 0x21000003 pc: 0x080001ac msp: 0x20004f94 Info : device id = 0x20036410 Warn : STM32 flash size failed, probe inaccurate - assuming 128k flash Info : flash size = 128kbytes Info : Device Security Bit Set target halted due to breakpoint, current mode: Handler HardFault xPSR: 0x61000003 pc: 0x2000003a msp: 0x20004f94 stm32x unlocked. INFO: a reset or power cycle is required for the new settings to take effect. shutdown command invoked
2. st-flash:
Code
Alles anzeigenst-flash --reset write boot.Red.bin 0x8000000 st-flash 1.4.0 2018-01-25T19:10:04 INFO usb.c: -- exit_dfu_mode 2018-01-25T19:10:04 INFO common.c: Loading device parameters.... 2018-01-25T19:10:04 INFO common.c: Device connected is: F1 Medium-density device, id 0x20036410 2018-01-25T19:10:04 INFO common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes 2018-01-25T19:10:04 INFO common.c: Attempting to write 6844 (0x1abc) bytes to stm32 address: 134217728 (0x8000000) Flash page at addr: 0x08001800 erased 2018-01-25T19:10:05 INFO common.c: Finished erasing 7 pages of 1024 (0x400) bytes 2018-01-25T19:10:05 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id 2018-01-25T19:10:05 INFO flash_loader.c: Successfully loaded flash loader in sram 7/7 pages written 2018-01-25T19:10:05 INFO common.c: Starting verification of write complete 2018-01-25T19:10:05 INFO common.c: Flash written and verified! jolly good!
3. dfu-util:
Code
Alles anzeigendfu-util -d 1eaf:0003 -a 1 -D 2018-01-05_14-37_Red_BL_SC_jrie.bin dfu-util 0.8 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2014 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 1eaf:0003 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #1 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 1024 Copying data from PC to DFU device Download [=========================] 100% 16756 bytes Download done. state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present Done!
Fertig:
Code
Alles anzeigen[ 4215.552999] usb 3-13.4: Product: STM32 IRMP HID-Device [ 4215.553002] usb 3-13.4: Manufacturer: STMicroelectronics [ 4215.553004] usb 3-13.4: SerialNumber: 6D7545685254 [ 4215.554695] hid-generic 0003:1209:4444.0003: hiddev0,hidraw2: USB HID v1.10 Device [STMicroelectronics STM32 IRMP HID-Device] on usb-0000:00:14.0-13.4/input0 [ 4302.012701] usb 3-13.4: USB disconnect, device number 12 [ 4744.650590] usb 3-13.4: new full-speed USB device number 13 using xhci_hcd [ 4744.751661] usb 3-13.4: New USB device found, idVendor=1eaf, idProduct=0003 [ 4744.751664] usb 3-13.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 4744.751665] usb 3-13.4: Product: Maple 003 [ 4744.751666] usb 3-13.4: Manufacturer: LeafLabs [ 4744.751667] usb 3-13.4: SerialNumber: LLM 003 [ 4745.917153] usb 3-13.4: USB disconnect, device number 13 [ 4746.142619] usb 3-13.4: new full-speed USB device number 14 using xhci_hcd [ 4746.244138] usb 3-13.4: New USB device found, idVendor=1209, idProduct=4444 [ 4746.244143] usb 3-13.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 4746.244146] usb 3-13.4: Product: STM32 IRMP HID-Device [ 4746.244149] usb 3-13.4: Manufacturer: STMicroelectronics [ 4746.244151] usb 3-13.4: SerialNumber: 6D7545685254 [ 4746.247428] hid-generic 0003:1209:4444.0004: hiddev0,hidraw2: USB HID v1.10 Device [STMicroelectronics STM32 IRMP HID-Device] on usb-0000:00:14.0-13.4/input0
Tasten anlernen mit stm32IRconfig_gui funktioniert auch
-
Das Ganze mal auf die Schnelle mit easyVDR per VIrtual Box getestet. Angelernt, map Dateien erstellt, usw.... Funktioniert mit einer Fernbedienung die mit dem Atric IR-WakeupUSB eco v1.2 nicht sauber funktionieren wollte, absolut tadellos. Ich werde nun einen VDR damit ausstatten.
Nochmal Danke für die Unterstützung.
Gruß
Obelix
-
Hi,
irgendwie seltsam. Ich habe eine Taste für WakeUp angelernt aber der Rechner geht mit jeder Taste an und nach ein paar Sekunden wieder aus. Also so, als läge ständig ein Signal am SWCLK PIN.
Gruß
Obelix
-
Du kannst ja mal mit einem Multimeter messen, was da mit bzw. ohne Tastendruck an liegt.
Probiere zum Vergleich die September Firmware, die neue Firmware habe ich nur auf Stick und F105 getestet.
Ich baue die Firmwares alle auf einen Rutsch per Skript, du könntest sie auch selbst bauen, und gucken, ob das was bringt.
Hat das selbe Problem nicht schon mal jemand hier beschrieben? Du könntest dich (von hinten nach vorne) durch diesen Thread lesen.
Was macht die LED?
Wenn du neu flasht, lösche vorher alles, dann verschwindet auch eine möglicherweise fehlerhafte Konfiguration aus dem virtuellem Eeprom.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!