Arduino zero Error: не удается найти устройство CMSIS-DAP

Я загружаю тестовый скетч(Blink) в новый Zero(с Wifi101 shield), и когда я нажимаю Загрузить в IDE, консоль говорит следующее:

Arduino: 1.6.10 (Linux), плата: "Arduino/Genuino Zero (порт программирования)"

Open On-Chip Debugger 0.9.0-gd4b7679 (2014-10-03-00:26)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
debug_level: 0
adapter speed: 500 kHz
adapter_nsrst_delay: 100
cortex_m reset_config sysresetreq
Error: unable to find CMSIS-DAP device
Error: No Valid JTAG Interface Configured.
Error: No Valid JTAG Interface Configured.

Я использую нулевой программный порт.

, 👍4

Обсуждение

Если вы не имеете в виду, что это работает нормально и ломается только при наличии щита, снимите щит на данный момент и уберите его из своего титула. Затем отредактируйте вывод lsusb в свой вопрос. Также ищите сообщения в dmesg после повторного подключения платы и подумайте о том, чтобы попробовать другой кабель. Также могут быть проблемы с разрешениями, но тогда я ожидаю другого сообщения об ошибке., @Chris Stratton

Я просто попробовал это без щита wifi101 и получил ту же ошибку., @Derek Weissinger

А lsusb показывает что??? А dmesg ???, @Chris Stratton

Эксперименты с другим CMSIS-DAP показывают, что это, вероятно, проблема с разрешением - openocd не проводит различия между отсутствием программиста CMISIS-DAP и отсутствием разрешения на доступ к тому, который присутствует. Обычным решением является создание или установка соответствующего правила * udev *, а затем перезапуск udev или системы и повторное подключение устройства. Это, по-видимому, не очень хорошо документировано, поэтому можно сказать, что плата в настоящее время не является хорошо поддерживаемым продуктом., @Chris Stratton


1 ответ


Лучший ответ:

3

У меня была точно такая же ошибка с той же платой. Запуск IDE от имени root решил эту проблему. Итак, Крис был прав, указывая на проблему с разрешением.

Более подробную информацию я нашел здесь : http://bitofahack.com/post/1437909576

Затем я добавил файл /etc/udev/rules.d/98-openocd.rules :

ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"                                                                                                                                                                                
LABEL="openocd_rules_end"

Затем я убедился, что являюсь членом группы plugdev.

udev ищет изменения в своем каталоге правил, поэтому вам не нужно перезапускать его.

Я снова подключил плату, и она заработала.

Обратите внимание, что вы можете заставить udev снова прочитать файлы правил, введя :

sudo udevadm control --reload

Мне пришлось это сделать, потому что я сначала допустил ошибку в файле правил.

Надеюсь, это поможет.

,

98-opencd.rules >>> 98-openocd.rules, @Takao Shimizu

отсутствует закрывающая двойная кавычка ? LABEL="openocd_rules_end >>> LABEL="openocd_rules_end", @robotoaster

Да, Исправлено. Очень старое послание..., @Snark Turne