DA14531 JLinkExe not running program on custom board

Hello,

I'm using the DA14531 USB DK to program an external board. I've set the switches (only 10,11,12 are on) and removed the two resistors on the USB PCB, then I've routed the SWDIO/SWCLK/VCC/GND pins to the appropriate PCI-e tabs of the DA14531 WLCSP daughterboard (DA14531-00OGDB-P) with the switch in Buck configuration.

I'm on a Mac so I'm just running JLink commands directly to program and debug. Now I'm trying to run some code in RAM on the daughterboard via JLinkExe. I start JLinkExe with 

JLinkExe -device DA14531 -if SWD -speed 400 -autoconnect 1

SEGGER J-Link Commander V8.42 (Compiled Jun 11 2025 12:22:24)
DLL version V8.42, compiled Jun 11 2025 12:21:32

Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-SAM3U128 V1 compiled Apr 1 2025 10:12:56
Hardware version: V1.00
J-Link uptime (since boot): 0d 00h 06m 01s
S/N: 480045468
USB speed mode: High speed (480 MBit/s)
VTref=3.300V
Device "DA14531" selected.


Connecting to target via SWD
Found SW-DP with ID 0x0BC11477
DPIDR: 0x0BC11477
CoreSight SoC-400 or earlier
Scanning AP map to find all available APs
AP[1]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x04770031, ADDR: 0x00000000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410CC601. Implementer code: 0x41 (ARM)
Found Cortex-M0 r0p1, Little endian.
FPUnit: 4 code (BP) slots and 0 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
[0][0]: E000E000 CID B105E00D PID 000BB008 SCS
[0][1]: E0001000 CID B105E00D PID 000BB00A DWT
[0][2]: E0002000 CID B105E00D PID 000BB00B FPB
Memory zones:
Zone: "Default" Description: Default access mode
Cortex-M0 identified.

Then I write my .elf file which is just the template_peripheral but modified so it prints and toggles an LED on connection. I also write g after it loads

J-Link>loadfile DA14531_531.elf

'loadfile': Performing implicit reset & halt of MCU.
Reset type: NORMAL (wiki.segger.com/J-Link_Reset_Strategies)
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Downloading file [DA14531_531.elf]...
O.K.
J-Link>g
Memory map 'after startup completion point' is active

After this, I expect the device to show up in nRF connect, however I do not see anything. For reference, when I run these same steps run on the unedited USB-DK board, it results in the same CLI messages but the DIALOG-TMPL shows up on my bluetooth explorer. 

Is this the right way to be running code in RAM via CLI? Am I doing something wrong? 

Parents
  • Hi There,

    Thank you for posting your question online.

    I'm on a Mac

    Our Development Tools are mostly available on Windows and Linux.
    By Command Line Interface on the BLE Family, we refer on the following:
    8. CLI implementation — UM-B-083
    All of our BLE devices support those commands for programming.
    Have you tested your custom board with any other FW? Have you verified that the custom board is working as expected before testing this?

    Best Regards,
    OV_Renesas

  • Hi, thank you for the quick response!

    Since my "custom board" is currently a brand new WLCSP DA14531 daughterboard, I assume there are no hardware defects, but I admit I have not loaded other FW onto it because I don't have the motherboard. 

    I'll try the SmartSnippets jar CLI as soon as I get into office. But isn't it weird that the JLink Commander is able to run code on the USB stick with the same commands that fail on the daughterboard? Is there really no hardware difference in flashing the USB DK via 4-line SWD and flashing an external board through 4-line SWD?

Reply
  • Hi, thank you for the quick response!

    Since my "custom board" is currently a brand new WLCSP DA14531 daughterboard, I assume there are no hardware defects, but I admit I have not loaded other FW onto it because I don't have the motherboard. 

    I'll try the SmartSnippets jar CLI as soon as I get into office. But isn't it weird that the JLink Commander is able to run code on the USB stick with the same commands that fail on the daughterboard? Is there really no hardware difference in flashing the USB DK via 4-line SWD and flashing an external board through 4-line SWD?

Children