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 Error: Can not read register 5 (R5) while CPU is running
***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]发现SWD-DPID 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,
Your description is quite generic for me to understand what the problem could be, if you just cannot pick up the advertising signal of device that could be anything, from the antenna, or the power supply of the device to the sw that the device runs, if you are using a sw other than the SDK examples and the device isn't able to advertise then please check using one of the examples, also i would recommend to use keil and the JTAG in order to debug this, as i ve mentioned above please disable the sleeping mode and try to debug the device and check if it reaches to the part of the code that device starts the advertising procudure. Also by measuring the power consuption of the device you will be able to understand if the device is awake, a tool that its quite convinient for checking the power consumption of the device is the power profiler (that requires a dialog pro board) or sleeping or in general the behaviour of the device.
Thanks MT_dialog