KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or adv Hardware and software Board: KW45B41Z-LOC, board/PCB revision [fill in], manual KW45B41Z-LOCUM Rev. 2 Host: Windows, MCUXpresso IDE 25.6.136, LinkServer 26.9.130, SPSDK 3.12.0 (blhost) SDK: kw45b41z-loc SDK package (version 25.12.0 in the folder name) MCU-Link: onboard, CMSIS-DAP firmware V3.160, later V3.174 Powered from USB (J3) only, no CAN 12 V supply connected Jumpers: defaults per Table 3, JP12 open, JP16 shorted only for ISP. [Confirm actual positions of JP1, JP2, JP3, JP10, JP13, JP14, JP21, JP22, JP25.] Problem SWD debug and flash access to the KW45 fail whenever an application is in flash. Flashing only works when the chip is first held in ISP mode with SW4. What we observed Initial failure (stock kw45b41zloc_wireless_uart_freertos): the probe connects (DAP ID 6BA02477, Cortex-M33, “processor is in secure mode”), then fails with Nn(05) Wire ACK Fault in DAP access and Failed on connect. Erase and program both fail the same way. ISP works: with JP16 shorted and SW4 held during reset, blhost -p COMxx,115200 -- get-property 1 returns Success (K3.1.0), and flash-erase-all returns Success. Without SW4 held, there is no response to ping. After erase, flashing works but ends with an error: flash write completes (“Flash Program Summary”, “Finished writing Flash successfully”). The final step then fails with: Starting execution using system reset and halt target with a stall address ... Wire ACK Fault in DAP access ... Warning - processor did not halt ... flash - system reset failed - Ep(04). Cannot halt processor. This happens with both the stock LOC wireless_uart_freertos and our CAN_BLE project derived from the EVK wireless_uart_bm. Once the app runs, SWD is lost again: typical errors are Ee(42) Could not connect to core, Em(17) Debug port inaccessible after access at location 0x20008838, and Em(12) Target rejected debug access at location 0x20008848. At one point LED1/LED2 were blinking while this happened. J-Link firmware test: we briefly switched MCU-Link to J-Link firmware. SWD then failed even on a blank chip (Wrong DM-AP IDCODE 0x00000000/0xFFFFFFFF, VTref 3.300 V). ISP over the J-Link VCOM port still worked. We reverted to CMSIS-DAP V3.174. NBU: after the erase we sent kw45b41_nbu_ble_hosted.sb3 with blhost ... receive-sb-file (Success). We are not sure it is the correct image for wireless_uart on the LOC board. Current state: after flashing and a replug (JP16 removed, SW4 not held, SW1 pressed): LED1/LED2 do not blink and there is no output on the VCOM port (115200 8N1) the board does not advertise over BLE D3 is dim and D7 is fading (MCU-Link normal mode) Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello @priyanshua1,
In order to support you better, could you please provide me the following information?
-Before the error occurred, were you following any application note or procedure to configure any security features on the device?
-Which image did you flash before the error occurred?
-Have any fuses been programmed on this device previously? -I understand that the device is not running the image you flashed. Is my understanding correct?
-Could you please perform a mass erase, flash the led_blinky example without making any modifications, and let me know the results?
I also suggest migrating to the latest SDK release, as it includes the most recent bug fixes, enhancements, and overall improvements. The latest SDK releases are fully supported by the MCUXpresso extension for Visual Studio Code, which I also strongly recommend considering. Besides supporting the newest SDK versions, the extension provides a modern and optimized development environment with support for open standards such as Zephyr and Matter, along with several other advantages. If you are interested, you can find a summary of its benefits in their Fact Sheet.
BR Habib Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello, Please find my responses to your questions below: Before the error occurred, the board was flashed with the Wireless UART and FlexCAN applications. However, no changes were made to the device's security configuration. No fuses have been programmed on the device. Yes, image flashing is currently failing. As suggested, I installed MCUXpresso for VS Code and downloaded the latest KW45-LOC SDK (version 26.09.00). However, I am still encountering the same errors. [2026-10-27T13:03:36.504] [proc] [info] Cmd: C":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [2026-10-27T13:03:36.511] [proc] [info] Cmd: C:\NXP\LinkServer_26.9.130\LinkServer.exe probes --json [2026-10-27T13:03:38.049] [proc] [info] Cmd: C:\Users\Hondaconceptbench\.mcuxpressotools\arm-gnu-toolchain-14.2.rel1-mingw-w64-x86_64-arm-none-eabi\bin\arm-none-eabi-gcc.exe --version [2026-10-27T13:03:38.061] [proc] [info] Cmd: C:\NXP\MCUXpressoIDE_25.6.136\ide\tools\bin\arm-none-eabi-gcc.exe --version [2026-10-27T13:03:38.328] [proc] [info] Cmd: C:\Users\Hondaconceptbench\.mcuxpressotools\arm-gnu-toolchain-14.2.rel1-mingw-w64-x86_64-arm-none-eabi\bin\arm-none-eabi-gcc.exe --version [2026-10-27T13:03:38.337] [proc] [info] Cmd: C:\NXP\MCUXpressoIDE_25.6.136\ide\tools\bin\arm-none-eabi-gcc.exe --version [2026-10-27T13:03:40.870] [proc] [info] Cmd: taskkill /PID 28160 /F /T [2026-10-27T13:03:41.291] [proc] [info] Cmd: pkill -P 28160 [2026-10-27T13:03:41.296] [proc] [error] pkill exited with code Error: spawn pkill ENOENT [2026-10-27T13:03:41.296] [proc] [error] [2026-10-27T13:03:41.296] [error] [2026-10-27T13:03:41.296] [proc] [info] Cmd: kill -9 28160 [2026-10-27T13:03:41.299] [proc] [error] kill exited with code Error: spawn kill ENOENT [2026-10-27T13:03:41.299] [proc] [error] [2026-10-27T13:03:41.300] [proc] [error] kill exited with code -4058 [2026-10-27T13:03:41.300] [proc] [error] [2026-10-27T13:03:41.300] [proc] [error] pkill exited with code -4058 [2026-10-27T13:03:41.300] [proc] [error] [2026-10-27T13:04:19.506] [proc] [info] Cmd: C":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [2026-10-27T13:04:19.513] [proc] [info] Cmd: C:\NXP\LinkServer_26.9.130\LinkServer.exe probes --json [2026-10-27T13:04:20.830] [proc] [info] Cmd: C:\NXP\LinkServer_26.9.130\LinkServer.exe probes --json [2026-10-27T13:04:20.840] [proc] [info] Cmd: C":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [2026-10-27T13:04:21.776] [proc] [info] Cmd: C:\NXP\LinkServer_26.9.130\LinkServer.exe flash --probe WXZBCIEABA3EA --no-boot KW45B41Z83xxxA:KW45B41Z-LOC erase --sector [2026-10-27T13:04:30.403] [proc] [error] C:\NXP\LinkServer_26.9.130\LinkServer.exe exited with code 4294967295 [2026-10-27T13:04:30.403] [proc] [error] Firmware update `check`: not required - forced update can be performed using: `LinkServer probe #1 update forced` Ns: LinkServer RedlinkMulti Driver v26.9 (Sep 18 2026 19:34:33 - crt_emu_cm_redlink.exe build 1382) Pc: ( 0) Reading remote configuration Wc(03). No cache support. Nc: Found generic directory XML file in C:\Users\HONDAC~1\AppData\Local\Temp\tmpa5n5cx_7\crt_directory.xml Pc: ( 5) Remote configuration complete Nc: Reconnected to existing LinkServer process. Nc: Connecting to probe 1 core 0 (using server started externally) reports: 'Ee(42). Could not connect to core.' Nc: Retrying... Nc: Reconnected to existing LinkServer process. Nc: Server OK but no connection to probe 1 core 0 (after 3 attempts) - Ee(42). Could not connect to core. Wc: ============= SCRIPT: KW45B41_connect.scp ============= Wc: KW45B41 connect script Wc: Connecting to Probe Index = 1 Wc: DpID = 6BA02477 Wc: Error: AP not ready Wc: ============= END SCRIPT ============================== Nc: Probe Firmware: MCU-LINK on-board (r0E3) CMSIS-DAP V3.174 (NXP Semiconductors) Nc: Serial Number: WXZBCIEABA3EA Nc: VID:PID: 1FC9:0143 Nc: USB Path: 0001:0014:00 Nc: connection failed - Em(01). Cannot find MEM-AP selected by core index (check target power).. Retrying Ed:02: Failed on connect: Em(01). Cannot find MEM-AP selected by core index (check target power) Et: Probe(0😞 Connected&Reset. Was: NotConnected. DpID: 6BA02477. CpuID: 00000000. Info: Nc: Last stub error 0: OK Nc: Last sticky error: 0x0 AIndex: 0 Nc: No debug bus (MemAp) selected Nc: DAP Speed test unexecuted or failed Nc: Debug protocol: SWD. RTCK: Disabled. Vector catch: Disabled. Pc: (100) Target Operation Failed -------------------- Flash erase summary: Error: Flash: 0x00000000-0x00100000 (0x00100000 bytes) [KW45B41.cfx] INFO: Exact match for KW45B41Z83xxxA:KW45B41Z-LOC found INFO: Selected device KW45B41Z83xxxA:KW45B41Z-LOC INFO: Selected probe #1 WXZBCIEABA3EA (MCU-LINK on-board (r0E3) CMSIS-DAP V3.174) INFO: MCU-Link firmware update `check`: Probe ([WXZBCIEABA3EA] [MCU-LINK on-board (r0E3) CMSIS-DAP V3.174]) is already running the same firmware version as the included firmware version [3.174] ERROR: Error: Flash: 0x00000000-0x00100000 (0x00100000 bytes) [KW45B41.cfx] ERRMSG: Exception: Flash operation exited with code 1 CRITICAL: Critical error ERRMSG: Exception: Failed to erase one or more flash memories Additional observations: When attempting to erase the memory or scan for NXP devices using the SPSDK components, I need to short the JP16 jumper and keep SW4 pressed for the board to be detected or the erase operation to proceed. Could you please advise on the possible cause of this behavior and suggest the next steps to resolve the issue? PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- get-property 1 SpsdkNoDeviceFoundError: Interface 'uart' with parameters 'port=COM19, baudrate=115200, timeout=5000': Device found on port(s) COM19 but did not respond to PING at 115200 baud. Ensure the device is in bootloader mode. See debug log file: C:\Users\Hondaconceptbench\AppData\Local\nxp\spsdk\3.12.0\Logs\debug.log for more info PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- get-property 1 Response status = 0 (0x0) Success. Response word 1 = 1258488064 (0x4b030100) Current Version = K3.1.0 PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- flash-erase-all SpsdkNoDeviceFoundError: Interface 'uart' with parameters 'port=COM19, baudrate=115200, timeout=5000': Device found on port(s) COM19 but did not respond to PING at 115200 baud. Ensure the device is in bootloader mode. See debug log file: C:\Users\Hondaconceptbench\AppData\Local\nxp\spsdk\3.12.0\Logs\debug.log for more info PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- flash-erase-all Response status = 0 (0x0) Success. PS C:\Users\Hondaconceptbench> Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello @priyanshua1,
To help determine whether the issue is related to the debug connection, could you please perform the following test using the Secure Provisioning Tool? SPT is a GUI-based application that simplifies the generation and provisioning of bootable images for NXP MCU devices.
Could you please test the debugger connection using the Connection With Target Processor feature in SPT by following these steps?
Enter ISP mode on the KW45B41Z-LOC board following the same steps you are currently using.
Open the Connection with Target Processor window in SPT.
Select the appropriate COM port.
Click Test and let me know the result.
If the Test result is marked as OK, could you please follow the steps mentioned in the Booting plain or CRC image section using the .elf file of a built led bliny project. You can find the .elf file in the debug folder in VS Code.
If you are not familiar with the Secure Provisioning Tool, the SPT User's Guide includes a section on creating a new workspace, which may be helpful for getting started.
BR Habib Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or In the first image, I was holding the SW4 when I started the test, and it completed successfully. In the second image, I wasn’t holding the SW4, which caused the test to fail. Here are the results of the two tests. 1. SPT Connection test ISP mode (JP16 shorted, SW4 held during reset), COM19, 115200: Result OK. Mode: ROM bootloader, Life cycle: OEM Open, KW45Z41083 match. Screenshot attached. 2. Boot a plain image I built a Plain unsigned image from the kw45b41zloc_led_blinky project (ELF converted to BIN, bootable image created) and wrote it with SPT “Write image”. The result was Success (get-property, pre-erase and write-memory all succeeded). Log attached. After the write I released SW4, removed JP16, power cycled the board and pressed SW1. The LED does not blink, so the board does not visibly run the application. blhost -p COM19,115200 -- get-property 1 without SW4 held: responds Summary of the issue ISP connection and programming work. The failures happen over SWD with MCUXpresso/LinkServer (“Wire ACK Fault in DAP access”, “Cannot halt processor”, “Debug port inaccessible”) whenever an application is in flash. With the flash erased, SWD connects and flashes, but the final reset-and-halt step fails. Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello @priyanshua1,
I noticed that you are currently using the KW45Z41083 processor in your workspace. Is there a specific reason for using this device? For example, are you following the AN14003?
The KW47-LOC uses the KW45B41Z processor, as mentioned in Chapter 1.2 "Device Features" of the KW45B41Z-LOC Board User Manual. Could you please create a new workspace using the KW45B41Z processor and repeat the steps mentioned previously? This time, please also erase the entire on-chip Flash before programming the image using the flash programmer tool.
After that, could you please provide the following:
The logs generated when you write the image.
The results of reading the memory region where the image was written using again the Flash Programmer tool.
Also, could you please provide me the OTP values from your processor using the OTP/IFR configuration?
BR Habib Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello @Habib_MS, Apologies for wrong input. I have performed the test with correct processor now, please note that the connection test failed when I had selected KW45B41Z5 as a processor. But with KW45B41Z8 test connection passed. Please find the attached logs and images for your reference. Write Image Logs: ELF image converted to BIN: source_images\kw45b41zloc_led_blinky.bin ELF image converted to BIN: source_images\kw45b41zloc_led_blinky.bin Status of the operation: Success: A new workspace is created: C:\Users\Hondaconceptbench\secure_provisioning00 ELF image converted to BIN: source_images\kw45b41zloc_led_blinky.bin ########################################################################################################## Build image - operation started at 2026-11-06 16:54:25 ########################################################################################################## Build script is generated: build_image_lnx.sh Build script is generated: build_image_win.bat Build script is generated: build_image_mac.sh Executing script C:\Users\Hondaconceptbench\secure_provisioning00\build_image_win.bat ### SCRIPT: Building image: C:\Users\Hondaconceptbench\secure_provisioning00\build_image_win.bat ### Create Master Boot Image using nxpimage tool ### WARNING:spsdk.image.mbi.mbi:MBI-kw45b41z8-MbiImageTypeEnum.PLAIN_IMAGE-xip(Warning) ======================================== TrustZone Configuration (Warning) ========================================= Validates TrustZone settings and configuration type ==================================================================================================================== Feature 'tz' verification(Warning) Implementation(Warning): Not implemented (1808ms since start, mbi.py:689) Success. (Master Boot Image: C:/Users/Hondaconceptbench/secure_provisioning00/bootable_images/kw45b41zloc_led_blinky.bin created.) ### RESULT of the script `Building image`: Success (return code = [0]SUCCESS) Status of the operation: Success: Building image Built image: "C:\Users\Hondaconceptbench\secure_provisioning00\bootable_images\kw45b41zloc_led_blinky.bin" ########################################################################################################## Write image - operation started at 2026-11-06 16:54:46 ########################################################################################################## The following fuses status was detected: OTP request: LIFECYCLE |= 0x7 (mask: 0xff); current value=0x7; status=MATCHES SUMMARY: Detected status of fuses for write operation: all fuse(s) match with the requested value(s) Write script generated: write_image_lnx.sh Write script generated: write_image_win.bat Write script generated: write_image_mac.sh Executing script C:\Users\Hondaconceptbench\secure_provisioning00\write_image_win.bat pre_erase ### SCRIPT: Writing image: C:\Users\Hondaconceptbench\secure_provisioning00\write_image_win.bat ### SCRIPT arguments: pre_erase ### Parse input arguments ### ### Check connection ### blhost -t 2000 -p COM19,115200 -j -- get-property 1 0 { "command": "get-property", "response": [ 1258488064 ], "status": { "description": "0 (0x0) Success.", "value": 0 } } blhost succeeded ### Erase flash ### ### Pre erase flash to prevent potential application start after the reset is done ### blhost -t 50081 -p COM19,115200 -j -- flash-erase-region 0x00000000 8192 0 { "command": "flash-erase-region", "response": [], "status": { "description": "0 (0x0) Success.", "value": 0 } } blhost succeeded blhost -t 50163 -p COM19,115200 -j -- flash-erase-region 0x00000000 16384 0 { "command": "flash-erase-region", "response": [], "status": { "description": "0 (0x0) Success.", "value": 0 } } blhost succeeded ### Write image ### blhost -t 5000 -p COM19,115200 -j -- write-memory 0x00000000 "C:\Users\Hondaconceptbench\secure_provisioning00\bootable_images\kw45b41zloc_led_blinky.bin" { "command": "write-memory", "response": [ 9732 ], "status": { "description": "0 (0x0) Success.", "value": 0 } } blhost succeeded ### RESULT of the script `Writing image`: Success (return code = [0]SUCCESS) Status of the operation: Success: Writing image Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello @priyanshua1, Thank you for the information. Based on the logs, it appears that the image was written correctly. Are you able to see the image using the Flash Programmer tool? You can find this tool in the Tools window:
Additionally, could you please help me clarify the following points?
Did the last steps result in the same behavior? If so, could you please repeat the same steps but using a hello_world example, but this time using the .elf file generated from VS Code?? Are you able to see the "Hello World" in the terminal?
Could you please confirm whether the jumpers are configured exactly as shown in figure 3 "KW45B41Z-LOC jumpers" of the KW45B41Z-LOC Board User Manual before performing the test?
Could you confirm whether this board has been reworked at any point? If so, could you please provide more details about the rework?
BR Habib Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello, Here are the results with the KW45B41Z83 workspace (all in ISP mode: JP16 shorted, SW4 held during reset). Flash Programmer: I erased all, wrote the plain unsigned image, then read 0x00000000-0x000027DF (status: success). The vector table is present (SP 0x2001C000, reset vector 0x00000195 in the read-back). Screenshots attached. Boot result: after releasing SW4, removing JP16 and power cycling, LED1 (PTC0) does not blink. The project’s pin_mux configures PTC0 as a GPIO output for LED1. hello_world: Repeating the same steps using the .elf, there is no “Hello World” on the MCU-Link VCOM port (115200 8N1). Additionally, from VS Code, GDB reports 0x14816fdc in ?? () and Error 103: Failed to launch GDB: Error finishing flash operation. Terminal output attached.: Launching GDB: "C:\\NXP\\MCUXpressoIDE_25.6.136\\ide\\tools\\bin\\arm-none-eabi-gdb.exe" -q --interpreter=mi2 IMPORTANT: Set "showDevDebugOutput": "raw" in "launch.json" to see all GDB transactions. Launching GDB server: "C:\\NXP\\LinkServer_26.9.130\\LinkServer.exe" -l3 gdbserver "KW45B41Z83xxxA:KW45B41Z-LOC" --probe WXZBCIEABA3EA --gdb-port 2336 --no-boot --core primary Please check TERMINAL tab (GDB server console) for output from "C:\NXP\LinkServer_26.9.130\LinkServer.exe" Output radix now set to decimal 10, hex a, octal 12. Input radix now set to decimal 10, hex a, octal 12. NMI_Handler () at C:/Users/Hondaconceptbench/Documents/MCUXpresso_VSC/SDK_26_09_00_KW45B41Z-LOC/mcuxsdk/devices/Wireless/KW/KW45B41Z83/gcc\startup_KW45B41Z83.S:446 446 ldr r0,=HardFault_Handler Program stopped, probably due to a reset and/or halt issued by the debugger. Error 103: Failed to launch GDB: Error finishing flash operation (from target-download) Jumpers: match Figure 3. MCU-Link firmware: MCU-LINK on-board (r0E3) CMSIS-DAP V3.174 LOGS when flashing the helloworld.elf using the linkserver flash programmer from vs code. [2026-11-09T15:04:18.756] [proc] [info] Cmd: C:\NXP\LinkServer_26.9.130\LinkServer.exe probes --json [2026-11-09T15:04:18.767] [proc] [info] Cmd: C":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [2026-11-09T15:04:20.075] [proc] [info] Cmd: C":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [2026-11-09T15:04:20.083] [proc] [info] Cmd: C:\NXP\LinkServer_26.9.130\LinkServer.exe probes --json [2026-11-09T15:04:21.857] [proc] [info] Cmd: C:\NXP\LinkServer_26.9.130\LinkServer.exe flash --probe WXZBCIEABA3EA --no-boot KW45B41Z83xxxA:KW45B41Z-LOC load C:\Users\Hondaconceptbench\Documents\MCUXpresso_VSC\SDK_26_09_00_KW45B41Z-LOC\mcuxsdk\examples\demo_apps\hello_world\debug\hello_world.elf --erase-all [2026-11-09T15:04:25.241] [proc] [info] INFO: Exact match for KW45B41Z83xxxA:KW45B41Z-LOC found INFO: Selected device KW45B41Z83xxxA:KW45B41Z-LOC INFO: Selected probe #1 WXZBCIEABA3EA (MCU-LINK on-board (r0E3) CMSIS-DAP V3.174) INFO: MCU-Link firmware update `check`: Probe ([WXZBCIEABA3EA] [MCU-LINK on-board (r0E3) CMSIS-DAP V3.174]) is already running the same firmware version as the included firmware version [3.174] [2026-11-09T15:04:25.241] [LinkServer] [info] LinkServer flash operation completed successfully: Firmware update `check`: not required - forced update can be performed using: `LinkServer probe #1 update forced` Ns: LinkServer RedlinkMulti Driver v26.9 (Sep 18 2026 19:34:33 - crt_emu_cm_redlink.exe build 1382) Pc: ( 0) Reading remote configuration Wc(03). No cache support. Nc: Found generic directory XML file in C:\Users\HONDAC~1\AppData\Local\Temp\tmp62t_evtb\crt_directory.xml Pc: ( 5) Remote configuration complete Nc: Reconnected to existing LinkServer process. Wc: ============= SCRIPT: KW45B41_connect.scp ============= Wc: KW45B41 connect script Wc: Connecting to Probe Index = 1 Wc: DpID = 6BA02477 Wc: APID = 0x84770001 Wc: ============= END SCRIPT ============================== Nc: Probe Firmware: MCU-LINK on-board (r0E3) CMSIS-DAP V3.174 (NXP Semiconductors) Nc: Serial Number: WXZBCIEABA3EA Nc: VID:PID: 1FC9:0143 Nc: USB Path: 0001:0016:00 Nc: Using memory from core 0 after searching for a good core Pc: ( 30) Emulator Connected Nc: processor is in secure mode Pc: ( 40) Debug Halt Pc: ( 50) CPU ID Nc: debug interface type = CoreSight DP (DAP DP ID 6BA02477) over SWD TAP 0 Nc: processor type = Cortex-M33 (CPU ID 00000D21) on DAP AP 0 Nc: number of h/w breakpoints = 8 Nc: number of flash patches = 0 Nc: number of h/w watchpoints = 4 Nc: Probe(0😞 Connected&Reset. DpID: 6BA02477. CpuID: 00000D21. Info: Nc: Debug protocol: SWD. RTCK: Disabled. Vector catch: Disabled. Ns: Content of CoreSight Debug ROM(s): Nc: RBASE E00FF000: CID B105100D PID 04000BB4C9 ROM (type 0x1) Nc: ROM 1 E000E000: CID B105900D PID 04000BBD21 CSt ARM ARMv8-M type 0x0 Misc - Undefined Nc: ROM 1 E0001000: CID B105900D PID 04000BBD21 CSt ARM DWTv2 type 0x0 Misc - Undefined Nc: ROM 1 E0002000: CID B105900D PID 04000BBD21 CSt ARM FPBv2 type 0x0 Misc - Undefined Nc: ROM 1 E0000000: CID B105900D PID 04000BBD21 CSt ARM ITMv2 type 0x43 Trace Source - Bus Nc: ROM 1 E0042000: CID B105900D PID 04000BBD21 CSt ARM CTIv2 type 0x14 Debug Control - Trigger, e.g. ECT Nc: NXP: KW45B41Z83xxxA Nc: DAP stride is 1024 bytes (256 words) Nc: Inspected v.2 On-chip Flash Memory KW45B41.cfx Nc: Image 'FMU Sep 18 2026 19:14:27' Nc: Opening flash driver KW45B41.cfx Nc: VECTRESET requested, but not supported on ARMv8-M CPUs. Using SOFTRESET instead. Nc: Using SOFT reset to run the flash driver Nc: Flash variant 'FMU 1MB' detected (1MB = 128*8K at 0x0) Nc: Closing flash driver KW45B41.cfx Nc: Inspected v.2 On-chip Flash Memory KW45B41_S.cfx Nc: Image 'FMU (Secure) Sep 18 2026 19:14:02' Nc: Opening flash driver KW45B41_S.cfx Nc: VECTRESET requested, but not supported on ARMv8-M CPUs. Using SOFTRESET instead. Nc: Using SOFT reset to run the flash driver Nc: Flash variant 'FMU 1MB (Secure)' detected (1MB = 128*8K at 0x10000000) Nc: Closing flash driver KW45B41_S.cfx Pc: ( 65) Chip Setup Complete Pc: ( 70) License Check Complete Nt: Loading 'hello_world.elf' ELF 0x00000000 len 0x37F4 Nc: Opening flash driver KW45B41.cfx Nc: VECTRESET requested, but not supported on ARMv8-M CPUs. Using SOFTRESET instead. Nc: Using SOFT reset to run the flash driver Nc: Flash variant 'FMU 1MB' detected (1MB = 128*8K at 0x0) Pb: ( 0) Mass erasing Flash Pb: 1 of 1 ( 0) Writing sectors 0-1 at 0x00000000 with 14324 bytes Ps: ( 0) at 00000000: 0 bytes - 0/14324 Ps: (100) at 00000000: 16384 bytes - 16384/14324 Nc: 00004000 done 100% (16384 out of 14324) Nc: Sectors written: 2, unchanged: 0, total: 2 Nc: Closing flash driver KW45B41.cfx Pb: (100) Finished writing Flash successfully. Nt: Loaded 0x37F4 bytes in 380ms (about 37kB/s) Nt: Reset target (system) Nc: Starting execution using system reset with a stall address Nc: Retask read watchpoint 1 at 0xE000ED08 to use for boot ROM stall Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access Nc: error closing down debug session - Nn(05). Wire ACK Fault in DAP access Conclusion and Request: We have invested considerable time troubleshooting the KW45B41Z-LOC board, and unfortunately, our project activities are now being delayed due to the unresolved issues with the hardware. Furthermore, our project requirements involve both Angle of Arrival (AoA) and Channel Sounding (CS), which are not fully supported by the KW45 LOC. Despite these limitations, we have continued our efforts to evaluate the board. However, we are currently stuck at a very basic stage, unable to achieve the expected results. Considering the time already spent and the impact on our project schedule, we would like to request NXP to provide a BLE development board with the latest hardware revision as a replacement. This would allow us to resume our development activities without further delays. We are willing to ship the existing KW45B41Z-LOC board back to NXP for further inspection and failure analysis. We would appreciate your prompt response and support in resolving this matter so that we can get our project activities back on track. Best regards, Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello again @priyanshua1, The KW45-LOC was provided as a reference design for experimentation and prototyping, as the KW45 does not include all the capabilities required to support the full Bluetooth Channel Sounding specification. Additionally, the KW45-LOC is no longer manufactured, as indicated on the NXP product page.
As an alternative, you can consider the KW47-LOC, which was designed to demonstrate Bluetooth Channel Sounding for both automotive and IoT applications. The design incorporates two on-board monopole PCB antennas and an RF switch to support antenna diversity.
This is possible because the KW47 processor supports Channel Sounding. It also provides several enhancements over the KW45, including increased memory capacity, a dedicated Arm Cortex-M33 radio core running at up to 64 MHz, and support for Bluetooth LE 6.x.
If you are interested, you may also refer to AN14796 for additional information about the feature differences and migration considerations between the KW45 and KW47. BR Habib Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello, Thank you for the information. Could you please let us know whether the logs and test results we shared were useful in identifying or analyzing the root cause of the issue on the board? If they provided sufficient insight, we would appreciate your recommendations on the appropriate troubleshooting and recovery steps. If the information was not sufficient, please advise on the additional actions or data required from our side to move the investigation forward. Additionally, I would like to request a sample KW47 board. While the KW45 issue is being resolved, having access to a KW47 board would allow us to continue our development and evaluation activities without further delays. This could also be beneficial for NXP, as we plan to extensively evaluate a broad range of KW47 features, including Channel Sounding (CS), AoA, CAN, BLE, UART, and other relevant functionalities. We would be happy to provide detailed feedback based on our findings and usage experience. We would greatly appreciate your consideration of this request and look forward to your guidance. Thank you for your support. Best regards, Priyanshu Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or Hello @priyanshua1,
Since your project requires Channel Sounding, the most recommended path is to focus your development efforts on the KW47-LOC. It was designed specifically for experimenting with Channel Sounding applications like this one. The KW45 supports Bluetooth LE 6.0, but it does not include the capabilities required for Channel Sounding, so for this type of application we strongly recommend migrating to the KW47.
I understand how important it is for your team to keep the project moving. The KW47-LOC can be obtained through the official NXP product page, where you can find the available purchasing options. Once you have the board, feel free to post any technical questions that come up during your Channel Sounding evaluation.
That said, based on the information, the behavior appears to be related to the device staying in the ROM bootloader instead of jumping to the application in flash. According to the KW45 RM (section 15.2.8, "Initiate a debug session"), the debug access port of the CM33 is disabled while the ROM bootloader is executing, and also when the ROM goes into ISP mode. This would be consistent with what you are seeing, including the PC reported by GDB (0x14816fdc) being inside the ROM address range.
To understand why the ROM may not be jumping to the image, I would like to review the ROM configuration stored in the IFR. Could you please send me the IFR values from the Secure Provisioning Tool using the OTP/IFR configuration?
I would also like to ask a few additional questions:
Could you please provide more details about the CAN_BLE project you mentioned in your initial post? Also, have you worked with OTAP functionality in that project or in any other application?
I could not find the Flash Programmer screenshots you mentioned previously. Could you please confirm whether you are able to see the image using the Flash Programmer tool?
Could you confirm whether this board has been reworked at any point? If so, could you please provide more details about the rework?
BR Habib
View full article