Často kladené otázky (Frequently Asked Questions)

Otázka
Linux - Error: „in procedure 'transport' in procedure 'init' “

Odpoveď
Chybová hláška pri volaní OpenOCD z cmd pre STM32 s použitím STLink-v1:
  1. openocd -s /usr/local/share/openocd -f scripts/board/stm32vldiscovery.cfg

Výstup:
  1. Open On-Chip Debugger 0.7.0 (2014-06-10-13:07)
  2. Licensed under GNU GPL v2
  3. For bug reports, read http ://openocd.sourceforge.net/doc/doxygen/bugs.html
  4. Info : This adapter doesn't support configurable speed
  5. in procedure 'transport'
  6. in procedure 'init'


Detailný popis chyby dostaneme pridaním debug výpisov t.j. Pridaním parametra „-d3“
Problémom býva, že táto doska sa hlási ako mass-storage USB device, takže OpenOCD sa nedokáže pripojiť k VID:PID pretože gnome automaticky namountuje mass-storage disk.

Nutné je odstaviť toto zariadenie ako mass-storage:
  1. cd /sys/bus/usb/drivers/usb-storage
  2. ls


Výstup:
  1. 1-1:1.0  1-5.4.2:1.0  bind  module  remove_id  uevent  unbind


V mojom prípade mám pripojený okrem discovery kitu aj externý disk (1-1:1.0), takže odpojím disk 1-5.4.2:1.0:
  1. echo -n 1-5.4.2:1.0 | tee -a unbind


Teraz mám odpojený mass-storage driver od stm32vl discovery kitu, takže sa OpenOCD môže pripojiť.

Pokiaľ máš novšiu verziu kernelu, môžeš použiť trvalé riešenie tohto problému:
ako root vytvor súbor usb-storage.conf v adresári /etc/modprobe.d, pričom do súboru zapíš:
  1. options usb-storage quirks=483:3744:i


Výsledok je po zasunutí do USB vidno v message.log ako „device ignored“


Detaily
zaslané 12.06.2014-15:30 od EdizonTN




mikroZONE