: ubuntu22.04 에 Visual Studio Code 사용해 ESP32-C6 칩 JTAG 쓰기시
다음과 같은 에러가 발생해 디버깅 해 봤습니다.
Visual Studio Code OUTPUT 창 발췌
home/xxx/.espressif/tools/openocd-esp32/v0.12.0-esp32-20230419/openocd-esp32/bin/openocd
Open On-Chip Debugger v0.12.0-esp32-20230419 (2023-04-18-22:02)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
/home/xxx/.espressif/tools/openocd-esp32/v0.12.0-esp32-20230419/openocd-esp32/bin/openocd
[OpenOCD]
Open On-Chip Debugger v0.12.0-esp32-20230419 (2023-04-18-22:02)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
[OpenOCD]
Info : only one transport option; autoselecting 'jtag'
Info : esp_usb_jtag: VID set to 0x303a and PID to 0x1001
Info : esp_usb_jtag: capabilities descriptor set to 0x2000
Warn : Transport "jtag" was already selected
[OpenOCD]
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
[OpenOCD]
❌ Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
[OpenOCD]
❌ Error: esp_usb_jtag: could not find or open device!
/home/xxx/.espressif/tools/openocd-esp32/v0.12.0-esp32-20230419/openocd-esp32/share/openocd/scripts/target/esp_common.cfg:4: Error:
at file "/home/xxx/.espressif/tools/openocd-esp32/v0.12.0-esp32-20230419/openocd-esp32/share/openocd/scripts/target/esp_common.cfg", line 4
[OpenOCD]
[Stopped] : OpenOCD Server
[Flash]
Can't perform JTag flash, because OpenOCD server is not running!
ESP32-C6 보드연결시 생성되는 USB 장치 확인하기
$ lsusb
~~ 중략 ~~
Bus 001 Device 004: ID 303a:1001 Espressif USB JTAG/serial debug unit
: idVendor (303a) , idProduct(1001)
/dev/ttyACM0 속성 확인하기
: ttyACM0 가 생성이 됩니다.
$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Nov 15 17:16 /dev/ttyACM0
dialout 그룹 현재 유저에 추가하기
~$ sudo usermod -aG dialout $USER
xxx@ubuntu22:~$ groups xxx
xxx : xxx adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare
장치 제거후 아래 명령 실행
sudo udevadm control --reload-rules
sudo udevadm trigger
Visual Studio Code 실행후 > ESP-IDF Flash Device 실행
→ ESP-IDF Flash device
→ 또는 ESP-IDF: Flash your project 선택
※ 위에 동일한 에러 발생하네요.
chmod로 퍼미션 변경 테스트 (666) 해 봤습니다.
: lsusb 명령 참조해 004 장치의 퍼미션 변경
ESP-IDF Flash Device 실행
: 에러 발생 안함. other 설정과 관련이 있어보이네요.
위내용 적용한 내용 /etc/udev/rules.d/ 에 추가하기
: /etc/udev/rules.d/99-esp32c6.ruls 파일 작성
/etc/udev/rules.d/99-esp32c6.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="303a", ATTR{idProduct}=="1001", MODE="0666"
▶ USB 케이블 탈부착후 ls 명령으로 퍼미션 확인하기
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
$ lsusb
~~ 중략 ~~
Bus 001 Device 012: ID 303a:1001 Espressif USB JTAG/serial debug unit
xxx@ubuntu22:/etc/udev/rules.d$ ls -l /dev/bus/usb/001/
total 0
crw-rw-r-- 1 root root 189, 0 Nov 15 17:16 001
crw-rw-r-- 1 root root 189, 1 Nov 15 17:16 002
crw-rw-r-- 1 root root 189, 2 Nov 15 17:16 003
crw-rw-r-- 1 root root 189, 4 Nov 15 17:16 005
crw-rw-r-- 1 root root 189, 5 Nov 15 17:16 006
crw-rw-r-- 1 root root 189, 6 Nov 15 17:16 007
crw-rw-r-- 1 root root 189, 7 Nov 15 17:16 008
crw-rw-rw- 1 root root 189, 11 Nov 15 17:53 012 <--- 퍼미션 변경 완료
xxx@ubuntu22:/etc/udev/rules.d$
: udevadm 명령은 없어서도 동작 합니다.
퍼미션 문제로 하루고생했네요. (Windows에서는 그냥 작동했는데...)
오늘도 수고하세요.
반응형
'ESP32' 카테고리의 다른 글
[VSCode][ESP-IDF] menuconfig 에러 (python path 설정) (0) | 2023.12.27 |
---|---|
[ESP-IDF][VSCode][1] esp_timer 프로젝트 분석 (0) | 2023.12.14 |
[ESP-IDF][ble_hid_device_demo][3] 프로젝트 간략 분석 (0) | 2023.12.13 |
[esp-idf] idf.py 사용법 (build,flash,monitor,create-project,....., ) (0) | 2023.11.30 |
[ESP-IDF] [1] 프로그래밍 유의사항 esp_ble_get_bond_device_list() (0) | 2023.11.20 |