调试失败在“无法读取寄存器”错误的情况下失败

8帖子 / 0新
最后一篇文章
六级
离线
最后一次露面:4年1周前
加入:2017-03-01 13:04
调试失败在“无法读取寄存器”错误的情况下失败

我刚刚将DA14681基本套件从开箱即用了,当我尝试调试示例时:

da1468x_sdk_btle_v_1.0.8.1050.1 \ projects \ dk_apps \ demos \ demos \ ble_adv

我得到“无法阅读登记...”错误

我发现了一些有关此错误的引用,这些错误建议在User_config.h中禁用睡眠模式,但是,我在任何地方都找不到此文件。
谢谢您的帮助!
安德烈亚斯

Segger J-Link GDB服务器v5.12E命令行版本

jlinkarm.dll v5.12e(DLL编译为2016年4月29日15:03:58)

警告:未知命令行参数Singlerun发现。
----- GDB服务器启动设置---------
gdbinit文件:无
GDB服务器侦听端口:2331
SWO原始输出听力端口:2332
终端I/O端口:2333
接受远程连接:仅本地主机
生成日志文件:ON
验证下载:ON
初始化开始:ON
静音模式:关闭
单跑模式:关闭
目标连接超时:0 ms
------ J-Link相关设置-------
J-Link主机接口:USB
J-Link脚本:无
J-Link设置文件:无
------与目标相关设置-------
目标设备:Cortex-M0
目标接口:SWD
目标接口速度:自动
目标末日:很少

连接到J-Link ...
J-Link已连接。
固件:J-Link OB-SAM3U128 V1 2016年3月29日18:48:55
硬件:v1.00
S/N:480058829
检查目标电压...
目标电压:3.30 V
在TCP/IP端口2331上聆听
连接到目标...连接到目标
等待GDB连接...连接到127.0.0.1
阅读所有寄存器
读取4个字节 @地址0x00000000(data = 0x07Fe0428)
目标接口速度设置为30 kHz
通过Sysresetreq和VectReset位重置核心和外围设备。
停止目标CPU ...
...目标停止(PC = 0x07f000d4)
r0 = ffffffff,r1 = ffffffff,r2 = ffffffff,r3 = fffffffff
r4 = ffffffff,r5 = ffffffff,r6 = ffffffff,r7 = fffffffff
r8 = ffffffff,r9 = ffffffff,r10 = ffffffff,r11 = fffffffff
r12 = ffffffff,r13 = 07fe0428,msp = 07fe0428,psp = ffffffffc
r14(lr)= ffffffff,r15(pc)= 07f000d4
XPSR C1000000,APSR C0000000,EPSR 01000000,IPSR 00000000
CFBP 00000000,控制00,FARDMASK 00,BASEPRI 00,PRIMASK 00
阅读所有寄存器
读取4个字节 @地址0x07f000d4(data = 0x47804804)
选择自动目标接口速度(2000 kHz)
闪存断点禁用
写作0x00000001 @地址0x400C3050
睡眠1000ms
通过Sysresetreq和VectReset位重置核心和外围设备。
读取4个字节 @地址0x07f000d4(data = 0x47804804)
警告:无法读取内存 @地址0xffffffff
警告:无法读取内存 @地址0xffffffff
读取2个字节 @地址0x0800b6a8(data = 0xffff)
读取2个字节 @地址0x0800b6a4(data = 0xffff)
通过Sysresetreq和VectReset位重置核心和外围设备。
停止目标CPU ...
...目标停止(PC = 0x07f000d4)
读取2个字节 @地址0x0800b6a8(data = 0xffff)
读取2个字节 @地址0x0800b6a8(data = 0xffff)
读取2个字节 @地址0x0800b6a4(data = 0xffff)
r0 = ffffffff,r1 = ffffffff,r2 = ffffffff,r3 = fffffffff
r4 = ffffffff,r5 = ffffffff,r6 = ffffffff,r7 = fffffffff
r8 = ffffffff,r9 = ffffffff,r10 = ffffffff,r11 = fffffffff
r12 = ffffffff,r13 = 07fe0428,msp = 07fe0428,psp = ffffffffc
r14(lr)= ffffffff,r15(pc)= 07f000d4
XPSR C1000000,APSR C0000000,EPSR 01000000,IPSR 00000000
CFBP 00000000,控制00,FARDMASK 00,BASEPRI 00,PRIMASK 00
阅读所有寄存器
读取4个字节 @地址0x07f000d4(data = 0x47804804)
设置断点 @地址0x0800b6a4,size = 2,bphandle = 0x0001
启动目标CPU ...
错误:CPU运行时无法读取寄存器15(R15)
阅读所有寄存器
错误:CPU运行时无法读取寄存器0(R0)
错误:CPU运行时无法读取寄存器1(R1)
错误:CPU运行时无法读取寄存器2(R2)
错误:CPU运行时无法读取寄存器3(R3)
错误:CPU运行时无法读取寄存器4(R4)
错误:CPU运行时无法读取寄存器5(R5)
错误:CPU运行时无法读取寄存器6(R6)
错误:CPU运行时无法读取寄存器7(R7)
错误:CPU运行时无法读取寄存器8(R8)
错误:CPU运行时无法读取寄存器9(R9)
错误:CPU运行时无法读取寄存器10(R10)
错误:CPU运行时无法读取寄存器11(R11)
错误:CPU运行时无法读取寄存器12(R12)
错误:CPU运行时无法读取寄存器13(R13)
错误:CPU运行时无法读取寄存器14(R14)
错误:CPU运行时无法读取寄存器15(R15)
错误:CPU运行时无法读取寄存器16(XPSR)
错误:CPU运行时无法读取寄存器17(MSP)
错误:CPU运行时无法读取寄存器18(PSP)
错误:CPU运行时无法读取寄存器24(Primask)
错误:CPU运行时无法读取寄存器25(basepri)
错误:CPU运行时无法读取寄存器26(FARSMASK)
错误:CPU运行时无法读取寄存器27(控制)
警告:无法读取内存 @地址0x00000000
删除断点 @地址0x0800b6a4,size = 2
警告:无法读取内存 @地址0x00000000

设备:
mt_dialog
离线
最后一次露面:1个月4天前
职员
加入:2015-06-08 11:34
嗨,六级,十一,

嗨,六级,十一,

您要调试哪个示例?是RAM还是QSPI项目?如果是一个QSPI项目,您是否使用要调试的程序烧毁了QSPI?您是否遵循UM-B-047-DA1468X入门v3.0.pdf文档中的说明?

谢谢mt_dialog

六级
离线
最后一次露面:4年1周前
加入:2017-03-01 13:04
你好

你好

我正在尝试加载BLE_ADV项目。
我只是安装了SSS,并将项目加载到IDE中。我仅获得选项构建选项调试 /运行QSPI DA16481 / 0。我选择构建正常的“调试”。然后,我运行调试选项“ Debug Smart Bond”,该选项会产生我在原始帖子中复制的终端输出。现在您说我必须“燃烧QSIP”记忆?我是否需要为此使用外部CLI_Programmer工具?

我已经阅读了您所附的文档,但是这个步骤没有真正描述。...是否有DA14681上所有可用文档的集合?据我所知,文档似乎非常稀疏。

最好的问候,谢谢您的帮助
安德烈亚斯

mt_dialog
离线
最后一次露面:1个月4天前
职员
加入:2015-06-08 11:34
嗨,六级,十一,

嗨,六级,十一,

由于您要运行的项目是一个QSPI项目(这意味着将通过QSPI运行),您必须在运行项目或调试之前刻录QSPI(当项目是RAM项目时不适用)。因此,为了燃烧QSPI,您必须构建项目(使用构建按钮 - 选择小锤图标旁边的箭头以构建适当的活动构建)。构建项目后,选择您刚刚构建的项目的顶级文件夹,然后在运行按钮旁边选择下拉箭头,以便所有可用的选项出现,然后选择“ program_qspi_jtag_win脚本”以运行(该program_qspi_jtag_win脚本将用您的FW燃烧QSPI)。现在,您可以调试项目,您可以附加(这意味着调试器将附加在运行目标上),也可以可以重置您编程的QSPI并将在主函数中停止PC。下载过程在第8.3段项目软件设置中提到的文档中描述。

谢谢mt_dialog

六级
离线
最后一次露面:4年1周前
加入:2017-03-01 13:04
你好

你好
我可以构建该项目,但我没有得到这些运行选项。如所说的“无适用”
问候
安德烈亚斯

mt_dialog
离线
最后一次露面:1个月4天前
职员
加入:2015-06-08 11:34
嗨,六级,十一,

嗨,六级,十一,

您是否从SDK导入脚本文件夹,以便在运行中可见脚本?

谢谢mt_dialog

鲁斯兰
离线
最后一次露面:2年4个月前
加入:2016-11-08 05:27
你好。

你好。

我不能使用调试,因为它失败了。我在ble_adv项目中使用断点。
也许在ble_adv中使用睡眠模式?

我所做的:

  • 构建Release_qspi
  • 选择文件夹da14681-01-release_qspi
  • 使用脚本program_qspi_jtag_win
  • 运行>调试配置> smartbond“ smartsnippets da1468x sdk”通过J-link GDB服务器> QSPI并推调试
  • 简历(F8)开始
  • 等待
  • 调试失败和按钮恢复再次活跃

在控制台:

警告:未知命令行参数Singlerun发现。
----- GDB服务器启动设置---------
gdbinit文件:无
GDB服务器侦听端口:2331
SWO原始输出听力端口:2332
终端I/O端口:2333
接受远程连接:仅本地主机
生成日志文件:ON
验证下载:ON
初始化开始:ON
静音模式:关闭
单跑模式:关闭
目标连接超时:0 ms
------ J-Link相关设置-------
J-Link主机接口:USB
J-Link脚本:无
J-Link设置文件:无
------与目标相关设置-------
目标设备:Cortex-M0
目标接口:SWD
目标接口速度:8000KHz
目标末日:很少


连接到J-Link ...
J-Link已连接。
固件:J-Link V10编译2016年9月1日18:29:58
硬件:v10.10
S/N:50102443
功能:GDB
检查目标电压...
目标电压:3.26 V
在TCP/IP端口2331上聆听
连接到目标...连接到目标
等待GDB连接...连接到127.0.0.1
阅读所有寄存器
读取4个字节 @地址0x00000000(data = 0x07fd0000)
目标接口速度设置为30 kHz
通过Sysresetreq和VectReset位重置核心和外围设备。
停止目标CPU ...
...目标停止(PC = 0x08000134)
r0 = ffffffff,r1 = ffffffff,r2 = ffffffff,r3 = fffffffff
r4 = ffffffff,r5 = ffffffff,r6 = ffffffff,r7 = fffffffff
r8 = ffffffff,r9 = ffffffff,r10 = ffffffff,r11 = fffffffff
r12 = ffffffff,r13 = 07fd0000,msp = 07fd0000,psp = ffffffffc
R14(LR)= FFFFFFFF,R15(PC)= 08000134
XPSR C1000000,APSR C0000000,EPSR 01000000,IPSR 00000000
CFBP 00000000,控制00,FARDMASK 00,BASEPRI 00,PRIMASK 00
阅读所有寄存器
读取4个字节 @地址0x08000134(data = 0xcc0f4c2c)
目标接口速度设置为7827 kHz
闪存断点禁用
通过Sysresetreq和VectReset位重置核心和外围设备。
睡眠10毫秒
停止目标CPU ...
...目标停止(PC = 0x08000134)
写作0xDeadBeef @地址0x07fd0000
写作0xDeadBeef @地址0x07fd0004
写作0xDeadBeef @地址0x07fd0008
写入0xDead10cc @地址0x07fd000c
写作0x00000001 @地址0x400C3050
睡眠1000ms
通过Sysresetreq和VectReset位重置核心和外围设备。
睡眠10毫秒
停止目标CPU ...
...目标停止(PC = 0x0800015a)
读取4个字节 @地址0x08000134(data = 0xcc0f4c2c)
读取2个字节 @地址0x0800b6a4(data = 0xf7f7)
读取2个字节 @地址0x0800b6a0(data = 0xB500)
通过Sysresetreq和VectReset位重置核心和外围设备。
停止目标CPU ...
...目标停止(PC = 0x08000134)
执行的setrttsearchranges 0x07fc0000 0x20000
读取2个字节 @地址0x0800b6a4(data = 0xf7f7)
读取2个字节 @地址0x0800b6a4(data = 0xf7f7)
读取2个字节 @地址0x0800b6a0(data = 0xB500)
r0 = ffffffff,r1 = ffffffff,r2 = ffffffff,r3 = fffffffff
r4 = ffffffff,r5 = ffffffff,r6 = ffffffff,r7 = fffffffff
r8 = ffffffff,r9 = ffffffff,r10 = ffffffff,r11 = fffffffff
r12 = ffffffff,r13 = 07fd0000,msp = 07fd0000,psp = ffffffffc
R14(LR)= FFFFFFFF,R15(PC)= 08000134
XPSR C1000000,APSR C0000000,EPSR 01000000,IPSR 00000000
CFBP 00000000,控制00,FARDMASK 00,BASEPRI 00,PRIMASK 00
阅读所有寄存器
读取4个字节 @地址0x08000134(data = 0xcc0f4c2c)
设置断点 @地址0x0800b6a0,size = 2,bphandle = 0x0001
启动目标CPU ...
...突破点到达 @地址0x0800b6a0
阅读所有寄存器
读取4个字节 @地址0x0800b6a0(data = 0xB085b500)
删除断点 @地址0x0800b6a0,size = 2
启动目标CPU ...
错误:CPU运行时无法读取寄存器15(R15)
阅读所有寄存器
错误:CPU运行时无法读取寄存器0(R0)
错误:CPU运行时无法读取寄存器1(R1)
错误:CPU运行时无法读取寄存器2(R2)
错误:CPU运行时无法读取寄存器3(R3)
错误:CPU运行时无法读取寄存器4(R4)
错误:CPU运行时无法读取寄存器5(R5)
错误:CPU运行时无法读取寄存器6(R6)
错误:CPU运行时无法读取寄存器7(R7)
错误:CPU运行时无法读取寄存器8(R8)
错误:CPU运行时无法读取寄存器9(R9)
错误:CPU运行时无法读取寄存器10(R10)
错误:CPU运行时无法读取寄存器11(R11)
错误:CPU运行时无法读取寄存器12(R12)
错误:CPU运行时无法读取寄存器13(R13)
错误:CPU运行时无法读取寄存器14(R14)
错误:CPU运行时无法读取寄存器15(R15)
错误:CPU运行时无法读取寄存器16(XPSR)
错误:CPU运行时无法读取寄存器17(MSP)
错误:CPU运行时无法读取寄存器18(PSP)
错误:CPU运行时无法读取寄存器24(Primask)
错误:CPU运行时无法读取寄存器25(basepri)
错误:CPU运行时无法读取寄存器26(FARSMASK)
错误:CPU运行时无法读取寄存器27(控制)
警告:无法读取内存 @地址0x00000000
警告:无法读取内存 @地址0x00000000

mt_dialog
离线
最后一次露面:1个月4天前
职员
加入:2015-06-08 11:34
嗨,鲁斯兰,

嗨,鲁斯兰,

当设备入睡时,您应该能够附加调试器,因此睡眠不应该是问题,尽管Eclipse的错误表示我会说这表明68X上的调试器模块已关闭。也许您已经改变了Eclipse的FW,而不是从QSPI运行的FW?在使用新固件编程之前,请尝试删除Flash,然后在运行调试之前按重置设备以确保设备下载了FW(检查设备是通过BLE应用程序广告还是通过BLE应用程序进行广告,还是通过Moitor通过该活动进行活动。电力剖面)。另外,尝试在调试模式下构建项目,并检查是否有效(尽管调试也应在发行版中起作用)。

谢谢mt_dialog