新しい STM32 L1 ディスカバリー ボードを持っていますが、壊れているようです。しかし、私は完全にはわかりません。
ボードを USB 経由で Linux マシンに接続すると、ボードは問題なく起動し、デモはベンダーの説明どおりに動作します。
しかし、実際にこのボードに接続することはできません。
➜ lsusb -s 002:074
Bus 002 Device 074: ID 0483:3748 STMicroelectronics ST-LINK/V2
ボードが接続されているようで、ST-LINKとDISCOVERYを切り替える大きなジャンパー(CN3)が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 シリーズで作業したことがなかったので、これがボードの問題なのか、ここで重要なことをスキップしているのかわかりません。
編集: OpenOCD を使用すると、予期しない動作がわかりました。最初の実行時にエラーが発生します:
Error: init mode failed (unable to connect to the target)
2 回目の実行時:
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 リンク ユーティリティを試してみましたが、ボードに接続できず、ボードが「検出エラー」または「接続エラー」を引き起こし、ソフトウェアが SWD 周波数またはモードの変更を提案します。文字通りすべての組み合わせで疲れましたが、どれも機能しません。
EDIT3:これが誰かを助けるなら、ボードは送り返されました、私はそれが実際に壊れているという情報を得て、私は新しいものを手に入れました. 新しいものは期待どおりに完璧に動作します。