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:56Hardware version: V1.00J-Link uptime (since boot): 0d 00h 06m 01sS/N: 480045468USB speed mode: High speed (480 MBit/s)VTref=3.300VDevice "DA14531" selected. Connecting to target via SWDFound SW-DP with ID 0x0BC11477DPIDR: 0x0BC11477CoreSight SoC-400 or earlierScanning AP map to find all available APsAP[1]: Stopped AP scan as end of AP map has been reachedAP[0]: AHB-AP (IDR: 0x04770031, ADDR: 0x00000000)Iterating through AP map to find AHB-AP to useAP[0]: Core foundAP[0]: AHB-AP ROM base: 0xE00FF000CPUID register: 0x410CC601. Implementer code: 0x41 (ARM)Found Cortex-M0 r0p1, Little endian.FPUnit: 4 code (BP) slots and 0 literal slotsCoreSight 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 FPBMemory zones: Zone: "Default" Description: Default access modeCortex-M0 identified.
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:56Hardware version: V1.00J-Link uptime (since boot): 0d 00h 06m 01sS/N: 480045468USB speed mode: High speed (480 MBit/s)VTref=3.300VDevice "DA14531" selected.
Connecting to target via SWDFound SW-DP with ID 0x0BC11477DPIDR: 0x0BC11477CoreSight SoC-400 or earlierScanning AP map to find all available APsAP[1]: Stopped AP scan as end of AP map has been reachedAP[0]: AHB-AP (IDR: 0x04770031, ADDR: 0x00000000)Iterating through AP map to find AHB-AP to useAP[0]: Core foundAP[0]: AHB-AP ROM base: 0xE00FF000CPUID register: 0x410CC601. Implementer code: 0x41 (ARM)Found Cortex-M0 r0p1, Little endian.FPUnit: 4 code (BP) slots and 0 literal slotsCoreSight 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 FPBMemory zones: Zone: "Default" Description: Default access modeCortex-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>gMemory 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?
Hi There,Thank you for posting your question online.
ppsqqk said: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-083All 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?
Hi There,Thank you for the reply.Please make sure again you have made the correct HW connections: 19. Serial Wire Debug Probe — DA145XX Tutorial SDK Getting started
ppsqqk said:Since my "custom board" is currently a brand new WLCSP DA14531 daughterboard,
Please also refer on UM-B-114: DA14531 Development Kit Pro Hardware User Manualon section 4 Getting to Know DA14531 DK PRO and make sure you have set SW1 in the correct position for power supply.Please also check the section 6.1 Battery OperationBest Regards,OV_Renesas