Code::Blocks a OpenOCD

Petr Labaj labaj na volny.cz
Pondělí Únor 20 19:18:31 CET 2012


Odpověď v textu:

| Loni jsem zkoušel kdevelop se starším ARM7TDMI (Atmel) a chovalo se to
| podobně. Samotné gdb cli se chovalo docela rozumně. Možná by bylo dobré
| vyzkoušet, jestli toto dělá i insight (GUI pro gdb). Tenkrát jsem to
| blíž nezkoumal, prostě jsem se naučil těch pár příkazů pro gdb-cli.
| Popravdě gdb moc nemusím, lepší je udělat si ladící výpisy. Jenže to už
| projekt musí trochu žít, že.

Ano, to je i ma dosavadni cesta (ladici vypisy a pripadne gdb jako CLI).
Casto pouzivam i cely toolchain z CLI.
Ale tajne jsem doufal, ze by mi nejaka klikaci nadstavba zprijemnila zivot.

| Co vlastně chcete ovládat ? OpenOCD je server, v podstatě jen ovládá
| JTAG nebo SWD, a ten běží trvale na pozadí. S tím by nemělo smysl nějak
| hýbat - tedy pokud v něm není nějaká kritická chyba. Na tento server se
| připojí gdb a komunikuje s ním nějakými příkazy. A teprve nad tím gdb
| běží C::B. Zastavit program v uP kliknutím v GUI  by neměl být problém i
| když to vypadá složitě. Přitom není třeba zastavovat gdb ani openocd.
| Jen ten povel musí správně prolézt skrz všechny ty vrstvy až do uP.
| Mrazík

Ano, teoreticky to tak je, ze by OpenOCD melo bezelo stale a bylo ovladano
prikazy. Jenze praxe je takova, ze kdyz pres OpenOCD spustim program
bez breakpointu (tedy prikaz continue), tak pres gdb jiz neni mozne
s OpenOCD dale komunikovat, protoze pro gdb se to chova tak, ze
stale probiha zpracovani predchoziho prikazu (toho continue), coz je
vlastne pravda. Problem je, ze nevim, jak mu vnutit nejaky signal, aby
si me zacal vsimat a brejknul ten bezici program.
To se da udelat pres druhe spojeni telnetem, ale tohle podle me neumi
treba ten C::B pouzivat.
Takze idelani reseni by bylo naucit C::B aktivne pouzivat telnetovy kanal,
pripadne jako nouzove reseni nejak nasilne ukoncit OpenOCD a znovu ho
nastartovat, pritom on provede reset MCU.
Jinak tohle pisu o Windows, mam pocit, ze na Linuxu to pri spolupraci
gdb+gdbserver (tedy stejny princip komunikace, OpenOCD se tvari
jako gdbserver) to slo.

Petr


Další informace o konferenci Hw-list