Eclipse CDT, ARM, OpenOCD - spustenie STM32F0-Discovery

Čaute, vedeli by ste mi prosim poradit, ako sprovoznit debuging pre STM32f0 Discovery? stiahol som si eclipse+ctd+arm toolchain+predkompilované openCD, ls scripty na konfiguraciu linkera, a tiež som odkazal openocd na konfiguraky priamo k danemu kitu v adresaroch openocd. Avšak ani za svet mi nechce fungovať debuger. Už som to rozchodil do štádia, že sa zapne… ale keď kliknem 2x step into, okamžite to zletí, a ide spustit až po resete eclipse a odpojeni + pripojeni programatora z usb. vypis je takyto:

Open On-Chip Debugger 0.6.0-rc2 (2012-08-29-09:22)
Licensed under GNU GPL v2
For bug reports, read
openocd.sourceforge.net/doc/doxygen/bugs.html
debug_level: 0
adapter speed: 500 kHz
srst_only separate srst_nogate srst_open_drain
libusbx: warning [windows_get_device_list] ‘\.\USB#VID_046D&PID_C05A#5&8CE8280&0&4’ was only detected in late pass (newly connected device?) - ignoring
undefined debug reason 6 - target needs reset
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0xc1000000 pc: 0xfffffffe msp: 0xfffffffc
background polling: on
TAP: stm32f0x.cpu (enabled)
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0xc1000000 pc: 0xfffffffe msp: 0xfffffffc
requesting target halt and executing a soft reset
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000003a msp: 0xfffffffc
Error: address + size wrapped(0xffffffff, 0x00000004)
Error: can’t add breakpoint: resource not available

do init. commands GDB hardvare debugeru som zaradil:
monitor reset
monitor sleep 500
monitor soft_reset_halt

a do run commands som dal
reset run

mam hladat chybu na strane openOCD, alebo v nastaveniach debugera? ako by sa to dalo najjednoduchsie diagnostikovat?

Vopred ďakujem za odpovede.

:arrow_right: administrator: přejmenováno z "ako v eclipse roychodit STM32f0-Discovery?"

S tímto ARMem mám zkušenosti v Atollicu a v Keilu. Nicméně já osobně bych hledal chybu na straně zprostředkování spojení. Co se týče nastavení pro debugg v prostředí je jednoduché: musí být vybráno SWD ne J-TAG a ST-link. ještě můžeš vyzkoušet zda se vůbec dostaneš do čipu pomocí STM32 ST-LINK Utility, která je volně ke stažení. Pokud ano tak bych se teprv začal hrabat v komunikačním rozhraní prostředí, jestli třeba není zastaralé.

Do čipu som sa pokúsil dostať pomocou stlink utility najprv s nastavením Jtag, čo sa mi nepodarilo, a neskor s nastavenim SWD. Na sprostredkovanie komunikacie v eclipse pouzivam openOCD, ktorý ale na komunikáciu používa J-Tag. Dá sa openOCD nastavit tak, aby používal SWD? je to podporované, prípadne existuje nejaký iný opensource projekt na sprostredkovanie tejto konfigurácie? Nevies prosim ako to je v Atollicu a Keile s licenciami na používanie?

Atollic je free, teda nějaká ultimate version kterou ty nevyužiješ asi free nebude, plnohodnotná verze se všemi nástroji a bez omezeni je free. Atollic jako prostředí je stylu Eclipse, takže pokud si na to zvyklý doporučuju. Navíc na MCU.cz je fajn seriál právě v Atollicu. Naproti tomu Keil a konkrétně jeho podpora pro ARMy je dělána stylem jako AVRstudio4. Ale free verze má omezení a to maximální velikost kódu:32KB :frowning:, což u velkých projektů naštve, ale normální věci se tam dají udělat. Obě tyto prostředí tolerují oba typy debugg jak J-TAG tak SWD. Co se týče toho tvého, bohužel neznám a nemám zkušenosti. Jestli je někde k dispozici rozšíření je to možné, ale fakt o tom nic nevím.

Ještě jedna věc, Pokud si začátečník tak se ajko čert kříži vyhní tomuto příkazu: GPIO_Remap_SWJ_Disable, tímto si zablokuješ debugg a do čipu se dostaneš jen přes bootloader. Silně nedoporučuju. Je to zdlouhavé a pracné. Jedná se o komunikaci přes RS232 a je nutné si vyrobit měnič protože čip jede na 3.3V

Teraz sa mi v Eclipse podarilo rozchodit SWD pripojenie pomocou STLINK gdbservera umiestneného v inštálacii TrueStudia. Rapidne to znížilo počet produkovaných errorov… len teraz mám dojem, že je program buďto zle nalinkovaný, alebo sa z nejakých dôvodov hneď po spustení prvého kroku dostane program tam kam nemá. Tu sú momentálne zobrazované výpisy:

Výpis SWD:
Atollic TrueSTUDIO gdbserver for ST-Link. Version 1.5.6 Pro
Copyright 2010-2012, Atollic AB.

Starting server with the following options:
Persistant Mode : Enabled
LogFile Name : debug_log.txt
Logging Level : 31
Listen Port Number : 61234
Status Refresh Delay : 15s
Verbose Mode : Disabled
SWD Debug : Enabled
Connected to the ST-Link Debugger.
Programming flash…
STM32 device: flash programming successful 0x8000000

Výpis GDB:
Loading section .text, size 0x24 lma 0x8000000
Start address 0x8000000, load size 36
Transfer rate: 98 bytes/sec, 36 bytes/write.
tbreak main
Temporary breakpoint 3 at 0x8000006: file …/main.c, line 21.

avšak po prvom kroku vidím, že v ASM okienku ukazateľ pozicie vybehne do nedefinovanych adreies… kde ho potom debugger sespenduje. Aké sú pre GDB potrebné Inicialization commands a Run commands? Zatial mam nadefinovany len jeden initialization command : monitor reset halt

jena věc co sem zapoměl Atollic potřebuje net k debuggu. A napadá mě snad jen jestli máš vybraný správný čip. Nebo jestli ta komunikace bude bez prostředí Atollic fungovat. Nicméně runcomanndy pro debugg by si mělo prostředí ohlídat samo a tady je možná kámen úrazu. Jiné prostředí jiná utility pro debugg.

Bartt, vďaka za rady, keby som to nevyskúšal cez SWD, nešlo by mi to doteraz… J-Tag ma totiz nejaky problem s USB driverom. Ako jediná funkčná konfigurácia sa mi podarila spraviť podľa návodu ktorý som našiel ako jediný podrobný a presný na STMf0 discovery. Debug ecample projektu funguje… snad sa ho podari uz aj spravne prerobit:)

Este ten link :smiley: hertaville.com/2012/05/28/gcc-ar … discovery/

Návody na konfiguraci Eclipse a přípravu na vývoj s mikrokontroléry Cortex-M3 najdete na stránkách uCSimply.

mares.vit, diky ono STM32F0 je myslim cortex-m0, no práve sa chystám na nejaké projekty s m3kou…celkom sa to hodí:)