2015-12-25 3 views
2

У меня есть новая панель обнаружения STM32 L1, и кажется, что она сломана. Но я не совсем уверен.Не удается запустить панель обнаружения STM32 L1

При подключении платы через USB к компьютеру Linux плата начинает отлично, а демо работает так же, как описано продавцом.

Но я не могу подключиться к этой плате.

➜ lsusb -s 002:074 
Bus 002 Device 074: ID 0483:3748 STMicroelectronics ST-LINK/V2 

Совет, как представляется, связано, большая перемычка (CN3) для переключения между ST-LINK и ОТКРЫТИЯ установлен в DISCOVERY. Но когда я пытаюсь использовать утилиту st-link , я получаю.

➜ stlink git:(master) ./st-flash --reset erase 
libusb_handle_events() timeout 
[!] send_recv 
libusb_submit_transfer(-6) 
[!] send_recv 
libusb_submit_transfer(-6) 
[!] send_recv 
libusb_submit_transfer(-6) 
[!] send_recv 
libusb_submit_transfer(-6) 
[!] send_recv 
2015-12-25T19:24:57 INFO src/stlink-common.c: Loading device parameters.... 
libusb_submit_transfer(-6) 
[!] send_recv 
libusb_submit_transfer(-6) 
[!] send_recv 
libusb_submit_transfer(-6) 
[!] send_recv 
2015-12-25T19:24:57 WARN src/stlink-common.c: unknown chip id! 0 
fish: Job 1, './st-flash --reset erase' terminated by signal SIGSEGV (Address boundary error) 

Также OpenOCD не может разговаривать с доской.

openocd -f board/stm32ldiscovery.cfg 
Open On-Chip Debugger 0.9.0 (2015-12-25-18:43) 
Licensed under GNU GPL v2 
For bug reports, read 
    http://openocd.org/doc/doxygen/bugs.html 
adapter speed: 300 kHz 
adapter_nsrst_delay: 100 
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD 
none separate 
srst_only separate srst_nogate srst_open_drain connect_deassert_srst 
Info : Unable to match requested speed 300 kHz, using 240 kHz 
Info : Unable to match requested speed 300 kHz, using 240 kHz 
Info : clock speed 240 kHz 
Error: reset device failed 
in procedure 'init' 
in procedure 'ocd_bouncer' 

Чип на борту - STM32L152RCT6. Раньше я работал с STM32F0..4, и у меня никогда не было таких проблем, но раньше я не работал с L-серией, поэтому я не уверен, что это проблема с доской, или я пропускаю что-то важное здесь.

EDIT: Используя OpenOCD, я обнаружил, что не ожидается поведение. На первом запуске я получаю сообщение об ошибке:

Error: init mode failed (unable to connect to the target) 

На втором прогоне:

Error: reset device failed 

Затем пропадает устройство из системы, dmesg оставляет сообщения:

[ 1336.080239] usb 2-1.1: reset full-speed USB device number 4 using ehci-pci 
[ 1336.154250] usb 2-1.1: device descriptor read/64, error -32 
[ 1336.329341] usb 2-1.1: device descriptor read/64, error -32 
[ 1336.503334] usb 2-1.1: reset full-speed USB device number 4 using ehci-pci 
[ 1336.566330] usb 2-1.1: device descriptor read/64, error -32 
[ 1336.741385] usb 2-1.1: device descriptor read/64, error -32 
[ 1336.915427] usb 2-1.1: reset full-speed USB device number 4 using ehci-pci 
[ 1337.317517] usb 2-1.1: device not accepting address 4, error -32 
[ 1337.390532] usb 2-1.1: reset full-speed USB device number 4 using ehci-pci 
[ 1337.792623] usb 2-1.1: device not accepting address 4, error -32 
[ 1337.793110] usb 2-1.1: USB disconnect, device number 4 
[ 1337.855642] usb 2-1.1: new full-speed USB device number 5 using ehci-pci 
[ 1337.918651] usb 2-1.1: device descriptor read/64, error -32 
[ 1338.093691] usb 2-1.1: device descriptor read/64, error -32 
[ 1338.267730] usb 2-1.1: new full-speed USB device number 6 using ehci-pci 
[ 1338.330727] usb 2-1.1: device descriptor read/64, error -32 
[ 1338.505783] usb 2-1.1: device descriptor read/64, error -32 
[ 1338.679823] usb 2-1.1: new full-speed USB device number 7 using ehci-pci 
[ 1339.081921] usb 2-1.1: device not accepting address 7, error -32 
[ 1339.154935] usb 2-1.1: new full-speed USB device number 8 using ehci-pci 
[ 1339.557024] usb 2-1.1: device not accepting address 8, error -32 
[ 1339.557168] usb 2-1-port1: unable to enumerate USB device 

Я думаю, что может быть проблема с скоростью адаптера, но пока я не уверен.

EDIT2: Я пробовал использовать Windows ST Link Utility, и я не могу подключиться к плате, что вызывает «Ошибка обнаружения» или «Ошибка соединения», программное обеспечение предлагает изменить частоту или режим SWD. Я устал буквально с каждой комбинацией, но никто не работает.

EDIT3: Если это помогает кому-то, доска была отправлена ​​обратно, у меня есть информация, что она действительно сломана, и у меня есть новый. Новый работает безупречно, как и ожидалось.

+0

Возможно, вы сломали устройство программирования ST-Link – vlk

+0

попробуйте отключить перемычки, которые соединяют часть stlink с тестируемым mcu, посмотрите, позволяет ли это вам хотя бы подключиться к stlink. –

+0

К сожалению, я пробовал это раньше, никаких изменений в ответе на программное обеспечение, тот же вывод. – mucka

ответ

1

Иногда я работаю с той же панелью обнаружения L1 на GNU/Linux. Оба texane/stlink и OpenOCD обнаруживают его безупречно без каких-либо изменений. Вы можете видеть выходы:

$ st-util 
2016-01-08T21:55:59 INFO src/stlink-common.c: Loading device parameters.... 
2016-01-08T21:55:59 INFO src/stlink-common.c: Device connected is: L1 Med-density device, id 0x10186416 
2016-01-08T21:55:59 INFO src/stlink-common.c: SRAM size: 0x4000 bytes (16 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 256 bytes 
2016-01-08T21:55:59 INFO gdbserver/gdb-server.c: Chip ID is 00000416, Core ID is 2ba01477. 
2016-01-08T21:55:59 INFO gdbserver/gdb-server.c: Target voltage is 2917 mV. 
2016-01-08T21:55:59 INFO gdbserver/gdb-server.c: Listening at *:4242... 
$ openocd -f board/stm32ldiscovery.cfg 
GNU ARM Eclipse 64-bits Open On-Chip Debugger 0.10.0-dev-00141-g09aeb96-dirty (2015-10-28-11:56) 
Licensed under GNU GPL v2 
For bug reports, read 
http://openocd.org/doc/doxygen/bugs.html 
adapter speed: 300 kHz 
adapter_nsrst_delay: 100 
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD 
none separate 
srst_only separate srst_nogate srst_open_drain connect_deassert_srst 
Info : Unable to match requested speed 300 kHz, using 240 kHz 
Info : Unable to match requested speed 300 kHz, using 240 kHz 
Info : clock speed 240 kHz 
Info : STLINK v2 JTAG v25 API v2 SWIM v0 VID 0x0483 PID 0x3748 
Info : using stlink api v2 
Info : Target voltage: 2.913980 
Info : stm32l1.cpu: hardware has 6 breakpoints, 4 watchpoints 

Возможно, ваша доска действительно сломана, но перед ее рециркуляцией я предлагаю вам два разных испытания. (а) Я думаю, что после вашего вопроса у вас есть еще одна ST (как вы упомянули, STM32F0..4), возможно, с адаптером ST-LINK. Вы можете использовать его как внешний ST-LINK (см., Например, this). (b) Попробуйте обновить встроенную прошивку ST-LINK с помощью STSW-LINK005, которая также работает в среде GNU/Linux. Плата хорошо подходит для меня как до, так и после апгрейда.

+0

Спасибо, за ваш ответ и предоставленный вывод. Я не был уверен, прежде чем OpenOCD должен работать из коробки или нет. Я даже выделил ARM jtag (основанный на FT2232 oocdlink), и MPU на борту, похоже, работает, поэтому, к сожалению, бортовая st-link сломана как-то. Интересно, могу ли я найти неисправность без осциллографа. Что касается обновления прошивки, я пробовал это раньше, обновление программного обеспечения показывает, что upgradeade идет безупречно, но устройство не меняет поведения. – mucka