Issue Flashing .hex File to nRF54L05 BLE Board Using J-Link Commander

We are encountering an issue with flashing firmware to our newly designed nRF54L05 BLE board.

Issue Details:

  • We are trying to flash a .hex file (simple Blinky code to toggle an LED) using J-Link Commander with a J-Link Segger debugger.

  • The J-Link software identifies nRF54L15 but does not list nRF54L05 in the supported device list.

  • We proceeded by selecting nRF54L15 assuming compatibility, and flashed the Blinky code successfully (no flashing errors reported).

  • However, after flashing, the board shows no activity — the LED does not toggle, and the firmware seems to have no effect.

Below is J-Link Logs

SEGGER J-Link Commander V8.18 (Compiled Mar  5 2025 14:43:35)
DLL version V8.18, compiled Mar  5 2025 14:42:43

 

Connecting to J-Link via USB...O.K.
Firmware: J-Link Lite V9 compiled Feb  2 2021 16:32:48
Hardware version: V9.00
J-Link uptime (since boot): N/A (Not supported by this model)
S/N: 229003252
License(s): GDB
VTref=3.277V 

Type "connect" to establish a target connection, '?' for help
J-Link>connect
Please specify device / core. <Default>: NRF54L15_M33
Type '?' for selection dialog
Device>?
Please specify target interface:
  J) JTAG (Default)
  S) SWD
  T) cJTAG
TIF>S
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "NRF54L15_M33" selected.

 Connecting to target via SWD
ConfigTargetSettings() start
ConfigTargetSettings() end - Took 21us
InitTarget() start
InitTarget() end - Took 3.63ms
Found SW-DP with ID 0x6BA02477
DPIDR: 0x6BA02477
CoreSight SoC-400 or earlier
AP map detection skipped. Manually configured AP map found.
AP[0]: AHB-AP (IDR: Not set, ADDR: 0x00000000)
AP[1]: APB-AP (IDR: Not set, ADDR: 0x00000000)
AP[2]: MEM-AP (IDR: Not set, ADDR: 0x00000000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FE000
CPUID register: 0x411FD210. Implementer code: 0x41 (ARM)
Feature set: Mainline
Cache: No cache
Found Cortex-M33 r1p0, Little endian.
Cortex-M (ARMv8-M and later): The connected J-Link (S/N 229003252) uses an old firmware module that does not handle I/D-cache correctly. Proper debugging functionality cannot be guaranteed if cache is enabled
FPUnit: 8 code (BP) slots and 0 literal slots
Security extension: implemented
Secure debug: enabled
CoreSight components:
ROMTbl[0] @ E00FE000
[0][0]: E00FF000 CID B105100D PID 000BB4C9 ROM Table
ROMTbl[1] @ E00FF000
[1][0]: E000E000 CID B105900D PID 000BBD21 DEVARCH 47702A04 DEVTYPE 00 Cortex-M33
[1][1]: E0001000 CID B105900D PID 000BBD21 DEVARCH 47701A02 DEVTYPE 00 DWT
[1][2]: E0002000 CID B105900D PID 000BBD21 DEVARCH 47701A03 DEVTYPE 00 FPB
[1][3]: E0000000 CID B105900D PID 000BBD21 DEVARCH 47701A01 DEVTYPE 43 ITM
[1][5]: E0041000 CID B105900D PID 002BBD21 DEVARCH 47724A13 DEVTYPE 13 ETM
[0][1]: E0040000 CID B105900D PID 000BBD21 DEVARCH 00000000 DEVTYPE 11 TPIU
Memory zones:
  Zone: "Default" Description: Default access mode
Cortex-M33 identified.
J-Link>loadfile merged.hex
'loadfile': Performing implicit reset & halt of MCU.
Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
Reset: ARMv8M core with Security Extension enabled detected. Switch to secure domain.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Downloading file [merged.hex]...
J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (32768 bytes)
J-Link: Flash download: Total: 0.449s (Prepare: 0.110s, Compare: 0.000s, Erase: 0.061s, Program: 0.204s, Verify: 0.011s, Restore: 0.061s)
J-Link: Flash download: Program speed: 156 KB/s
O.K.
J-Link>loadfile merged104on.hex
'loadfile': Performing implicit reset & halt of MCU.
Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
Reset: ARMv8M core with Security Extension enabled detected. Switch to secure domain.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Downloading file [merged104on.hex]...
J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (32768 bytes)
J-Link: Flash download: Total: 0.427s (Prepare: 0.105s, Compare: 0.000s, Erase: 0.040s, Program: 0.207s, Verify: 0.011s, Restore: 0.061s)
J-Link: Flash download: Program speed: 154 KB/s
O.K.
J-Link>r
Reset delay: 0 ms
Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
Reset: ARMv8M core with Security Extension enabled detected. Switch to secure domain.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
J-Link>loadfile merge.hex
'loadfile': Performing implicit reset & halt of MCU.
Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
Reset: ARMv8M core with Security Extension enabled detected. Switch to secure domain.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Downloading file [merge.hex]...
J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (110592 bytes)
J-Link: Flash download: Total: 1.103s (Prepare: 0.157s, Compare: 0.000s, Erase: 0.042s, Program: 0.774s, Verify: 0.031s, Restore: 0.098s)
J-Link: Flash download: Program speed: 139 KB/s
O.K.
J-Link>loadfile mergeObserver.hex
'loadfile': Performing implicit reset & halt of MCU.
Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
Reset: ARMv8M core with Security Extension enabled detected. Switch to secure domain.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Downloading file [mergeObserver.hex]...
J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (114688 bytes)
J-Link: Flash download: Total: 1.164s (Prepare: 0.175s, Compare: 0.000s, Erase: 0.047s, Program: 0.802s, Verify: 0.034s, Restore: 0.104s)
J-Link: Flash download: Program speed: 140 KB/s
O.K.
J-Link>loadfile mergedNew.hex
'loadfile': Performing implicit reset & halt of MCU.
Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
Reset: ARMv8M core with Security Extension enabled detected. Switch to secure domain.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Downloading file [mergedNew.hex]...
J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (114688 bytes)
J-Link: Flash download: Total: 1.210s (Prepare: 0.167s, Compare: 0.000s, Erase: 0.048s, Program: 0.855s, Verify: 0.034s, Restore: 0.104s)
J-Link: Flash download: Program speed: 131 KB/s
O.K.
J-Link>

Parents
  • Hello,

    Does your custom board have an LFXTAL (32kHz)? If not, did you specify in the board files/overlay files that it doesn't have that?

    Regarding the lack of nRF54L05 from the list in J-Link Commander, you need to update the version of J-Link. Try installing J-Link v8.58, I see that the nRF54L10 and nRF54L05 are selectable in that version.

    Best regards,

    Edvin

Reply
  • Hello,

    Does your custom board have an LFXTAL (32kHz)? If not, did you specify in the board files/overlay files that it doesn't have that?

    Regarding the lack of nRF54L05 from the list in J-Link Commander, you need to update the version of J-Link. Try installing J-Link v8.58, I see that the nRF54L10 and nRF54L05 are selectable in that version.

    Best regards,

    Edvin

Children
No Data
Related