I am using DA14580DEVKT-B for my BLE development with SDK 5.0.4. I have tested samples on the kit successfully. Then I have designed my own PCB and soldered TDK SESUB-PAN-D14580 on it. I tried connecting Dev Kit SDIO, SCLK, +3.3V, GND, and RST pins through jumper wires to my PCB. I am able to detect device in Smart Snippets Toolbox and able to download firmware using Booter. I am also able to enter into Debug mode in Keil 5.22.0.0 and see code transmiited in SRAM. While Debugging, I got following messages and unable to detect it in LightBlue App on iOS:
***JLink Error: CPU is not halted
**JLink Warning: CPU could not be halted
***JLink Error: Can not read register 15 (R15) while CPU is running
***JLink Error: Can not read register 16 (XPSR) while CPU is running
***JLink Error: Can not read register 0 (R0) while CPU is running
***JLink Error: Can not read register 1 (R1) while CPU is running
***JLink Error: Can not read register 2 (R2) while CPU is running
***JLink Error: Can not read register 3 (R3) while CPU is running
***JLink Error: Can not read register 4 (R4) while CPU is running
***JLink错误:CPU运行时无法读取寄存器5(R5)
***JLink Error: Can not read register 6 (R6) while CPU is running
***JLink Error: Can not read register 7 (R7) while CPU is running
***JLink Error: Can not read register 8 (R8) while CPU is running
***JLink Error: Can not read register 9 (R9) while CPU is running
***JLink Error: Can not read register 10 (R10) while CPU is running
***JLink Error: Can not read register 11 (R11) while CPU is running
***JLink Error: Can not read register 12 (R12) while CPU is running
***JLink Error: Can not read register 13 (R13) while CPU is running
***JLink Error: Can not read register 14 (R14) while CPU is running
***JLink Error: Can not read register 15 (R15) while CPU is running
***JLink Error: Can not read register 16 (XPSR) while CPU is running
***JLink Error: Can not read register 17 (MSP) while CPU is running
***JLink Error: Can not read register 18 (PSP) while CPU is running
***JLink Error: Can not read register 20 (CFBP) while CPU is running
While downloading code using SmartSnippets ToolBox and Booter, i got following message:
[INFO General @17-05-01 22:28:20] Could not measure total IR len. TDO is constant high.
[INFO General @17-05-01 22:28:20] Could not measure total IR len. TDO is constant high.
[INFO General @17-05-01 22:28:20] Found SWD-DP with ID 0x0BB11477
[INFO General @17-05-01 22:28:20] FPUnit: 4 code (BP) slots and 0 literal slots
[INFO General @17-05-01 22:28:20] Found Cortex-M0 r0p0, Little endian.
[INFO General @17-05-01 22:28:20] BTLE device selected.
(信息橄榄球员@17-05-01 22:28:20] Found SWD-DP with ID 0x0BB11477
(信息橄榄球员@17-05-01 22:28:20] FPUnit: 4 code (BP) slots and 0 literal slots
(信息橄榄球员@17-05-01 22:28:20] Found Cortex-M0 r0p0, Little endian.
(信息橄榄球员@17-05-01 22:28:21] Successfully downloaded firmware file to the board.
I am new to Dialog DA14580 development. Kindly help me in identifying what is going wrong and debugging my board.
Thanks
Hi suniljha,
The error message that you get is because the jtag for some reason is detached from your device and keil isn't able to get the state of the processor, for example in previous SDK's before the 5.0.4 the debugging module of the ARM was disabled when the device went to sleep, so the JTAG stayed attached for a couple of seconds (which was the predefined time before the 580 go to sleep) and then when the debugging module was turned off, keil would report this message. So please check the SDK that you are using and make sure that is the 5.0.4 and not a previous version of the SDK, try using the device in no sleep mode and check if that incident occurs. The instruction that shuts down the debugger module of the 580 is SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0); so check if that instruction is invoked anywhere in your code.
Thanks MT_dialog
MT_dialog感谢你response. When I have tried downloading hex file using SmartSnippets ToolBox and Booter, I got message "Successfully downloaded firmware file to the board" but i am unable to detect module in LightBlue App on iOS. Any reason for this behaviour?
Hi suniljha,
你的描述对我来说是很普通的,我可以理解问题是什么,如果你只是不能拿起设备的广告信号,可能是任何东西,从天线,或设备的电源到设备运行的软件,如果您使用的软件不是SDK示例,并且设备无法公布,那么请检查使用其中一个示例,同时我建议使用keil和JTAG来调试,如上所述,请禁用休眠模式,并尝试调试设备,并检查它是否达到该设备启动广告程序的代码部分。另外,通过测量设备的功耗,您将能够了解设备是否处于唤醒状态,用于检查设备功耗的一个非常方便的工具是power profiler(需要一个dialog pro板)或sleeping(睡眠)或设备的一般行为。
Thanks MT_dialog