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