Sziasztok!
Látszólag egyszerű problémára keresek több órája megoldást:
OpenOcd-n keresztül kapcsolódom a controllerre
Eclipse / gdb-n keresztül tökéletesen megy a debuggolás / sw letöltés (TCP/IP kapcsolat - 3333-as port)
Putty-on / telnet-en keresztül tudom vezérelni az OpenOcd-t a telnet porton (4444-es port)
Ugyanakkor nem találom a lehetőséget, hogy a putty-ot/telnet-et parancsorból meghívva parancsot küldjek az OpenOcd-nek. Erre azért lenne szükségem, hogy ne írjuk a flash-t gdb indításkor, csak ha tényleg szükség van rá. Pl: "echo program demo.elf | telnet localhost 4444" - az OpenOcd hibát ad, hogy érvénytelen file (de nem a demo.elf-re vonatkozik, mert még a telnet kapcsolódás közben adja, más parancsot sem hajt végre). A "telnet localhost 4444" -es paranccsal terminálból működik a letöltés.
Kicsit ide kapcsolódik: eclipse finomhangolás - nem találtam triviális leírást arról, hogy tudnék új parancs-gombot adni az eclipse-tool-bar-hoz, amihez parancssori parancsot tudnék rendelni.
Előre is köszönöm a segítséget:
Gábor
Hozzászólások
Imigyen (reszlet egy makefile-bol):
Nem tudom pontosan mire gondolsz egeszen pontosan (vo: ne írjuk a flash-t gdb indításkor, csak ha tényleg szükség van rá.), de igy tudsz egyesevel parancssorbol parancsokat kiadni az openocd-nek es ezzel parhuzamosan letezo konfigokat/szrkipteket is be tudsz huzni egyszeruen. Ez itten fentebb egy sima `make upload` target, ami stlink-en keresztul feltolti a fimrware-t (main.hex) bele az MCU-ba.
Ja igen, ami meg szemet szurt az a *.elf. Azt ugy nem tudja megenni az MCU, csinalj belole hex-et elobb:
Bar persze lehet hogy mar tud ilyet is, de elso korben maradnek a *.hex-nel.
Szervusz!
Kösz a fáradozást, de sajnos ez nem jó megoldás 2 okból:
1., ez a triviális megoldás (amit én is használgatok)
2., ennél a megoldásnál sok fölösleges lépést kell tenni, hogy új programot lehessen használni (gdb exit, OpenOcd exit, OpenOcd letölt, OpenOcd indít, gdb indít)
Na ezt a sok lépést szeretném lecserélni egy telnet-es letöltésre. Erre valami ötlet?
Gábor
A'! Neked akkor viszont ez kell: https://linux.die.net/man/1/expect
telnet helyett netcat?
Van gyakorlati tapasztalatod is velük, vagy csak egy javaslat, hogy próbálkozzak vele, ha nagyon unatkozom?
Sajnálom, de nem volt kéznél egy openOCD kompatibilis debuggerem sem (a legtöbb STLinkem átflasheltem JLinkre).
De ha hagyon unatkozol egy echo program demo.elf | nc localhost 4444 parancsot megpróbálhatsz kiadni.