1,首先先格式化sd卡为fat32格式
通过:cat /proc/partitions可以查看自己的SD卡是哪个盘符
sudo mkfs.vfat -F 32 /dev/sde
需要说明的一点是,在这个过程中有可能SD卡被分成了好几个分区,这个时候最终会导致jlink去链接树莓派的时候链接不上,此时我们需要把SD卡多余的盘符通过fdisk /dev/sdx去删除,最终只保留一个盘符,然后再格式化SD卡,把对应的版本以及配置文件拷贝到SD卡中。
2, 在通过openocd -c "interface jlink"的时候报了下面的错误
xPack OpenOCD, 64-bit Open On-Chip Debugger 0.10.0+dev (2019-07-17-11:25)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Warn : Failed to open device: LIBUSB_ERROR_ACCESS.
Error: No J-Link device found.
(1), 可以通过下面的命令把/dev/bus/usb的权限调整为777,但是这样有个问题就是下次再去执行的时候有可能还是会遇到同样的问题,还得再次执行该命令。
sudo chmod -R 777 /dev/bus/usb/
(2), 网上查到的永久解决该问题的方法
1)使用lsusb命令找出 USB 设备的 vendorID 和 productID
2)创建一个新的udev规则
sudo vim /etc/udev/rules.d/90-myusb.rules
#在文件中添加下面的话
#用你自己的"idVendor"和"idProduct"来替换默认值。MODE="0666"表示USB设备的权限。
SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="users", MODE="0666"
GROUP代表用户组,要确保此时登录的系统用户在该用户组中;
可用 “usermod -a -G username groupname” 将用户添加到用户组中
3)重启电脑或重新加载 udev 规则
sudo udevadm control --reload
(3), 在执行的时候,直接在前面加sudo也可以实现。
sudo openocd/0.10.0-13/bin/openocd -f jlink.cfg
2, JTAG scan chain interrogation failed: all ones的错误
rlk@rlk:~/rlk/armv8_trainning/tools/jlink$ sudo openocd/0.10.0-13/bin/openocd -f jlink.cfg -f raspi4.cfg
[sudo] password for rlk:
xPack OpenOCD, 64-bit Open On-Chip Debugger 0.10.0+dev (2019-07-17-11:25)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : J-Link V11 compiled Sep 21 2020 17:00:29
Info : Hardware version: 11.00
Info : VTarget = 0.000 V
Info : clock speed 1000 kHz
Error: JTAG scan chain interrogation failed: all ones
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: auto0.tap: IR capture error; saw 0x0f not 0x01
Warn : Bypassing JTAG setup events due to errors
Error: Invalid ACK (7) in DAP response
Error: JTAG-DP STICKY ERROR
Error: Invalid ACK (7) in DAP response
Error: JTAG-DP STICKY ERROR
解决该问题需要从下面几个方面考虑一下:
1), 首先需要查看一下jlink的线是否接对了。这个很重要。jlink能正常工作的前提就是要把线接对。
2), 然后就是查看在config.txt里面有没有把对应的gpio口配置为jtag口的配置。然后使能jtag的功能。