我正在使用DA14580DEVKT-B,以便使用SDK 5.0.4的BLE开发。我已成功测试了套件上的样本。然后我设计了自己的PCB和焊接TDK Sesub-Pan-D14580。我尝试通过跳线电线连接DEV套件SDIO,SCLK,+ 3.3V,GND和RST引脚到我的PCB。我能够检测智能代码箱工具箱中的设备,并能够使用Booter下载固件。我也能够在Keil 5.22.0.0中进入调试模式,并查看在SRAM中传输的代码。在调试时,我得到了以下消息,无法在iOS上的LightBlue应用程序中检测到它:
*** jlink错误:CPU不会被停止
** jlink警告:CPU无法停止
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
*** jlink错误:CPU运行时无法读取寄存器0(R0)
*** jlink错误:CPU运行时无法读取寄存器1(R1)
*** JLINK错误:CPU运行时无法读取寄存器2(R2)
*** jlink错误:CPU运行时无法读取寄存器3(R3)
*** JLINK错误:CPU运行时无法读取寄存器4(R4)
***JLink错误:CPU运行时无法读取寄存器5(R5)
*** jlink错误:CPU运行时无法读取寄存器6(R6)
*** jlink错误:CPU运行时无法读取寄存器7(R7)
*** JLINK错误:CPU运行时无法读取寄存器8(R8)
*** JLINK错误:CPU运行时无法读取寄存器9(R9)
*** JLINK错误:CPU运行时无法读取寄存器10(R10)
*** jlink错误:CPU运行时无法读取寄存器11(R11)
*** jlink错误:CPU运行时无法读取寄存器12(R12)
*** JLINK错误:CPU正在运行时无法读取寄存器13(R13)
*** JLINK错误:CPU运行时无法读取寄存器14(R14)
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
*** jlink错误:CPU运行时无法读取寄存器17(MSP)
*** jlink错误:CPU运行时无法读取寄存器18(PSP)
*** jlink错误:CPU正在运行时无法读取寄存器20(CFBP)
使用SmartSnippets Toolbox和Booter下载代码时,我收到以下消息:
[信息概述@ 17-05-01 22:28:20]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 17-05-01 22:28:20]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 17-05-01 22:28:20]找到了带ID 0x0BB11477的SWD-DP
[信息概述@ 17-05-01 22:28:20] FpUnit:4代码(BP)插槽和0个文字插槽
[信息概述@ 17-05-01 22:28:20]找到了Cortex-M0 R0P0,Little Endian。
[信息概述@ 17-05-01 22:28:20]选择了BTLE设备。
[信息Booter @ 17-05-01 22:28:20]找到了带ID 0x0BB11477的SWD-DP
[info booter @ 17-05-01 22:28:20] fpUnit:4代码(BP)插槽和0个字幕插槽
[信息Booter @ 17-05-01 22:28:20]找到了Cortex-M0 R0P0,Little Endian。
[info booter @ 17-05-01 22:28:21]成功下载了固件文件到电路板。
我是新的对话DA14580开发。请帮助我识别出现问题并调试我的董事会。
谢谢
嗨suniljha,
您获得的错误消息是因为由于某种原因的JTAG从您的设备中分离,并且Keil无法获得处理器的状态,例如在5.0.4之前的先前SDK中禁用了调试模块当设备睡觉时,JTAG保持了几秒钟(这是580前的预定义时间),然后在关闭调试模块时,Keil会报告此消息。因此,请检查您使用的SDK,并确保是5.0.4而不是先前版本的SDK,请尝试在无睡眠模式下使用该设备,并检查是否发生该事件。关闭580的调试器模块的指令是SetBits16(Sys_ctrl_reg,debugger_enable,0);因此,请检查代码中的任何位置是否调用该指令。
谢谢mt_dialog.
谢谢mt_dialog以获取您的回复。当我尝试使用SmartSnippetTubbox和Booter下载HEX文件时,我收到消息“成功下载了固件文件到电路板”,但我无法检测到iOS上的LightBlue应用程序中的模块。这种行为的任何原因?
嗨suniljha,
你的描述对我来说是很普通的,我可以理解问题是什么,如果你只是不能拿起设备的广告信号,可能是任何东西,从天线,或设备的电源到设备运行的软件,如果您使用的软件不是SDK示例,并且设备无法公布,那么请检查使用其中一个示例,同时我建议使用keil和JTAG来调试,如上所述,请禁用休眠模式,并尝试调试设备,并检查它是否达到该设备启动广告程序的代码部分。另外,通过测量设备的功耗,您将能够了解设备是否处于唤醒状态,用于检查设备功耗的一个非常方便的工具是power profiler(需要一个dialog pro板)或sleeping(睡眠)或设备的一般行为。
谢谢mt_dialog.