Code::Blocks + OpenOCD + STM32F4_discovery na Windows
Petr Labaj
labaj na volny.cz
Úterý Únor 28 17:15:42 CET 2012
Pred par dny jsem se tady poptaval, jestli s tim nemate nekdo zkusenosti.
Protoze jsem moc neuspel, tak jsem s tim nejakou dobu laboroval a tady
jsou me poznatky, kdyby to nekoho zajimalo:
- OpenOCD 0.6.0-dev-00423-gd8b9127-dirty (2012-02-17-22:20) funguje
s deskou STM32F4_discovery dobre. Potrebuje sice libusb, ale to se
naprosto bez problemu na WinXP snasi s drivery od STM, takze nevznika
zadny DLL-hell a je mozne bez problemu stridat OpenOCD 0.6.0 a nastroje
od STM.
- OpenOCD vytazene z Atollic TrueStudio chodi taky, ale ma problem s GDB 7.3.1
z distribuce Yagartoo. Takze moje doporuceni je urcite pouzivat verzi 0.6.0.
- V CLI rezimu (tedy mimo CodeBlocks) bezproblemove spolupracuje OpenOCD 0.6.0
s GDB od Sourcery (GDB 7.2.50) i od Yagarto (GDB 7.3.1).
- OpenOCD z TrueStudio funguje v CLI rezimu pouze s GDB ze Sourcery.
- Pro pouzitelne ladeni pres CodeBlocks je treba pouzit SVN (tj. Nightly build)
verzi 7790, ktera ma prepracovanou obsluhu debugovani.
- Spoluprace C::B 7790 s GDB ze Sourcery je spatna.
- Spoluprace C::B 7790 s GDB z Yagarto neni idealni, ale je s jistymi omezenimi pouzitelna.
Dobre je, ze je to prvni kombinace, kde funguje moznost preruseni nebo ukonceni ladeni.
Vsechny predchozi verze neumely brejknout rozbehnuty proces a bylo treba zrestartovat
OpenOCD. Co ale nefunguje je nastaveni breakpointu kliknutim pres C::B, ale je treba je
nastavit rucne napr. v prikazovem radku dole pod GDB oknem. Problem je v tom, ze C::B
se snazi poslat do GDB identifikaci breakpointu s absolutni adresou souboru, kde ma byt
breakpoint nastaveny (napr. C:\Projekty\ARM\Pokus\src\pokus.c:10), ale GDB to potrebuje
v relativnim formatu (napr. src\pokus.c:10). Zatim se mi nepovedlo najit, kde by se dalo
nakonfigurovat to, aby se jmeno souboru posilalo jen relativne (kdyby nekdo vedel, bylo by
to super). Dalsi drobny problem je, ze zobrazeni obsahu promenne najetim mysi nekdy spatne
ukazuje obsah, u nekterych promenych zobrazi mene radu cisla, takze napr. misto 1234567
ukaze jen 123456 nebo 12345 (ale jen u nekterych, nezkoumal jsem zatim na zavislost kdy
ano a kdy ne).
Takze shrnuto: idelani to neni, ale CodeBlocks SVN 7790 + aktualni toolchain od Yagarto
z 19.11.2011 + OpenOCD 0.6.0-dev-00423-gd8b9127-dirty (2012-02-17-22:20)
+ STM4F_discovery je na WinXP s drobnym omezenim pouzitelna kombinace.
Petr Labaj
Další informace o konferenci Hw-list