我正在尝试从 Raspberry Pi 3 计算模块 GPIO 闪存基于 cortex m0 的 SoC,但它一直失败并出现相同的错误。
错误:无法初始化调试端口
我正在关注此https://learn.adafruit.com/programming-microcontrollers-using-openocd-on-raspberry-pi?view=all和本教程https://movr0.com/2016/09/02/use -raspberry-pi-23-as-a-jtagswd-adapter/。编译和安装没有问题。
cortex m0 SoC是Nordic Semiconductor nRF51822蓝牙芯片封装在ISP1302模块中。
根据教程,模块 GND 和 3.3V 直接连接到计算模块 dev-kit,SWDCLK 和 SWDIO 连接到 GPIO 25、24。SRST 或 TRST 没有连接。
配置文件如下:
source [find interface/raspberrypi2-native.cfg]
bcm2835gpio_swd_nums 25 24
transport select swd
# target
source [find target/nrf51.cfg]
init
targets
(我bcm2835gpio_srst_num 18
从 raspberrypi2-native.cfg 中删除)
执行与sudo openocd -f config.cfg
树莓派 CM3 正在运行该选项core_freq=250
,/boot/config.txt
我需要此选项才能可靠地访问 UART1。我认为这可能与时钟有关,但不确定如何更改/修复。
我已经尝试了几种reset_config
没有改变错误的组合。完整的初始化堆栈如下:
Open On-Chip Debugger 0.10.0+dev-00111-gca9dcc8 (2017-04-24-15:30)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
BCM2835 GPIO nums: swclk = 25, swdio = 24
cortex_m reset_config sysresetreq
adapter speed: 1000 kHz
Info : BCM2835 GPIO JTAG/SWD bitbang driver
Info : SWD only mode enabled (specify tck, tms, tdi and tdo gpios to add JTAG mode)
Info : clock speed 1001 kHz
Info : SWD DPIDR 0x00150634
Error: Could not initialize the debug port
TargetName Type Endian TapName State
-- ------------------ ---------- ------ ------------------ ------------
0* nrf51.cpu cortex_m little nrf51.cpu unknown
无论我尝试什么,我总是得到这个“错误:无法初始化调试端口”。
有趣的是,使用连接到 PI USB 的 ST-Link/V2 适配器并修改interface
配置,它可以正常工作。
有什么建议么?我究竟做错了什么?需要对 GPIO 进行一些初始化吗?
编辑:
我注意到有人投票以“不清楚在问什么”来结束这个问题。
我在问:如何使用 GPIO 将 Raspberry Pi 连接到 nRF51 SoC?请参阅我尝试过的所有内容。