Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
rw612 TFM zephyr 上游支持 尊敬的恩智浦半导体 你们计划何时将 RW612 的 TFM 支持合并到上游 Zephyr 版本中? 谢谢您! 产品:WiFi RW6XX Re: rw612 TFM zephyr upstream support 嗨@rlinus ,希望你一切都好。 目前我们无法提供明确的时间表,以便在上游 Zephyr 中提供对 RW612 的 TF-M 支持。与此同时,RW612 TF-M 的开发需要使用 NXP 下游 Zephyr 发行版,因为它提供了当前 NXP 特有的集成和验证。 请监测未来的Zephyr 版本,以获取有关上游可用性的更新信息。在此期间,请继续使用 NXP 下游 Zephyr 存储库来实现此用例。
View full article
恢复变砖的 imxrt1024 板 我有一块板彻底坏了,我也尝试通过以下步骤恢复板。 1. 将启动模式更改为串行下载器模式。 2. 通过 UART 擦除芯片,然后刷写一个好的可启动映像(led_blinky)。 3. 再次更改启动模式,但设备仍未恢复。 使用 J-Link Commander 时出现此问题 'loadbin':对 MCU 执行隐式 RESET 和停止操作。 ResetTarget() 开始 核心程序在验证闪存映像时没有停止运行。推测是闪存设置错误。 手动停止目标。 RESETTarget() 结束 - 耗时 329 毫秒 已执行设备特定 RESET。 AfterResetTarget() 开始 MPU 已启用,现已禁用。 AfterResetTarget() 结束 - 耗时 2.92 毫秒 正在下载文件 [C:\M7Binaties Prep\Secure 启动 extebded implementation\M7SafetBoot+Combined_SignedPackage.bin]... 闪存编程时出错:编程失败。 此外还有一点需要补充说明; 1. 将设备置于串口下载器模式。 2. 闪烁 LED 闪烁图像。 3. 仅以串行模式读取映像 4. 我可以看到二进制文件已成功刷写。 之后我进入了内部启动模式 5. 使用 J_Flash 读取数据,但现在整个闪存区域都为 0。 现在该怎么办?为什么我无法恢复它? Re: Recover bricked imxrt1024 board 你好@Abhay2080 , 为了更好地为您提供支持,请您提供以下详细信息? 您目前使用的是定制板还是我们的 EVK? LED闪烁示例在闪烁之前是否经过修改? 这台设备之前有过熔丝烧断的情况吗? 查看 J-Link 日志,似乎您正在尝试刷写已签名的镜像。这块板之前是否启用过安全启动功能? 您目前是否使用安全配置工具来写入映像并执行批量擦除? 请您使用“连接目标处理器”功能测试调试器连接,并将结果告知我。 BR 哈比卜 Re: Recover bricked imxrt1024 board 你好@Abhay2080 , 由于启用了 HAB,因此必须使用私钥对映像进行签名,并且必须在程序映像中包含相应的公钥,如参考手册第 9.2 章“概述”中所述。如果参考哈希值与闪存中软件计算出的当前哈希值之间的比较不匹配,或者映像根本没有签名,则身份验证将失败,设备将无法启动,如 RM 的 7.3.1 章“HAB 流程”中所述。 请您确认一下,您使用的 LED 指示灯是否已使用正确的密钥签名?另外,请告诉我您签名此镜像的步骤以及您如何启用 HAB? 另外,您能否澄清一下,该错误是否在您启用 HAB 后立即开始出现? BR 哈比卜 Re: Recover bricked imxrt1024 board 1. 定制板。 2. 没有修改任何 LED 闪烁功能,即使我在我的工作项目中也尝试过。 3. 是的,该设备已启用 HAB 功能。SEC_CONFIG 和 SRK_HASH 已熔丝 4. 是的,HAB 已启用。 5. 是的,使用了SPT。 6. 是的,我能够连接到目标系统 Re: Recover bricked imxrt1024 board 你好@Habib_MS 我明白由于启用了 HAB,只有签名镜像才能启动,但问题是我无法刷入任何镜像。 另外,我观察到,当我使用 SPT 擦除闪存时,即使我选择了整个 4MB 闪存区域,但在日志中我得到的却是“检测到的可擦除块大小:0x1000”。请查看附件截图。 此外,我还尝试刷入了带有签名的 LED 闪烁图像,但板仍然无法恢复。 Re: Recover bricked imxrt1024 board 你好@Abhay2080 , 此可擦除块大小定义了最小可擦除块大小。如果内存使用 FCB,则从 FCB 读取此值;如果内存不使用 FCB,则从启动内存配置读取此值。如闪存编程器部分所述。SPT 会擦除整个内存范围内的所有扇区,因此整个 4 MB 的闪存都会被擦除。 为了帮助确定问题是否与 J-Flash 编程算法有关,请您按照“使用预构建的 .s19 版本启动认证 (HAB) 映像部分中提到的步骤进行操作。请用正确的密钥对名为“mimxrt1024evk_iled_blinky_flash.s19”的文件进行签名,并告知我结果? BR 哈比卜 Re: Recover bricked imxrt1024 board 嗨@Habib_MS ,正如您所说,我尝试了 iled_blink.s19 签名镜像并写入了该镜像。以下是我采取的步骤。 我写入了镜像文件,但仍然无法使用 J-Flash 烧录二进制文件。
View full article
Recover bricked imxrt1024 board I have one board that is bricked and i also tried to recover the board by performing below steps. 1. Change Boot Mode to Serial Downloader mode. 2. Via UART, Erase the chip and then flash a good bootable image (led_blinky). 3. Change the boot mode again, But the device is not recovered. Using j-link commander i am getting this issue 'loadbin': Performing implicit reset & halt of MCU. ResetTarget() start Core did not halt on flash image verification. Assuming faulty flash settings. Halting target manually. ResetTarget() end - Took 329ms Device specific reset executed. AfterResetTarget() start MPU was enabled and is now disabled. AfterResetTarget() end - Took 2.92ms Downloading file [C:\M7Binaties Prep\Secure Boot extebded implementation\M7SafetBoot+Combined_SignedPackage.bin]... Error while programming flash: Programming failed. Also there is one additional observation ;- 1. Device put on serial downloader mode. 2. Flash the led blinky image. 3. Read back the image in serial mode only  4. I can able to see that the binary is successfully flashed  After that i put in Internal Boot Mode  5. Read back using J_Flash but now whole flash region is 0 What to do now , why i am not able to recover it Re: Recover bricked imxrt1024 board Hello @Abhay2080, In order to support you better, could you please provide the following details? Are you currently using a custom board or our EVK? Was the LED blinky example modified before flashing? Have any fuses been burned on this device previously? Looking at the J-Link log, it appears you are trying to flash a signed image. Has Secure Boot been enabled on this board before? Are you currently using the Secure Provisioning Tool to write the image and perform a mass erase? Could you please test the debugger connection using the Connection With Target Processor feature and let me know your results? BR Habib Re: Recover bricked imxrt1024 board Hello @Abhay2080, Since HAB is enabled, the image must be signed with the private key and must contain the corresponding public keys within the program image, as mentioned in chapter 9.2 "Overview" of the Reference Manual. If the comparison between the reference hash value and the current hash value calculated from the software in flash does not match, or if the image is not signed at all, authentication will fail and the device will not boot, as mentioned in the chapter 7.3.1 "HAB process flow" of the RM. Could you please confirm whether you are flashing the LED blinky signed with the correct keys, and let me know the steps you followed to sign this image and how you enabled the HAB? Also, could you clarify if the error started occurring right when you enabled HAB? BR Habib Re: Recover bricked imxrt1024 board 1. Custom Board. 2. No led blinky is not modified, even i tried with my working project also. 3. Yes device have HAB enabled . SEC_CONFIG and SRK_HASH are fused 4. Yes HAB is enabled. 5. Yes SPT is used. 6. Yes i am able to connect with target Re: Recover bricked imxrt1024 board Hi @Habib_MS  I do understand that since HAB is enabled only signed image can boot but the issue here is i am not able to flash any image.  Also i have one observation that when i am ersing the flash using SPT even i am selection whole flash region 4MB but in the logs i am getting Detected erasable block size : 0x1000 . Please find the screenshot attached. And moreover i tried flashing signed led blink image also but still board is not recovered Re: Recover bricked imxrt1024 board Hello @Abhay2080, This Erasable block size Defines the minimal erasable block size. This value is read from FCB if available or from the boot memory configuration for memories that do not use FCB. As mentioned on the Flash Programmer section. SPT erases all sectors across the full memory range, so the entire 4 MB of flash is erased. To help determine whether the issue is related to the J-Flash programming algorithm, could you please follow the steps mentioned in the Booting authenticated (HAB) image section using the pre-built .s19 file called "mimxrt1024evk_iled_blinky_flash.s19" signed with the correct keys and let me know your results ? BR Habib Re: Recover bricked imxrt1024 board Hi @Habib_MS , As mentioned by you i tried the iled_blink.s19 signed image and write the image. Below are the steps i did  i write the image but still i am not able to flash the binary using J-flash
View full article
[S32K396] eFlexPWM configuration issues MCU: S32K396 Driver: S32K3 RTD 7.0.1 Config tool: EB tresos Studio 30.0.0 Use case: 3-phase motor control (FOC), SM0..SM2 as complementary A/B pairs,20 kHz center-aligned PWM, fault handling on FAULT0  Question1: Pwm (FlexPWM): Fault settings are only available for the A output of a complementary channel pair — no way to configure the fault mapping of PWMB When a FlexPWM submodule is configured with Channel Pair = COMPLEMENTARY in the EB tresos Pwm plugin, only one channel entry (PWMA) is created and PWMB is automatically generated as the inverted output. However, in the fault settings (FlexPwmFaultChannelSettings: fault channel selection, fault level, fault output state, etc.) only the PWMA channel can be configured - there is no configuration entry for PWMB. The fault setup writes only the DIS0A field of SMx_DISMAP0. DIS0B and DIS0X keep their reset value 0xF and cannot be changed. Is there a supported way in EB tresos to configure the DIS0B/DIS0X mapping, or should this be considered a limitation/defect of the Pwm plugin? Question2: Pwm (FlexPWM): Center-aligned mode - no GUI option to generate an ADC trigger from a VAL0/VAL1 match (mid-point / reload trigger) (SM[x].TCTRL) We use center-aligned complementary PWM (SM0..SM2, 20 kHz) for 3-phase current sampling. In this configuration the center of the low-side conduction window coincides with the counter reload point, i.e. the VAL1 match. Sampling exactly at that instant gives the average phase current and maximum margin to the switching edges, which is the standard trigger point for low-side shunt FOC. In the EB tresos Pwm plugin, the per-channel Output Trigger configuration only offers "rising edge" / "falling edge" selections, which correspond to the VAL2/VAL3 match events. There is no option to enable the trigger sources tied to VAL0/VAL1 matches (TCTRL[OUT_TRIG_EN] bits for OUT_TRIG0/OUT_TRIG1 based on VAL0/VAL1), and no option tied to the reload event. Is there a supported way in this RTD release to generate an ADC trigger from the VAL0/VAL1 match (or from the reload event) in center-aligned mode? Questions3:Pwm (FlexPWM): Fault notification function configured in EB is generated as NULL_PTR in the PostBuild configuration In the EB tresos Pwm plugin, under FlexPwmFaultChannelSettings, a fault notification function name can be entered. The expectation is that the generated PostBuild configuration fills the callback member so that FlexPwm_Ip_Init() registers it into FlexPwm_Ip_aFaultIrqCallback[], and the fault ISR (FlexPwm_Ip_ProcessFaultIrq) calls it when FFLAG is set. But FlexPwm_Ip_VS_0_PBcfg.c generates the fault channel configuration with NULL_PTR. Is this a known limitation of the Pwm plugin, or a defect? Re: [S32K396] eFlexPWM configuration issues Hi, Q1 – Fault mapping for complementary PWMA/PWMB For a complementary channel pair, only PWMA is configured and PWMB is generated according to the configured A/B relationship.  The Pwm configuration provides individual fault enable settings through FlexPwmChannelFaultSettings. However, when complementary mode is selected, PWMB is no longer available as a separate configurable channel, so there is no corresponding GUI option to customize its DIS0B fault mapping. With the default DISMAP reset configuration, the fault inputs remain enabled for the output. Therefore, from the application point of view, the required fault protection is preserved with the default configuration. I will nevertheless check with the RTD team whether the inability to separately configure DIS0B/DIS0X in complementary mode is intentional and whether there is a supported method for applications requiring a different fault mapping. Q2 – ADC trigger in center-aligned PWM mode The Pwm configuration allows the trigger source to be selected from PWMX, PWMA or PWMB, together with rising edge, falling edge or both edge selection. For center-aligned PWM, VAL1 determines the PWM period and therefore cannot be freely adjusted to move the ADC sampling point. There are several possibilities depending on the required sampling point: If sampling exactly at the PWM reload point is required, the FlexPWM reload pulse is directly available as a TRGMUX trigger source and can be routed through TRGMUX to BCTU/ADC. If local synchronization using PWMX and its VAL0/VAL1 resources is not required for the submodule, PWMX can be configured and used for ADC triggering through the standard Pwm trigger configuration. If the sampling point needs to be independently adjusted relative to the PWM center, a free VALx comparator can be configured through the FlexPWM IP APIs and used as an output trigger. Therefore, the preferred solution depends on whether the ADC sampling point needs to be fixed at the PWM reload point or independently adjustable relative to it. Q3 – Fault notification generated as NULL_PTR According to the Pwm User Manual, FlexPwmFaultNotification specifies the user callback function for fault detection, and a configured value different from NULL or NULL_PTR should be used as the callback function name.   I also tested this with RTD 7.0.1 using the S32 Design Studio configuration tool. In this case, the configured fault notification is correctly propagated into FlexPwm_Ip_VS_0_PBcfg.c, including the callback prototype and the corresponding entry in the FaultNotification[] array.   However, I have not yet verified the same configuration using EB tresos Studio 30.0.0. Therefore, I will check with the RTD team whether there is any known difference or limitation in the EB tresos generation path that could result in NULL_PTR being generated instead. BR, Petr 回复: [S32K396] eFlexPWM configuration issues I have also further questions as bellow: Q1.I would like to follow up on this statement: "With the default DISMAP reset configuration, the fault inputs remain enabled for the output. Therefore, from the application point of view, the required fault protection is preserved with the default configuration." This holds only if all four fault inputs are actually routed on the board. In our ECU only FAULT0 is connected (it carries the FS_FLAG of the gate driver, ST L9908). FAULT1..FAULT3 are not routed at all, so those pads are left floating / not configured as Port pins, and the IMCR does not route them - the fault inputs read a constant level. Since DISMAP0 resets to 0xFFFF (every fault input mapped to every output), the consequence is: --With FLVL = LOW for the unrouted channels, the constant low level is interpreted as a permanent fault and the outputs stay disabled forever. - With FLVL = HIGH for the unrouted channels, those fault channels are permanently inactive, but they are still mapped onto the A/B/X outputs. Therefore, we have to manually update the DISMAP0 register after 'Pwm_Init()', so that only FAULT0 is mapped to DIS0A / DIS0B / DIS0X. Whether the DIS0A/DIS0B/DIS0X fields can be exposed in the GUI for complementary mode (so that A and B can be mapped independently)?  Q2.  option1(FlexPWM reload pulse as a TRGMUX trigger source): We confirmed that TRGMUX_IP_INPUT_PWM0_MST_RELOAD is available. option2(PWMX for ADC triggering): This is actually the path we tried first, before opening this thread: we wanted a PWMX falling edge aligned to VAL1. But when Channel Pair = COMPLEMENTARY is selected, the EB tresos Pwm plugin does not allow creating a PWMX channel container for that submodule at all, so the trigger source PWMX cannot be selected. Could you confirm whether this restriction in the plugin is intentional, and whether PWMX-based triggering is supposed to be usable in complementary mode? If it is a plugin limitation, it would be worth reporting to the EB plugin team as well. Thanks again for the detailed answer. Re: [S32K396] eFlexPWM configuration issues Thank you for your response, and wait for your confirmation from RTD team. 回复: [S32K396] eFlexPWM configuration issues Hi, Thank you for the clarification and additional testing. Q1 – DISMAP configuration You are correct. My previous statement about the default DISMAP configuration being sufficient was too general. For your application, where only FAULT0 from the L9908 is used, configuring the DIS0A/DIS0B/DIS0X mappings so that only FAULT0 affects the corresponding outputs is the appropriate configuration. I will clarify with the RTD team whether the lack of independent DIS0B/DIS0X configuration in complementary mode is an intentional limitation of the Pwm plugin and whether these settings are planned to be exposed by the configuration tool. Your manual update of DISMAP0 after Pwm_Init() provides a practical workaround in the meantime, provided the register configuration is consistent with the intended fault handling. Q2 – ADC trigger in center-aligned PWM mode Regarding PWMX, the restriction within the same submodule appears reasonable because PWMX uses VAL0/VAL1, which are also involved in the local synchronization/reload configuration. For your use case, I see two practical options: - If sampling exactly at the PWM reload point is required, use the reload trigger directly through TRGMUX. -If an adjustable sampling point is required, use an unused VAL comparator, for example VAL4/VAL5, and configure the trigger through the FlexPWM IP API. Another synchronized FlexPWM submodule could also be used to generate the trigger through its PWMX/VAL0/VAL1 resources, but using an available VAL4/VAL5 comparator appears simpler if no additional submodule functionality is required. I will confirm these options with the RTD team. BR, Petr
View full article
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
[建议] 端口外设引脚列表中应显示引脚名称 向端口外设添加引脚时,最终会得到一个很长的 PortPin 和 UnTouchedPortPin 列表。 列表从 0 开始编号,没有名称标识,因此如果您需要更改某个特定引脚的设置,则必须点击浏览整个列表才能找到它。 当然,现在您可以使用一些外部工具创建一个列表,将 ID 映射到引脚名称/功能,但如果能在实际工具中立即看到这些信息,那就更好了。 我的建议: 在“端口”外围设备 PortPin 和 UntouchedPortPin 列表中,除了 ID 之外,还会显示引脚的名称。名称可以从 PortPin 设置中获取,也可以从 Pin 标签中获取,如果您想进一步自动化整个过程的话。 这种改进也可以应用于目前只显示 ID 的其他列表,例如 PortContainer、DioPort、DioChannels 等。 Eclipse IDE 使用和设置 概述 Re: [suggestion] Pin names should be shown in Port peripheral PortPin list 嗨@daniel_meier 我明白你的意思,仅根据 PortPin 和 UnTouchedPortPin 列表很难确定具体的引脚。谢谢你的建议。我会将您的反馈意见转达给我们的软件团队,以便他们评估是否可以在未来的版本中进行改进。 关于修改特定引脚配置,在最新的 RTD 版本中,应该通过引脚工具而不是外设工具来完成。事实上,大多数与引脚相关的配置已无法通过外设工具进行编辑,必须直接在引脚工具中进行配置。 BR,VaneB Re: [suggestion] Pin names should be shown in Port peripheral PortPin list @VaneB谢谢你的回复。 所以这就解释了为什么我几乎无法在那里更改任何内容(只有“锁定寄存器”和“模式可更改”)。 那是不是意味着,除非我需要上述选项,否则我不需要对 PortContainer 部分进行任何设置? 问题是,始终至少有一个 PortPin 默认设置为 PCR 0,并且无法将其移除。 我使用的是 S32K1 RTD AUTOSAR R21-11 版本 3.0.0。QLP06 适用于 S32K116。 Re: [suggestion] Pin names should be shown in Port peripheral PortPin list 嗨@daniel_meier 理论上来说,是的。但是请注意,您需要将所有已配置的引脚添加到 PortContainer 中,并为每个引脚设置相应的 PortPin PCR 配置。 关于锁定寄存器选项,如果您在引脚工具中为引脚选择“锁定”,则外设工具中的端口驱动程序中相应的引脚也会显示错误。这样可以更容易地识别受影响的引脚,尤其是在处理大量已配置引脚时。 关于您提到的无法拔出的销钉,我不太确定我是否完全理解了情况。启用引脚工具创建新应用程序时,默认添加 PTA0。但是,一旦配置了其他引脚,如果您的应用不需要 PTA0,则可以将其删除。因此,除非您需要保留它以更改或配置其功能以用于您的应用程序,否则删除它应该不会有任何问题。 Re: [suggestion] Pin names should be shown in Port peripheral PortPin list 啊,我现在明白你的意思了。 是的,移除默认密码后,添加其他密码就可以正常工作了。 从您的回复中我了解到,无需向端口外设添加任何引脚,但后来我想起来一位同事在另一个主题中提到,在 RTD 的未来版本中,“引脚”工具将自动向端口外设添加引脚。
View full article
iMX8QM - Interrupt/Poke the a72 Core CPU Hello NXP, We were able to bringup VARISCITE iMX8QM VAR-SOM-SYMPHONY Board with a72 core conly in bootloader.. the bootloader logs are as below, => cpu list Error: get temperature failed! (error = -19) 0: cpu@0 NXP i.MX8QM RevB A53 at 0 MHz - invalid sensor data Error: get temperature failed! (error = -19) 1: cpu@1 NXP i.MX8QM RevB A53 at 0 MHz - invalid sensor data Error: get temperature failed! (error = -19) 2: cpu@2 NXP i.MX8QM RevB A53 at 0 MHz - invalid sensor data Error: get temperature failed! (error = -19) 3: cpu@3 NXP i.MX8QM RevB A53 at 0 MHz - invalid sensor data 4: cpu@100 NXP i.MX8QM RevB A72 at 1596 MHz at 54C 5: cpu@101 NXP i.MX8QM RevB A72 at 1596 MHz at 54C => But we  are unable to Interrupt/Poke the cpu using SGI, the device tree is as below, gic: interrupt-controller@51a00000 { compatible = "arm,gic-v3"; reg = <0x0 0x51a00000 0 0x10000>, /* GIC Dist */       <0x0 0x51b00000 0 0xC0000>, /* GICR */       <0x0 0x52000000 0 0x2000>,  /* GICC */       <0x0 0x52010000 0 0x1000>,  /* GICH */       <0x0 0x52020000 0 0x20000>; /* GICV */ #interrupt-cells = <3>; interrupt-controller; interrupts = ; interrupt-parent = <&gic>; };   Are there any changes to be done for Device Tree?     Re: iMX8QM - Interrupt/Poke the a72 Core CPU Hi @kamohan  This issue has little to do with the Device Tree. The SGI cannot be delivered to the kernel; the cause likely lies in the target core's power-on state or GIC initialization. Here is code in ATF, please make sure you are using PSCI CPU_ON with SMC to power on the A72. int imx_pwr_domain_on(u_register_t mpidr) { int ret = PSCI_E_SUCCESS; unsigned int cluster_id = MPIDR_AFFLVL1_VAL(mpidr); unsigned int cpu_id = MPIDR_AFFLVL0_VAL(mpidr); sc_pm_set_resource_power_mode(ipc_handle, cluster_id == 0 ? SC_R_A53 : SC_R_A72, SC_PM_PW_MODE_ON); sc_pm_req_low_power_mode(ipc_handle, cluster_id == 0 ? SC_R_A53 : SC_R_A72, SC_PM_PW_MODE_ON); if (sc_pm_set_resource_power_mode(ipc_handle, ap_core_index[cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id], SC_PM_PW_MODE_ON) != SC_ERR_NONE) { ERROR("core %d power on failed!\n", cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id); ret = PSCI_E_INTERN_FAIL; } if (sc_pm_cpu_start(ipc_handle, ap_core_index[cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id], true, CPU_START_ADDR) != SC_ERR_NONE) { ERROR("boot core %d failed!\n", cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id); ret = PSCI_E_INTERN_FAIL; } return ret; } void imx_pwr_domain_on_finish(const psci_power_state_t *target_state) { #if (!defined COCKPIT_A53) && (!defined COCKPIT_A72) uint64_t mpidr = read_mpidr_el1(); if (CLUSTER_PWR_STATE(target_state) == PLAT_MAX_OFF_STATE) cci_enable_snoop_dvm_reqs(MPIDR_AFFLVL1_VAL(mpidr)); #endif plat_gic_pcpu_init(); plat_gic_cpuif_enable(); } U-Boot uses only the primary core; the secondary core does not enter U-Boot. Additionally, U-Boot does not enable IRQs and does not configure the GIC CPU interface on the NS side, so SGI signals cannot be received within U-Boot. Best Regards, Zhiming
View full article
SJA1000水晶発振器の周波数誤差を30ppmに設定していましたが、製造中止となったため、50ppmに変更することは可能でしょうか? Re: SJA1000晶振频率误差我们选用的是30ppm,因为停产原因,更换为50ppm是否可以? こんにちは、 SJA1000の場合、±30 ppmから±50 ppmの水晶発振器への切り替えは許容範囲内です。両値はCANバス発振器の許容範囲(±0.5% / ±5,000 ppm、1 Mbit/s)を大きく下回っています。SJA1000に内蔵されている同期ジャンプ幅(SJW)機構は、ノード間の発振器のドリフトを補正します。 交換用の結晶が、データシートで指定されている通り、XTAL1/XTAL2の15 pFコンデンサと同じ公称周波数、同じ負荷静電容量、そして15 pFコンデンサを使用していることを確認してください。 BRs、トーマス
View full article
SJA1000晶振频率误差我们选用的是30ppm,因为停产原因,更换为50ppm是否可以? Re: SJA1000晶振频率误差我们选用的是30ppm,因为停产原因,更换为50ppm是否可以? 您好, 对于 SJA1000 而言,从 ±30 ppm 晶体切换到 ±50 ppm 晶体是可以接受的。这两个值都远低于 CAN 总线振荡器容差限值(1 Mbit/s 时为 ±0.5% / ±5,000 ppm)。SJA1000 内置的同步跳变宽度 (SJW) 机制可以补偿节点之间的任何振荡器漂移。 请确保更换的晶体使用与数据手册中规定的相同的标称频率、相同的负载电容,以及 XTAL1/XTAL2 上的 15 pF 电容器。 BRs,托马斯
View full article
[suggestion] Pin names should be shown in Port peripheral PortPin list When adding pins to the Port peripheral, you'll end up with a long PortPin and  UnTouchedPortPin list. The lists are numbered up from 0 with no visible reference to their name, so if you need to change one specific pin's setting, you'll have to click through the whole list to find it. Of course you could now create a list in some external tool that maps the ID to the pin name/function, but having that information immediately visible in the actual tool would be greatly preferrable. My suggestion: Inside the Ports peripheral PortPin and UntouchedPortPin list, besides the ID show the name of the pin. The name could either be taken from the PortPin setting, or from the Pin label, if you want to further automate the whole process. This improvement could also be applied to other lists that only show an ID at the moment, like PortContainer, DioPort, DioChannels etc. Eclipse IDE Usage and Settings General Re: [suggestion] Pin names should be shown in Port peripheral PortPin list Hi @daniel_meier  I understand your point that it is not easy to identify a specific pin based only on the PortPin and UnTouchedPortPin lists. Thank you for your suggestion. I will share your feedback with our software team so they can evaluate whether improvements can be made in future releases. Regarding the modification of a specific pin configuration, in the most recent RTD releases this should be done through the Pin Tool rather than the Peripherals Tool. In fact, most pin-related configurations are no longer editable from the Peripherals Tool and must be configured directly in the Pin Tool. BR, VaneB Re: [suggestion] Pin names should be shown in Port peripheral PortPin list @VaneB Thanks for the reply. So that explains why I can barely change anything there (only 'Lock Register' and 'Mode Changeable'). Does that mean I don't have to set up anything in the PortContainer section, unless I need the above options? Issue is, there's always at least one PortPin that defaults to PCR 0 and that cannot be removed. I am using S32K1 RTD AUTOSAR R21-11 Version 3.0.0 QLP06 for S32K116. Re: [suggestion] Pin names should be shown in Port peripheral PortPin list Hi @daniel_meier  Technically, yes. However, please consider that you need to add all the configured pins to the PortContainer, setting the corresponding PortPin PCR configuration for each pin. Regarding the Lock Register option, if you select "Locked" for a pin in the Pins Tool, an error will also be displayed for the corresponding pin in the Port driver within the Peripherals Tool. This can make it easier to identify the affected pin, especially when working with a long list of configured pins. Regarding the pin you mentioned that cannot be removed, I am not sure I fully understood the situation. When creating a new application with the Pins Tool enabled, PTA0 is added by default. However, once additional pins are configured, PTA0 can be deleted if it is not required by your application. Therefore, you should not have any issues removing it unless you need to keep it to change or configure its functionality for your application. Re: [suggestion] Pin names should be shown in Port peripheral PortPin list Ah, I see now what you mean. Yes, removing the default pin works when I add others. I took from your response that it will not be necessary to add any pins to the Port peripheral, but then I remembered that a colleague mentioned in another topic that the Pins tool will automatically add pins to the Port peripheral in future versions of the RTD.
View full article
KW45B41Z-LOC:アプリケーションが実行されるとSWDが失敗します;ISP/SW4経由でのみフラッシュ可能です;アプリがもはや実行されず、アドバンテージもできません。 ハードウェアとソフトウェア 基板:KW45B41Z-LOC、基板/PCBリビジョン[記入]、マニュアル:KW45B41Z-LOCUM Rev. 2 ホスト:Windows、MCUXpresso IDE 25.6.136、リンクサーバー 26.9.130、SPDK 3.12.0(blhost) SDK: kw45b41z-loc SDK パッケージ (フォルダ名のバージョン25.12.0) MCU-Link:オンボード、CMSIS-DAPファームウェアV3.160、後のV3.174 USBのみ(J3)から電源供給されており、CAN 12V電源はコネクテッドされていません ジャンパー:デフォルト値は表3に従い、JP12は開放、JP16はISP接続時のみ短絡。[JP1、JP2、JP3、JP10、JP13、JP14、JP21、JP22、JP25の実際のポジションを確認してください。] 問題 SWDのデバッグやKW45へのフラッシュアクセスは、アプリケーションがフラッシュ状態にあると失敗します。フラッシュ書き込みは、チップが最初にSW4でISPモードに保持されている場合にのみ機能します。 私たちが観察したこと 初期の故障 (標準kw45b41zloc_wireless_uart_freertos):プローブが接続(DAP ID 6BA02477、Cortex-M33、「プロセッサはセキュアモード」)、その後DAPアクセスでNn(05)ワイヤーACKフォルトが発生し、接続時に失敗します。消去と書き込みはどちらも同じように失敗する。 ISP の動作:リセット中に JP16 を短絡し SW4 を保持した状態で、blhost -p COMxx,115200 -- get-property 1 は Success (K3.1.0) を返します。そして flash-erase-all は成功を返します。SW4が保持されていない状態では、pingに対する応答はありません。 消去後、フラッシュ書き込みは正常に動作しますが、エラーで終了します。フラッシュ書き込みは完了します(「フラッシュプログラムの概要」、「フラッシュへの書き込みが正常に完了しました」)。最後のステップは次の条件で失敗します: システムリセットと停止ターゲットで実行を開始し、ストールアドレスを付与しました...DAPアクセスにおけるワイヤーACKフォルト...警告 - プロセッサが停止しませんでした...フラッシュ - システムリセット失敗 - Ep(04)。プロセッサーを停止できません。 これは、標準のLOC wireless_uart_freertosと、EVK wireless_uart_bmから派生したCAN_BLEプロジェクトの両方で発生します。 アプリが実行されると、SWDは再び失われます。 典型的なエラーは、Ee(42) コアに接続できません、Em(17) Location 0x20008838でのアクセス後にデバッグポートがアクセスできない、Em(12) Target Location 0x20008848でのデバッグアクセス拒否です。この現象が発生している間、LED1/LED2が点滅していた時期がありました。 J-Linkのファームウェアテスト: MCU-Linkを一時的にJ-Linkに切り替えました。SWDは、ブランクチップでも失敗しました(DM-AP IDCODEが間違っています 0x00000000/0xFFFFFFFF、VTref 3.300 V)。J-LinkのVCOMポート経由のISP接続は引き続き機能していた。CMSIS-DAP V3.174に戻しました。 NBU:消去後、blhost ... receive-sb-file (成功) を使用して kw45b41_nbu_ble_hosted.sb3 を送信しました。これがLOCボード上のwireless_uartに適したイメージかどうかは確信が持てません。 現在の状態:フラッシュ後、再接続後(JP16取り外し、SW4非保持、SW1押下): LED1/LED2が点滅せず、VCOMポート(115200 8N1)から出力がありません。 ボードはBLE経由で広告を配信しません D3は暗く、D7はフェードしています(MCU-Linkの通常モード) Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、@priyanshua1 さん。 より良くサポートするために、以下の情報を教えていただけませんか? -エラーが起こる前に、デバイスのセキュリティ機能を設定するためのアプリケーションノートや手順を踏みましたか? エラーが発生する前に、どの画像がフラッシュされましたか? この機器に以前にヒューズがプログラムされたことはありますか? -デバイスに、あなたが書き込んだイメージが実行されていないことは理解しています。私の理解は正しいでしょうか? -大量消去を行い、何の修正もせずにled_blinky例をフラッシュして結果を教えていただけますか? また、最新のSDKsリリースへの移行もおすすめします。最新のバグ修正、改善、全体的な改善が含まれています。最新のSDKsリリースは Visual Studio CodeのMCUXpresso拡張機能で完全にサポートされており、これもぜひ検討することを強くお勧めします。最新のSDKバージョンをサポートするだけでなく、Zephyrやマターなどのオープンスタンダードをサポートするモダンで最適化された開発環境を提供し、その他いくつかの利点も備えています。興味があれば、その利点の概要をファ クトシートでご覧いただけます。 BR ハビブ Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、 @priyanshua1 さん、 問題がデバッグ接続に関連しているかどうか判断するために、 Secure Provisioning Toolを使って以下のテストを実施していただけませんか?SPTは、NXP MCUデバイス向けのブート可能なイメージの生成とプロビジョニングを簡素化するGUIベースのアプリケーションです。 SPTの「 ターゲットプロセッサとの接続 」機能を使って、以下の手順に従ってデバッガ接続をテストしていただけますか? 現在使用している手順と同じ手順で、KW45B41Z-LOCボードのISPモードに入ります。 SPTでターゲットプロセッサとの接続ウィンドウを開きます。 適切なCOMポートを選択してください。 「テスト」をクリックして、結果を教えてください。 テスト結果がOKと表示されている場合は、.elfを使って「 Booting plain」または「CRCイメージ 」セクションで記載されている手順に従ってください構築済みのLEDブラインドプロジェクトのファイル。.elfは見つかりますVS Code のデバッグフォルダ内のファイル。   Secure Provisioning Toolに馴染みがない方のために、SPTユーザーガイドには 新しいワークスペースの作成に関するセクションがあり、始めるのに役立つかもしれません。 BR ハビブ Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、 ご質問への回答は以下のとおりです。 エラーが発生する前に、ボードにはWireless UARTおよびFlexCANアプリケーションがフラッシュされていました。しかし、デバイスのセキュリティ設定には変更はありませんでした。 このデバイスにはヒューズは設定されていません。 はい、現在、画像点滅機能が正常に動作していません。 提案通り、MCUXpresso for VS Codeをインストールし、最新のKW45-LOC SDK(バージョン26.09.00)をダウンロードしました。しかし、依然として同じエラーが発生しています。 [ 2026-10-27T13:03:36.504 ] [proc] [info]コマンド: C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-10-27T13:03:36.511 ] [proc] [ info ]コマンド: C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [2026-10-27T13:03:38.049] [プロック] [情報] コマンド:C:\ユーザー\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] [プロック] [情報] Cmd: C:\NXP\MCUXpressoIDE_25。6.136\ide\tools\bin\arm-none-eabi-gcc.exe --バージョン [2026-10-27T13:03:38.328] [プロック] [情報] 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] [プロック] [情報] コマンド:C:\NXP\MCUXpressoIDE_25。6.136\ide\tools\bin\arm-none-eabi-gcc.exe --バージョン [ 2026-10-27T13:03:40.870 ] [proc] [info]コマンド: taskkill /PID 28160 /F /T [ 2026-10-27T13:03:41.291 ] [proc] [info]コマンド: pkill -P 28160 [ 2026-10-27T13:03:41.296 ] [proc] [error] pkill がコードErrorで終了しました: spawn pkill ENOENT [ 2026-10-27T13:03:41.296 ] [proc] [error] [ 2026-10-27T13:03:41.296 ] [エラー] [ 2026-10-27T13:03:41.296 ] [proc] [info]コマンド: kill - 9 28160 [ 2026-10-27T13:03:41.299 ] [proc] [error] kill がコードErrorで終了しました: spawn kill ENOENT [ 2026-10-27T13:03:41.299 ] [proc] [error] [ 2026-10-27T13:03:41.300 ] [proc] [error] kill がコード - 4058で終了しました [ 2026-10-27T13:03:41.300 ] [proc] [error] [ 2026-10-27T13:03:41.300 ] [proc] [error] pkill がコード-4058で終了しました [ 2026-10-27T13:03:41.300 ] [proc] [error] [ 2026-10-27T13:04:19.506 ] [proc] [info]コマンド: C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-10-27T13:04:19.513 ] [proc] [ info ]コマンド: C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [ 2026-10-27T13:04:20.830 ] [proc] [ info ]コマンド: C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [ 2026-10-27T13:04:20.840 ] [proc] [info]コマンド: C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-10-27T13:04:21.776 ] [proc] [ info ]コマンド: 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がコード4294967295で終了しました [2026-10-27T13:04:30.403] [プロック] [エラー] ファームウェアアップデート「チェック」:必須不可 - 強制更新は「LinkServer probe #1 update forced」で実行可能です NS:LinkServer RedlinkMulti ドライバ v26.9(2026年9月18日 19:34:33 - crt_emu_cm_redlink.exeビルド1382) PC: ( 0 ) リモート設定を読み込んでいます Wc(03)。キャッシュサポートなし。 Nc: C:\Users\HONDAC~1\AppData\Local\Temp\tmpa5n5cx_7\crt_directory.xmlで汎用ディレクトリXMLファイルを発見 PC: ( 5 ) リモート設定完了 NC:既存のLinkServerプロセスに再接続しました。 NC:外部 からサーバー起動したプローブ1コア0に接続中、報告:     「イー(42)。コアに接続できません。」 NC:再挑戦中... NC:既存のLinkServerプロセスに再接続しました。 NC:サーバーは正常ですが、プローブ1コア0への接続ができません(3回試み後) - EE(42)。コアに接続できませんでした。 Wc: ============= スクリプト: KW45B41_connect.scp ============= Wc: KW45B41 接続スクリプト Wc: プローブインデックス = 1に接続中 Wc: DpID = 6BA02477 Wc:エラー: APが準備できていません Wc: ============= スクリプト終了 =============================== NC: プローブ ファームウェア:MCU-LINK 搭載(r0E3) CMSIS-DAP V3.174 (NXP Semiconductors) NC: シリアルナンバー: WXZBCIEABA3EA NC: VID:PID: 1FC9:0143 NC: USB パス: 0001:0014:00 Nc: 接続失敗 - Em(01)。コアインデックスで選択されたMEM-APが見つかりません(ターゲット電源確認)。再試行 Ed:02: 接続時に失敗:Em(01)。コアインデックスで選択されたMEM-APが見つからない(ターゲット電源確認) Et: プローブ( 0😞 接続済み&リセット済み。以前の状態:未接続。DpID: 6BA02477。CPU ID: 00000000 。 情報: NC: 最後のスタブエラー 0: OK NC:最後の固定エラー:0x0 AIndex:0 NC:デバッグバス(MemAp)を選択していません NC:DAP速度テストの未実行または失敗 Nc: デバッグ プロトコル: SWD。RTCK: 無効化。ベクターキャッチ: 無効化。 PC: ( 100 ) ターゲット操作失敗 -------------------- フラッシュ消去の概要: エラー: フラッシュ: 0x00000000 - 0x00100000 ( 0x00100000バイト) [ KW45B41.cfx ] 情報: KW45B41Z83xxxA:KW45B41Z-LOC と完全に一致するものが見つかりました 情報:選択されたデバイス KW45B41Z83xxxA:KW45B41Z-LOC 情報:選択プローブ#1 WXZBCIEABA3EA(MCU-LINK搭載(r0E3)CMSIS-DAP V3.174) 情報:MCU-Linkファームウェアアップデート「確認」:プローブ([WXZBCIEABA3EA] [MCU-LINK 搭載(r0E3) CMSIS-DAP V3.174])は付属のファームウェアバージョンと同じバージョンをすでに動作させています[3.174] エラー:エラー: フラッシュ: 0x00000000 - 0x00100000 ( 0x00100000バイト) [ KW45B41.cfx ] ERRMSG:例外: フラッシュ操作がコード1で終了しました 重大:重大なエラー ERRMSG:例外: 1 つ以上のフラッシュメモリの消去に失敗しました その他の観察事項: SPSDKコンポーネントを使用してメモリを消去したり、NXPデバイスをスキャンしたりする場合、ボードを検出したり消去操作を進めたりするには、JP16ジャンパーをショートさせ、SW4を押し続ける必要があります。 この行動の原因についてアドバイスをいただけますか?また、今後の問題解決のためのステップを教えていただけませんか? PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- get-property 1 SpsdkNoDeviceFoundError: パラメータ 'port=COM19, baudrate=115200, timeout=5000' のインターフェース 'uart': デバイスはポート COM19 で検出されましたが、115200 ボーで PING に応答しませんでした。デバイスがブートローダーモードになっていることを確認してください。 詳細はデバッグログファイル C:\Users\Hondaconceptbench\AppData\Local\nxp\spsdk\3.12.0\Logs\debug.log をご覧ください PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- get-property 1 応答ステータス = 0(0x0) 成功。 応答ワード 1 = 1258488064 (0x4b030100) 現在のバージョン = K3.1.0 PS C:\Users\Hondaconceptbench>blhost -p COM19,115200 -- フラッシュ消去 SpsdkNoDeviceFoundError: パラメータ 'port=COM19, baudrate=115200, timeout=5000' のインターフェース 'uart': デバイスはポート COM19 で検出されましたが、115200 ボーで PING に応答しませんでした。デバイスがブートローダーモードになっていることを確認してください。 詳細はデバッグログファイル C:\Users\Hondaconceptbench\AppData\Local\nxp\spsdk\3.12.0\Logs\debug.log をご覧ください PS C:\Users\Hondaconceptbench>blhost -p COM19,115200 -- フラッシュ消去 応答ステータス = 0(0x0) 成功。 PS C:\Users\Hondaconceptbench> Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 最初 の 画像 では 、 テスト 開始 時 に SW4を 手 に持って おり 、 テスト は 正常 に 完了しました 。2 番目の 画像 では 、 SW4を 手に持ってい なかった ため 、 テスト は 失敗 し まし た 。 以下は、2つのテストの結果です。 1. SPT接続テスト ISPモード(JP16を短絡、リセット中はSW4を保持)、COM19、115200:結果OK 。モード: ROMブートローダー、ライフサイクル: OEMオープン、KW45Z41083一致。スクリーンショットを添付しました。 2. プレーンイメージを起動する kw45b41zloc_led_blinky プロジェクトから署名なしのプレーンイメージを作成し (ELF を BIN に変換し、ブート可能なイメージを作成しました)、SPT の「イメージの書き込み」で書き込みました。結果は成功でした(プロパティ取得、事前消去、メモリ書き込みのすべてが成功しました)。ログを添付しました。 書き込み後、SW4を解放し、JP16を取り外し、基板の電源を入れ直し、SW1を押しました。LEDは点滅しないため、基板はアプリケーションを目に見えて実行していません。 blhost -p COM19,115200 -- get-property 1 (SW4 が保持されていない場合):応答 問題の概要 インターネット接続とプログラミング作業。失敗は、アプリケーションがフラッシュ中であるたびに、SWD上でMCUXpresso/LinkServer(「DAPアクセスのWire ACK障害」、「プロセッサを停止できない」、「Debugポートアクセス不可」)で発生します。フラッシュメモリが消去された状態で、SWDは接続してフラッシュ書き込みを行うが、最終的なリセットおよび停止ステップが失敗する。 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、@priyanshua1 さん。 現在、ワークスペースでKW45Z41083プロセッサを使っているのに気づきました。この機器を使用する特別な理由がありますか?例えば、AN14003に準拠していますか? KW47-LOCは KW45B41Z-LOCボードユーザーマニュアルの第1.2章「デバイス機能」に記載されているように、KW45B41Zプロセッサを使用しています。KW45B41Zプロセッサーを使って新しいワークスペースを作成し、先述の手順を繰り返していただけませんか?今回は、フラッシュプログラマツールを使用してイメージを書き込む前に、オンチップのフラッシュメモリ全体を消去してください。 その後、以下の情報を提供していただけますか: イメージを書き込んだ際に生成されるログ。 フラッシュプログラマツールを使用して、イメージが書き込まれたメモリ領域を読み取った結果。 また、OTP/IFR設定を使ってプロセッサのOTP値を教えていただけますか? BR ハビブ Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、@priyanshua1 さん。 情報ありがとうございます。 ログを見る限り、イメージは正しく書き込まれたようです。Flash Programmerツールを使って画像を表示できますか?このツールはツールウィンドウで見つけることができます: さらに、以下の点についても説明していただけますか? 最後のステップでも同じ挙動が見られましたか?もしそうなら、同じ手順をhello_world例で繰り返していただけますか?ただし今回は.elfを使ってくださいVS Code から生成されたファイルですか?ターミナルに「Hello World」と表示されますか? テストを行う前に、ジャンパーが KW45B41Z-LOCボードユーザーマニュアル の図3「KW45B41Z-LOCジャンパー」に示されている通りに設定されているか確認していただけますか? このボードが一度も再設計されたことがあるか確認していただけますか?もしそうなら、リワークについてもう少し詳しく教えていただけますか? BR ハビブ Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、 @Habib_MS さん。 入力ミスで申し訳ありません。 正しいプロセッサでテストを行いましたが、接続テストは選択時に失敗しましたKW45B41Z5プロセッサとして。ただしテスト接続KW45B41Z8通過しています。参照のために添付のログと画像をご参照ください。 イメージログの書き込み: ELFイメージをBINに変換しました:source_images\kw45b41zloc_led_blinky.bin ELFイメージをBINに変換しました:source_images\kw45b41zloc_led_blinky.bin 操作の状況:成功:新しいワークスペースが作成されました:C:\ユーザー\Hondaconceptbench\secure_provisioning00 ELF画像を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 ### スクリプト:ビルディングイメージ:C:\ユーザー\Hondaconceptbench\secure_provisioning00\build_image_win.bat ### Create Master Boot Image using nxpimage tool ### 警告:spsdk.image.mbi.mbi:MBI-kw45b41z8-MbiImageTypeEnum.PLAIN_IMAGE-xip(警告) ======================================== TrustZone設定(警告)========================================= TrustZoneの設定および設定タイプを検証します ==================================================================================================================== 機能「tz」検証(警告) 実装(警告):未実装 (開始から1808ms、mbi.py:689) 成功。(マスターブートイメージ:C:/Users/Hondaconceptbench/secure_provisioning00/bootable_images/kw45b41zloc_led_blinky.bin作成) ### 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 ### スクリプト:画像を書く:C:\ユーザー\Hondaconceptbench\secure_provisioning00\write_image_win.bat ### SCRIPT arguments: pre_erase ### 入力引数を解析 ### ### 接続を確認し ### 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 ### フラッシュを消去 ### ### リセット後のアプリケーション開始を防ぐためにフラッシュを事前に消去 ### 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 ### 画像を書く ### 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 ### スクリプト『画像を書く』の結果:成功(リターンコード = [0]成功) 操作の状況:成功:画像の書き込み Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、 以下は、KW45B41Z83ワークスペースでの結果です(すべてISPモード:JP16を短絡、リセット中はSW4を保持)。 Flash Programmer:全て消去し、署名なしのプレーンイメージを書き込み、0x00000000-0x000027DF を読み取りました (ステータス: 成功)。ベクタテーブルが存在します(SP 0x2001C000、読み出し時のリセットベクタ 0x00000195)。スクリーンショットを添付しました。 起動結果: SW4を解放し、JP16を取り外し、電源を入れ直した後、LED1(PTC0)は点滅しません。このプロジェクトのpin_muxは、PTC0をLED1用のGPIO出力として設定します。 hello_world: .elf を使用して同じ手順を繰り返します。MCU-Link VCOMポート(115200 8N1)には「Hello World」は存在しません。 さらに、VS Code から、GDB は 0x14816fdc in ?? () とエラー 103: GDB の起動に失敗しました: フラッシュ操作の終了エラーを報告します。ターミナル出力を添付しました。 GDBを起動中:「C:\\NXP\MCUXpressoIDE_25.6.136\\IDE\\tools\\bin\\arm-none-eabi-gdb.exe」-q --interpreter=mi2 重要: 「launch.json」で「showDevDebugOutput」を「raw」に設定してください。すべてのGDBトランザクションを表示するには。 GDBサーバーを起動しています: "C:\\NXP\\LinkServer_26.9.130\\LinkServer.exe"-l3 gdbserver "KW45B41Z83xxxA:KW45B41Z-LOC" --probe WXZBCIEABA3EA --gdb-port 2336 --no-boot --core primary 「C:\NXP\LinkServer_26.9.130\LinkServer.exe」からの出力については、ターミナルタブ(GDBサーバーコンソール)を確認してください。 出力ラジックスは10進数10、16進数a、8進数12に設定されました。 入力ラジックスは10進数10、16進数a、8進数12に設定されました。 NMI_Handler () は 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 プログラムが停止したのは、おそらくデバッガによるリセットや停止が原因だったのでしょう。 エラー103:GDBの起動に失敗しました:フラッシュ操作の終了エラー(ターゲット-downloadから) ジャンパー:図3に一致。 MCU-Linkファームウェア: MCU-LINK搭載(r0E3)CMSIS-DAP V3.174 VS Codeのlinkserverフラッシュプログラマーを使ってhelloworld.elfをフラッシュする際のログが発生します。 [ 2026-11-09T15:04:18.756 ] [proc] [ info ]コマンド: C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [ 2026-11-09T15:04:18.767 ] [proc] [info]コマンド: C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-11-09T15:04:20.075 ] [proc] [info]コマンド: C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-11-09T15:04:20.083 ] [proc] [ info ]コマンド: C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [2026-11-09T15:04:21.857] [プロック] [情報] コマンド:C:\NXP\LinkServer_26。9.130\LinkServer.exe フラッシュ --プローブ WXZBCIEABA3EA --no-boot KW45B41Z83xxxA:KW45B41Z-LOC ロード C:\ユーザー\Hondaconceptbench\Documents\MCUXpresso_VSC\SDK_26_09_00_KW45B41Z-LOC\mcuxsdk\examples\demo_apps\hello_world\debug\hello_world.elf --消去-all [ 2026-11-09T15:04:25.241 ] [proc] [info] INFO : KW45B41Z83xxxA:KW45B41Z-LOC と完全に一致するものが見つかりました 情報:選択されたデバイス KW45B41Z83xxxA:KW45B41Z-LOC 情報:選択プローブ#1 WXZBCIEABA3EA(MCU-LINK搭載(r0E3)CMSIS-DAP V3.174) 情報:MCU-Linkファームウェアアップデート「確認」:プローブ([WXZBCIEABA3EA] [MCU-LINK 搭載(r0E3) CMSIS-DAP V3.174])は付属のファームウェアバージョンと同じバージョンをすでに動作させています[3.174] [ 2026-11-09T15:04:25.241 ] [LinkServer] [info] LinkServer のフラッシュ操作が正常に完了しました: ファームウェアアップデート「チェック」:必須不要 - 強制更新は「LinkServer probe #1 update forced ed」で実行可能です NS:LinkServer RedlinkMulti ドライバ v26.9(2026年9月18日 19:34:33 - crt_emu_cm_redlink.exeビルド1382) PC: ( 0 ) リモート設定を読み込んでいます Wc(03)。キャッシュサポートなし。 Nc: C:\Users\HONDAC~1\AppData\Local\Temp\tmp62t_evtb\crt_directory.xmlで汎用ディレクトリXMLファイルを見つけました PC: ( 5 ) リモート設定完了 NC:既存のLinkServerプロセスに再接続しました。 Wc: ============= スクリプト: KW45B41_connect.scp ============= Wc: KW45B41 接続スクリプト Wc: プローブインデックス = 1に接続中 Wc: DpID = 6BA02477 Wc: APID = 0x84770001 Wc: ============= スクリプト終了 =============================== NC: プローブ ファームウェア:MCU-LINK 搭載(r0E3) CMSIS-DAP V3.174 (NXP Semiconductors) NC: シリアルナンバー: WXZBCIEABA3EA NC: VID:PID: 1FC9:0143 Nc: USB パス: 0001:0016:00 NC:良いコアを探した後にコア0のメモリを使う PC:( 30)エミュレーター接続済み Nc:プロセッサがセキュアモードに入っています PC: ( 40 )デバッグ停止 PC: ( 50 ) CPU ID Nc: デバッグインターフェースタイプ = CoreSight DP(DAP DP ID 6BA02477)over SWD TAP 0 Nc: プロセッサタイプ = DAP AP 0上のCortex-M33(CPU ID 00000D21) Nc: h/w ブレークポイントの数 = 8 Nc:フラッシュパッチ数 = 0 Nc: h/w ウォッチポイント数 = 4 NC: プローブ(0)😞 接続済み&リセット済み。DPID: 6BA02477。CPUID: 00000D21。情報 : Nc: デバッグ プロトコル: SWD。RTCK: 無効化。ベクターキャッチ: 無効化。 Ns: CoreSightデバッグROMの内容: NC:RBASE E00FF000: CID B105100D PID 04000BB4C9 ROM(タイプ 0x1) NC: ROM 1 E000E000: CID B105900D PID 04000BBD21 CSt ARM ARMv8-M タイプ 0x0 その他 - 未定義 NC: ROM 1 E0001000: CID B105900D PID 04000BBD21 CSt ARM DWTv2 タイプ 0x0 その他 - 未定義 NC: ROM 1 E0002000: CID B105900D PID 04000BBD21 CSt ARM FPBv2 タイプ 0x0 その他 - 未定義 NC:ROM 1 E0000000: CID B105900D PID 04000BBD21 CSt ARM ITMv2 タイプ 0x43 トレース ソース - バス NC: ROM 1 E0042000: CID B105900D PID 04000BBD21 CSt ARM CTIv2 タイプ 0x14 デバッグ 制御 - トリガー( 例)ECT NC:NXP:KW45B41Z83xxxA NC:DAPのストライドは 1024 バイト(256 語) NC:v.2オンチップフラッシュメモリKW45B41.cfxの検査済み NC: 画像 『FMU 2026年9月18日 19:14:27』 NC:フラッシュドライバーの開 KW45B41.cfx NC:VECTRESETを要求しましたが、ARMv8-M CPUではサポートされていません。代わりにソフトリセットを使用してください。 NC:フラッシュドライバーをSOFTリセットで実行する NC:フラッシュバリアント 「FMU 1MB」 検出(1MB = 128*8K 0x0) NC:フラッシュドライバーを閉じる KW45B41.cfx NC:点検済みv.2オンチップフラッシュメモリ KW45B41_S.cfx NC: 画像 「FMU(安全)2026年9月18日 19:14:02」 NC:フラッシュドライバーを開く KW45B41_S.cfx NC:VECTRESETを要求しましたが、ARMv8-M CPUではサポートされていません。代わりにソフトリセットを使用してください。 NC:フラッシュドライバーをSOFTリセットで実行する NC:フラッシュバリアント 「FMU 1MB(Secure)」 検出(1MB = 128*8K 0x10000000時) NC:フラッシュドライバーの終了 KW45B41_S.cfx PC: ( 65 ) チップセットアップ完了 PC: ( 70 ) ライセンスチェック完了 NT: 'hello_world.elf' ELF 0x00000000 len 0x37F4 NC:フラッシュドライバーの開 KW45B41.cfx NC:VECTRESETを要求しましたが、ARMv8-M CPUではサポートされていません。代わりにソフトリセットを使用してください。 NC:フラッシュドライバーをSOFTリセットで実行する NC:フラッシュバリアント 「FMU 1MB」 検出(1MB = 128*8K 0x0) Pb: ( 0 ) 大量消去フラッシュ Pb: 1/1 ( 0 ) 0x00000000のセクター0 - 1に14324バイトを書き込んでいます Ps: ( 0 ) at 00000000 : 0バイト - 0 / 14324 Ps: ( 100 ) 00000000 : 16384バイト - 16384 / 14324 NC: 00004000 100%クリア(14324中16384件) NC:セクター数:2、変更なし:0、合計:2 NC:フラッシュドライバーを閉じる KW45B41.cfx Pb: ( 100 ) Flashの書き込みが正常に完了しました。 Nt:0x37F4バイトを380ms(約37kB/s)でロード Nt:ターゲットをリセット(システム) Nc:ストールアドレスを用いたシステムリセットによる実行開始 NC:起動ROMストール用にウォッチポイント1を0xE000ED08で再読み込む Nc: state - リセット要求を実行しているか、それに従う - 状態の再読み失敗 - rc Nn(05)。DAPアクセスにおけるワイヤーACK故障 NC:デバッグセッション終了のエラー - Nn(05)。DAPアクセスにおけるワイヤーACKフォルト 結論と要望: KW45B41Z-LOCボードのトラブルシューティングにかなりの時間を費やしてきましたが、残念ながらハードウェアの問題が解決されていないため、プロジェクトの活動が遅れています。 さらに、私たちのプロジェクト要件には到着角度(AoA)とチャネルサウンディング(CS)の両方が含まれており、これらはKW45 LOCで完全にはサポートされていません。これらの制約にもかかわらず、私たちはボードの評価に取り組み続けています。しかし、現時点では非常に基本的な段階にとどまり、期待された結果を達成できていません。 すでに費やされた時間とプロジェクトスケジュールへの影響を考慮し、NXPには最新のハードウェア改訂版を搭載したBLE開発ボードの提供をお願いしたいと思います。これにより、さらなる遅延なく開発活動を再開できます。 既存のKW45B41Z-LOC基板をNXP社に返送し、さらなる検査と故障解析を依頼する用意があります。 迅速なご対応とサポートをいただければ幸いです。この問題の解決にあたり、プロジェクト活動を再軌道に乗せるようお願いいたします。 よろしくお願いいたします。 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or またこんにちは、@priyanshua1。 KW45-LOCは、完全なBluetoothチャネルサウンディング仕様をサポートするために必要なすべての機能を含んでいないため、実験および試作のためのリファレンスデザインとして提供されました。さらに、NXP の製品ページに記載されているように、KW45-LOCはもはや製造されていません。 代替案として、オートモーティブおよびIoTアプリケーション向けのBluetoothチャネルサウンディングを実証するために設計された KW47-LOCを検討してください。設計は、アンテナダイバーシティをサポートするために2つの搭載モノポールPCBアンテナとRFスイッチを組み込んでいます。 これは KW47 プロセッサがチャネルサウンディングをサポートしているため可能です。また、メモリ容量の増加、最大64MHzで動作する専用のArm Cortex-M33無線コア、Bluetooth LE 6.xのサポートなど、KW45に比べていくつかの強化も提供しています。 ご興味があれば、KW45とKW47の機能の違いや移行に関する考慮事項について、 AN14796もご参照ください。 BR ハビブ Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、 情報ありがとうございます。 共有したログやテスト結果が、問題の根本原因を特定したり分析したりするのに役立ったか教えていただけますか?もし十分な情報が得られた場合は、適切なトラブルシューティングと復旧手順についてご提案いただければ幸いです。情報が不十分な場合は、調査を進めるために弊社側で必要な追加の措置やデータについてお知らせください。 さらに、 KW47基板のサンプルを送付していただきたいです。KW45の問題が解決されている間、KW47ボードへのアクセスにより、さらなる遅延なく開発と評価活動を継続できるでしょう。 これはNXPにとっても有益であり、チャネル サウンディング(CS)、AoA、CAN、BLE、UARTおよびその他の関連機能を含む幅広いKW47機能を幅広く評価する予定です。調査結果と使用経験に基づいた詳細なフィードバックを提供させていただきます。 この件についてご検討いただければ幸いです。ご指導をお待ちしております。 再開まで今しばらくお待ちください。 よろしくお願いします、 プリヤンシュ Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or こんにちは、@priyanshua1 さん。 プロジェクトにはチャネルサウンディングが必要なため、最も推奨される方法はKW47-LOCに開発を集中させることです。これはこのようなチャネルサウンディングの実験を目的に特別に設計されました。KW45はBluetooth LE 6.0をサポートしていますが、チャネルサウンディングに必要な機能は含まれていないため、この種のアプリケーションには KW47への移行を強くお勧めします。 プロジェクトを滞りなく進めることが、貴チームにとってどれほど重要か、私は理解しています。KW47-LOCは公式のNXP製品ページから入手可能で、購入 オプションが確認できます。ボードができたら、チャンネルサウンディング評価中に出た技術的な質問があれば自由に投稿してください。 とはいえ、情報を見る限り、この挙動はデバイスがROMブートローダーに留まり、フラッシュでアプリケーションにジャンプしないことに関係しているようです。KW45 RM(15.2.8節「デバッグセッションの開始」)によると、CM33のデバッグアクセスポートはROMブートローダーの実行中およびROMがISPモードに入る際に無効化されます。これは、GDBによって報告されたPC(0x14816fdc)がROMアドレス範囲内にあることを含め、あなたが見ている状況と一致します。 ROMがイメージにジャンプしない理由を理解するために、IFRに保存されているROM構成を確認したいと思います。OTP/IFR設定を使ってSecure Provisioning ToolからIFRの値を送ってもらえますか? さらにいくつか質問させてください。   最初の投稿で言及されたCAN_BLEプロジェクトについて、もう少し詳しく教えていただけますか?また、そのプロジェクトや他のアプリケーションでOTAP機能に関わったことはありますか? 先ほど言及されたFlash Prograrのスクリーンショットは見つかりませんでした。Flashプログラマーツールを使って画像が見えるか確認していただけますか? このボードが一度も再設計されたことがあるか確認していただけますか?もしそうなら、リワークについてもう少し詳しく教えていただけますか? BR ハビブ
View full article
KW45B41Z-LOC:应用程序运行后SWD失效;只能通过ISP/SW4刷写;应用程序无法运行或显示任何提示信息。 硬件和软件 电路板:KW45B41Z-LOC,电路板/PCB版本[填写],手册KW45B41Z-LOCUM Rev. 2 主机:Windows,MCUXpresso IDE 25.6.136链接服务器 26.9.130SPSDK 3.12.0(blhost) SDK:kw45b41z-loc SDK 软件包(文件夹名称中的版本为 25.12.0) MCU-Link:板载,CMSIS-DAP 固件版本 V3.160,后续版本为 V3.174 仅通过 USB (J3) 供电,未连接 CAN 12V 电源。 跳线:默认值见表 3,JP12 开路,JP16 仅对 ISP 短接。[请确认 JP1、JP2、JP3、JP10、JP13、JP14、JP21、JP22、JP25 的实际位置。] 问题 当应用程序位于闪存中时,SWD 调试和对 KW45 的闪存访问都会失败。只有当芯片首先通过 SW4 保持在 ISP 模式时,刷写程序才能正常工作。 我们观察到 初始失败(库存 kw45b41zloc_wireless_uart_freertos):探针连接(DAP ID 6BA02477,Cortex-M33,“处理器处于安全模式”),然后出现 Nn(05) DAP 访问中的 Wire ACK 故障和连接失败。擦除和编程都会出现同样的失败情况。 ISP 工作正常:在 RESET 期间短接 JP16 并按住 SW4,blhost -p COMxx,115200 -- get-property 1 返回 Success (K3.1.0),flash-erase-all 返回成功。如果没有SW4,ping命令就不会响应。 擦除后,烧录过程可以进行,但最终出现错误:闪存写入完成(“闪存程序摘要”、“闪存写入成功”)。最后一步失败,并出现以下错误: 使用系统 RESET 和停止目标启动执行,并指定一个停止地址... DAP 访问中的线路 ACK 故障... 警告 - 处理器未停止... 闪存 - 系统 RESET 失败 - Ep(04)。无法停止处理器。 无论是标准的 LOC wireless_uart_freertos 还是我们基于 EVK wireless_uart_bm 开发的 CAN_BLE 项目,都会出现这种情况。 应用程序运行后,SWD 再次丢失:典型错误为 Ee(42) 无法连接到核心,Em(17) 访问位置 0x20008838 后调试端口无法访问,以及 Em(12) 目标拒绝访问位置 0x20008848 的调试端口。在此期间,LED1/LED2 曾出现闪烁现象。 J-Link 固件测试:我们短暂地将 MCU-Link 切换到了 J-Link 固件。即使在空白芯片上,SWD 也失败了(DM-AP IDCODE 错误 0x00000000/0xFFFFFFFF,VTref 3.300 V)。通过 J-Link VCOM 端口的 ISP 仍然有效。我们已恢复到 CMSIS-DAP V3.174 版本。 NBU:擦除后,我们发送了 kw45b41_nbu_ble_hosted.sb3,使用 blhost ... receive-sb-file(成功)。我们不确定这是否是 LOC 板上 wireless_uart 的正确图像。 当前状态:刷机并重新插拔后(JP16 已移除,SW4 未按住,SW1 已按下): LED1/LED2 不闪烁,VCOM 端口 (115200 8N1) 没有输出。 该板不支持通过蓝牙低功耗 (BLE) 进行广播。 D3 亮度降低,D7 逐渐变暗(MCU-Link 正常模式) Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好@priyanshua1 , 为了更好地为您提供支持,请您提供以下信息? - 在发生错误之前,您是否按照任何应用笔记或步骤配置了设备上的任何安全功能? -发生错误之前,你刷入的是哪个镜像文件? -之前是否对该设备上的任何熔丝进行过编程? -我了解到该设备没有运行您刷入的镜像。我的理解正确吗? -请您执行一次批量擦除操作,在不做任何修改的情况下刷入 led_blinky 示例程序,然后告诉我结果好吗? 我还建议迁移到最新的 SDK 版本,因为它包含了最新的错误修复、增强功能和整体改进。Visual Studio Code 的 MCUXpresso 扩展程序完全支持最新的 SDK 版本,我也强烈建议您考虑使用该扩展程序。除了支持最新的 SDK 版本外,该扩展还提供了一个现代化且优化的开发环境,支持 Zephyr 和 Matter 等开放标准,以及其他几个优点。如果您感兴趣,可以在他们的情况说明书中找到其益处的概要。 BR 哈比卜 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好@priyanshua1 , 为了帮助确定问题是否与调试连接有关,请您使用安全配置工具执行以下测试?SPT 是一个基于 GUI 的应用程序,它简化了 NXP MCU 设备的启动映像的生成和配置。 请按照以下步骤,使用 SPT 中的“连接目标处理器”功能测试调试器连接? 按照您当前使用的步骤,在 KW45B41Z-LOC 板上进入 ISP 模式。 在 SPT 中打开与目标处理器的连接窗口。 选择合适的COM端口。 点击“测试”按钮,然后告诉我结果。 如果测试结果标记为“OK”,请按照“使用 .elf 文件启动纯镜像或 CRC 镜像”部分中提到的步骤进行操作。一个已建成的LED灯项目的文件。你可以找到 .elf 文件。VS Code 中 debug 文件夹下的文件。   如果您不熟悉安全配置工具 (SPT),SPT 用户指南中包含一个关于创建新工作区的章节,这可能对您的入门有所帮助。 BR 哈比卜 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好, 以下是我对您问题的回答: 在发生错误之前,板上已经刷入了无线 UART 和 FlexCAN 应用程序。但是,设备的网络安全配置没有做任何更改。 该设备上未对任何熔丝进行编程。 是的,目前镜像刷新失败。 按照建议,我为 VS Code 安装了 MCUXpresso,并下载了最新的 KW45-LOC SDK(版本 26.09.00)。但是,我仍然遇到同样的错误。 [ 2026-10-27T13:03:36.504 ] [proc] [info]命令:C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-10-27T13:03:36.511 ] [ proc] [ info]命令: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]命令:C:\NXP\MCUXpressoIDE_25.6.136 \ide \ tools\bin\arm- none -eabi-gcc.exe --version [ 2026-10-27T13:03:38.328 ] [proc] [info]命令: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]命令:C:\NXP\MCUXpressoIDE_25.6.136 \ide \ tools\bin\arm- none -eabi-gcc.exe --version [ 2026-10-27T13:03:40.870 ] [proc] [info]命令:taskkill /PID 28160 /F /T [ 2026-10-27T13:03:41.291 ] [proc] [info]命令:pkill -P 28160 [ 2026-10-27T13:03:41.296 ] [proc] [error] pkill 退出,错误代码为Error : spawn pkill ENOENT [ 2026-10-27T13:03:41.296 ] [proc] [error] [ 2026-10-27T13:03:41.296 ] [错误] [ 2026-10-27T13:03:41.296 ] [proc] [info]命令:kill - 9 28160 [ 2026-10-27T13:03:41.299 ] [proc] [error] kill 函数退出,错误代码为Error : spawn kill ENOENT [ 2026-10-27T13:03:41.299 ] [proc] [error] [ 2026-10-27T13:03:41.300 ] [proc] [error] kill 函数退出,返回代码-4058 [ 2026-10-27T13:03:41.300 ] [proc] [error] [ 2026-10-27T13:03:41.300 ] [proc] [error] pkill 退出,返回代码-4058 [ 2026-10-27T13:03:41.300 ] [proc] [error] [ 2026-10-27T13:04:19.506 ] [proc] [info]命令:C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-10-27T13:04:19.513 ] [proc] [ info ]命令:C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [ 2026-10-27T13:04:20.830 ] [proc] [ info ]命令:C: \ NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [ 2026-10-27T13:04:20.840 ] [proc] [info]命令:C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [2026-10-27T13:04:21.776] [proc] [info] 命令:C:\NXP\LinkServer_26.9.130\LinkServer.exe flash --probe WXZBCIEABA3EA --no-启动 KW45B41Z83xxxA:KW45B41Z-LOC erase --sector [ 2026-10-27T13:04:30.403 ] [proc] [ error] C:\NXP\LinkServer_26.9.130 \ LinkServer.exe退出,返回代码4294967295 [ 2026-10-27T13:04:30.403 ] [proc] [error]固件更新“检查”:不需要 - 可以使用以下命令强制更新:`LinkServer probe # 1 update forced` Ns: LinkServer RedlinkMulti 驱动程序v26.9 ( 2026 年9 月18 日19:34:33 - crt_emu_cm_redlink.exe版本1382 ) PC:( 0 )读取远程配置 Wc( 03 )。不支持缓存。 Nc:在 C:\Users\HONDAC~ 1 \AppData\Local\Temp\tmpa5n5cx_7\crt_directory.xml中找到通用目录 XML 文件 PC:( 5 )远程配置完成 Nc:已重新连接到现有 LinkServer 进程。 Nc:连接到探测器1核心0 (使用外部启动的服务器)报告:     “Ee(42)。无法连接到核心网。” Nc:正在重试…… Nc:已重新连接到现有 LinkServer 进程。 Nc:服务器正常,但无法连接到探测1核心0 (尝试3次后)- Ee( 42 )。无法连接到核心。 Wc: ============= 脚本: KW45B41_connect.scp ============= Wc:KW45B41 连接脚本 Wc:正在连接到探针索引 = 1 Wc:DpID = 6BA02477 WC:错误:AP 未就绪 Wc: ============= 脚本结束 ================================ Nc:探针固件:板载 MCU-LINK (r0E3) CMSIS-DAP V3.174 (NXP 半导体) Nc:序列号:WXZBCIEABA3EA Nc: VID:PID: 1FC9:0143 Nc:USB路径: 0001:0014:00 Nc:连接失败 - Em( 01 )。找不到核心索引选择的 MEM-AP(请检查目标功率)。正在重试。 Ed:02 :连接失败:Em( 01 )。找不到核心索引选择的MEM-AP(请检查目标功率)。 Et:探针( 0)😞 已连接&重置。之前状态:未连接。DpID:6BA02477。CPU ID: 00000000 。 信息 : Nc:   最后一个短截线错误 0: 正常 Nc:上次粘滞错误: 0x0 AIndex: 0 Nc:未选择调试总线(MemAp)。 Nc:DAP速度测试未执行或失败 Nc:调试协议:SWD。RTCK:已禁用。向量捕获:已禁用。 PC:( 100 )目标操作失败 -------------------- 闪存擦除概要: 错误:Flash: 0x00000000 - 0x00100000 ( 0x00100000字节)[ KW45B41.cfx ] 信息:找到与 KW45B41Z83xxxA:KW45B41Z-LOC 完全匹配的项 信息:已选择设备 KW45B41Z83xxxA:KW45B41Z-LOC 信息:已选择探针 # 1 WXZBCIEABA3EA(板载 MCU-LINK (r0E3) CMSIS-DAP V3.174 ) 信息:MCU-Link 固件更新“检查”:探针 ([WXZBCIEABA3EA] [MCU-LINK 板上 (r0E3) CMSIS-DAP V3.174]) 已运行与包含的固件版本 [3.174]相同的固件版本 错误: Flash : 0x00000000 - 0x00100000 ( 0x00100000字节)[ KW45B41.cfx ] 错误信息:异常:闪存操作退出,返回代码1 严重错误:出现严重错误 错误信息:异常:擦除一个或多个闪存失败 补充说明: 当尝试使用 SPSDK 元器件擦除内存或扫描 NXP 设备时,我需要短接 JP16 跳线并按住 SW4,才能检测到电路板或继续进行擦除操作。 请问造成这种现象的可能原因是什么?能否提出解决此问题的后续步骤? PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 --get-property 1 SpsdkNoDeviceFoundError:接口“uart”,参数为“port=COM19,baudrate=115200,timeout=5000”:在端口 COM19 上找到设备,但未响应 115200 波特率的 PING 请求。确保设备处于引导加载程序模式。 请查看调试日志文件:C:\Users\Hondaconceptbench\AppData\Local\nxp\spsdk\3.12.0\Logs\debug.log,了解更多信息。 PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 --get-property 1 响应状态 = 0 (0x0) 成功。 响应词 1 = 1258488064 (0x4b030100) 当前版本 = K3.1.0 PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- flash-erase-all SpsdkNoDeviceFoundError:接口“uart”,参数为“port=COM19,baudrate=115200,timeout=5000”:在端口 COM19 上找到设备,但未响应 115200 波特率的 PING 请求。确保设备处于引导加载程序模式。 请查看调试日志文件:C:\Users\Hondaconceptbench\AppData\Local\nxp\spsdk\3.12.0\Logs\debug.log,了解更多信息。 PS C:\Users\Hondaconceptbench> blhost -p COM19,115200 -- flash-erase-all 响应状态 = 0 (0x0) 成功。 PS C:\Users\Hondaconceptbench> Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 第一 张 图片 中 , 我 开始 测试 时 手持 SW4 , 测试 成功 完成 。 第二 张 图片 中 , 我 没有 手持 SW4 , 导致 测试 失败 。 以下是这两项测试的结果。 1. SPT连接测试 ISP 模式(JP16 短接,RESET 期间按住 SW4),COM19,115200:结果OK 。模式:ROM引导加载程序,生命周期:OEM开放,KW45Z41083匹配。已附截图。 2. 启动一个纯镜像 我从 kw45b41zloc_led_blinky 项目(ELF 转换为 BIN,创建了可引导镜像)构建了一个 Plain unsigned 镜像,并使用 SPT “写入镜像” 将其写入。结果为成功(get-property、pre-erase 和 write-memory 都成功了)。日志已附上。 写入完成后,我松开了 SW4,移除了 JP16,重启了板,然后按下了 SW1。LED灯不闪烁,因此电路板上没有明显显示应用程序正在运行。 blhost -p COM19,115200 -- get-property 1 without SW4 held: responds 问题概述 ISP连接和编程工作。当应用程序在闪存中时,使用 MCUXpresso/LinkServer 的 SWD 会出现故障(“DAP 访问中的线路 ACK 故障”、“无法停止处理器”、“调试端口无法访问”)。闪存被擦除后,SWD 连接并闪烁,但最后的 RESET 和停止步骤失败。 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好@priyanshua1 , 我注意到您目前在工作区中使用的是 KW45Z41083 处理器。使用此设备是否有具体原因?例如,您是否遵循 AN14003? KW47-LOC 使用 KW45B41Z 处理器,如KW45B41Z-LOC 板用户手册第 1.2 章“设备特性”中所述。请您使用 KW45B41Z 处理器创建一个新的工作区,并重复之前提到的步骤。这次,请在用闪存编程器工具对映像进行编程之前,也擦除整个片上闪存。 之后,请您提供以下信息: 写入镜像时生成的日志。 使用 Flash Programmer 工具再次读取写入映像的内存区域的结果。 另外,能否请您提供一下使用OTP/IFR 配置时,处理器输出的 OTP 值? BR 哈比卜 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好@priyanshua1 , 谢谢你提供的信息。 根据日志来看,图像似乎已正确写入。您能使用Flash Programmer 工具看到图像吗?您可以在“工具”窗口中找到此工具: 另外,能否请您帮我澄清以下几点? 最后几个步骤是否导致了相同的结果?如果可以,请您重复上述步骤,但这次使用 hello_world 示例,并使用 .elf 文件。这是 VS Code 生成的文件吗?您能在终端看到“Hello World”吗? 在进行测试之前,请您确认跳线是否完全按照KW45B41Z-LOC 板用户手册图 3“KW45B41Z-LOC 跳线”所示进行配置? 请问这个板是否曾经被重新设计过?如果是这样,能否请您提供更多关于返工的细节? BR 哈比卜 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好@Habib_MS , 很抱歉输入错误。 我已经使用正确的处理器进行了测试。请注意,当我选择KW45B41Z5 作为处理器时,连接测试失败。但使用 KW45B41Z8 时,连接测试通过。请查看附件中的日志和图片。 写入镜像日志: ELF 图像已转换为 BIN 格式:source_images\kw45b41zloc_led_blinky.bin ELF 图像已转换为 BIN 格式:source_images\kw45b41zloc_led_blinky.bin 操作状态:成功:已创建新工作区:C:\Users\Hondaconceptbench\secure_provisioning00 ELF 图像已转换为 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 ## ... # ## Create Master Boot Image using nxpimage tool ## # 警告:spsdk.image.mbi.mbi:MBI-kw45b41z8-MbiImageTypeEnum.PLAIN_IMAGE-xip(警告) ======================================== TrustZone 配置(警告) ========================================= 验证 TrustZone 设置和配置类型 ==================================================================================================================== 功能“tz”验证(警告) 实现(警告):未实现 (自启动以来耗时 1808 毫秒,mbi.py:689) 成功。(主启动映像:C:/Users/Hondaconceptbench/secure_provisioning00/bootable_images/kw45b41zloc_led_blinky.bin 已创建。) # ## 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 ## # 脚本:正在写入映像:C:\Users\Hondaconceptbench\secure_provisioning00\write_image_win.bat # ## SCRIPT arguments: pre_erase ## # 解析输入参数 # ## ## # 检查连接 # ## 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 ## # 擦除闪存 # ## ## # 预擦除闪存以防止 RESET 后应用程序启动 # ## 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 ## # 写入镜像 # ## 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 ## # 脚本“写入镜像”的结果:成功(返回码 = [0]SUCCESS) 操作状态:成功:正在写入图像 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好, 以下是使用 KW45B41Z83 工作区的结果(全部在 ISP 模式下:JP16 短接,RESET 期间按住 SW4)。 Flash Programmer:我擦除了所有内容,写入了纯文本未签名映像,然后读取了 0x00000000-0x000027DF(状态:成功)。向量表存在(SP 0x2001C000,回读时 RESET 向量为 0x00000195)。已附上屏幕截图。 启动结果:释放 SW4、移除 JP16 并重启电源后,LED1 (PTC0) 不闪烁。该项目的 pin_mux 将 PTC0 配置为 LED1 的 GPIO 输出。 hello_world:使用 .elf 文件重复相同的步骤,MCU-Link VCOM 端口 (115200 8N1) 上没有“Hello World”。 此外,从 VS Code 中,GDB 报告 0x14816fdc in ?? () 和错误 103:用上市,不用发布 GDB 失败:完成 flash 操作时出错。终端输出已附上。 启动 GDB: "C:\\NXP\\MCUXpressoIDE_25.6.136\\ide\\tools\\bin\\arm-none-eabi-gdb.exe"-q --interpreter=mi2 重要提示:在“launch.json”文件中将“showDevDebugOutput”设置为“raw”。查看所有 GDB 事务。 启动 GDB 服务器:"C:\\NXP\\LinkServer_26.9.130\\LinkServer.exe"-l3 gdbserver "KW45B41Z83xxxA:KW45B41Z-LOC" --probe WXZBCIEABA3EA --gdb-port 2336 --no-启动 --core primary 请检查终端选项卡(GDB 服务器控制台)以获取“C:\NXP\LinkServer_26.9.130\LinkServer.exe”的输出。 输出基数现在设置为十进制 10、十六进制 a、八进制 12。 输入基数现在设置为十进制 10、十六进制 a、八进制 12。 NMI_Handler() 位于 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 程序停止运行,可能是由于调试器发出的 RESET 和/或停止指令所致。 错误 103:启动 GDB 失败:完成 flash 操作时出错(来自 target-download) 跳跃者:与图 3 相符。 MCU-Link 固件:板载 MCU-LINK (r0E3) CMSIS-DAP V3.174 使用 VS Code 中的 Linkserver Flash Programmer 将 helloworld.elf 烧录到闪存时产生的日志。 [ 2026-11-09T15:04:18.756 ] [ proc] [ info]命令:C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [ 2026-11-09T15:04:18.767 ] [proc] [info]命令:C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-11-09T15:04:20.075 ] [proc] [info]命令:C ":\Program Files\SEGGER\JLink_V980\JLinkGDBServerCL.exe" -listprobes USB [ 2026-11-09T15:04:20.083 ] [proc] [ info ]命令:C : \NXP\LinkServer_26.9.130 \LinkServer.exe probes --json [ 2026-11-09T15:04:21.857 ] [proc] [info]命令:C:\NXP\LinkServer_26.9.130 \LinkServer.exe flash --probe WXZBCIEABA3EA --no-启动 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 : 找到与 KW45B41Z83xxxA:KW45B41Z-LOC 完全匹配的项 信息:已选择设备 KW45B41Z83xxxA:KW45B41Z-LOC 信息:已选择探针 # 1 WXZBCIEABA3EA(板载 MCU-LINK (r0E3) CMSIS-DAP V3.174 ) 信息:MCU-Link 固件更新“检查”:探针 ([WXZBCIEABA3EA] [MCU-LINK 板上 (r0E3) CMSIS-DAP V3.174]) 已运行与包含的固件版本 [3.174]相同的固件版本 [ 2026-11-09T15:04:25.241 ] [LinkServer] [信息] LinkServer 闪存操作成功完成: 固件更新检查:无需检查 - 可以使用以下命令强制更新:`LinkServer probe # 1 update forced` Ns: LinkServer RedlinkMulti 驱动程序v26.9 ( 2026 年9 月18 日19:34:33 - crt_emu_cm_redlink.exe版本1382 ) PC:( 0 )读取远程配置 Wc( 03 )。不支持缓存。 Nc:在 C:\Users\HONDAC~ 1 \AppData\Local\Temp\tmp62t_evtb\crt_directory.xml中找到通用目录 XML 文件 PC:( 5 )远程配置完成 Nc:已重新连接到现有 LinkServer 进程。 Wc: ============= 脚本: KW45B41_connect.scp ============= Wc:KW45B41 连接脚本 Wc:正在连接到探针索引 = 1 Wc:DpID = 6BA02477 Wc:APID = 0x84770001 Wc: ============= 脚本结束 ================================ Nc:探针固件:板载 MCU-LINK (r0E3) CMSIS-DAP V3.174 (NXP 半导体) Nc:序列号:WXZBCIEABA3EA Nc: VID:PID: 1FC9:0143 Nc:USB路径: 0001:0016:00 Nc:在搜索到可用核心后,使用核心0的内存 电脑:( 30 )模拟器已连接 Nc:处理器处于安全模式 PC:( 40 )调试停止 PC:( 50 )CPU ID Nc:调试接口类型 = CoreSight DP(DAP DP ID 6BA02477)通过 SWD TAP 0 Nc:处理器类型 = Cortex-M33(CPU ID 00000D21),位于 DAP AP 0上 Nc:硬件断点数 = 8 Nc:闪光灯片数量 = 0 Nc:硬件监视点数量 = 4 Nc:探针( 0)😞 已连接&重置。DpID:6BA02477。CPU ID:00000D21。信息 : Nc:调试协议:SWD。RTCK:已禁用。向量捕获:已禁用。 Ns:CoreSight调试ROM的内容: Nc: RBASE E00FF000: CID B105100D PID 04000BB4C9 ROM (类型0x1 ) Nc: ROM 1 E000E000: CID B105900D PID 04000BBD21 CSt ARM ARMv8-M 类型0x0其他 - 未定义 Nc:ROM 1 E0001000:CID B105900D PID 04000BBD21 CSt ARM DWTv2 类型0x0其他 - 未定义 Nc:ROM 1 E0002000:CID B105900D PID 04000BBD21 CSt ARM FPBv2 类型0x0其他 - 未定义 Nc:ROM 1 E0000000:CID B105900D PID 04000BBD21 CSt ARM ITMv2 类型0x43跟踪源 - 总线 Nc:ROM1E0042000:CID B105900D PID04000BBD21CSt Arm CTIv2 类型0x14 调试控制 - 触发信号,例如ECT Nc:NXP:KW45B41Z83xxxA Nc:DAP 步长为1024字节( 256字) Nc:已检查v.2片上闪存KW45B41.cfx Nc:图片“FMU 2026 年 9 月 18 日 19:14:27” Nc:打开闪存驱动程序KW45B41.cfx Nc:请求 VECTRESET,但 ARMv8-M CPU 不支持此功能。改用 SOFTRESET 方式。 Nc:使用软复位运行闪存驱动程序 Nc:检测到闪存变体“FMU 1MB” (1MB = 128 * 8K,地址为0x0 ) Nc:正在关闭闪存驱动程序KW45B41.cfx Nc:已检查v.2片上闪存KW45B41_S.cfx Nc:图像“FMU(安全)2026年9月18日 19:14:02” Nc:打开闪存驱动程序KW45B41_S.cfx Nc:请求 VECTRESET,但 ARMv8-M CPU 不支持此功能。改用 SOFTRESET 方式。 Nc:使用软复位运行闪存驱动程序 Nc:检测到闪存变体“FMU 1MB(安全)” (1MB = 128 * 8K,地址为0x10000000 ) Nc:正在关闭闪存驱动程序KW45B41_S.cfx PC:( 65 )芯片设置完成 PC:( 70 )许可证检查完成 Nt:正在加载“hello_world.elf” ELF 0x00000000长度0x37F4 Nc:打开闪存驱动程序KW45B41.cfx Nc:请求 VECTRESET,但 ARMv8-M CPU 不支持此功能。改用 SOFTRESET 方式。 Nc:使用软复位运行闪存驱动程序 Nc:检测到闪存变体“FMU 1MB” (1MB = 128 * 8K,地址为0x0 ) 铅:( 0 )大规模擦除闪光 Pb: 1/1 ( 0 )正在写入地址0x00000000的扇区0-1 ,共14324字节 PS: ( 0 )位于00000000 : 0字节-0/14324 PS:( 100 )位于00000000 : 16384字节 - 16384 / 14324 Nc: 00004000完成100 % ( 14324中已完成16384 ) Nc:已写入扇区: 2 ,未更改扇区: 0 ,总计: 2 Nc:正在关闭闪存驱动程序KW45B41.cfx Pb: ( 100 ) Flash 编写成功。 Nt:已加载0x37F4字节,耗时 380 毫秒(约 37kB/秒) Nt:RESET目标(系统) Nc:使用系统RESET和停滞地址启动执行 Nc:将读取监视点1 (地址0xE000ED08)重新分配给启动 ROM 停滞。 Nc:状态 - 正在运行或正在执行 RESET 请求 - 状态重读失败 - rc Nn(05)。DAP 访问中的线路 ACK 故障 Nc:关闭调试会话时出错 - Nn( 05 )。DAP 访问中的线路 ACK 故障 结论与请求: 我们投入了大量时间来排查 KW45B41Z-LOC 板的问题,但不幸的是,由于硬件问题尚未解决,我们的项目活动现在被延误了。 此外,我们的项目需求涉及到达角 (AoA) 和航道测深 (CS),而 KW45 LOC 并不完全支持这两项功能。尽管存在这些限制,我们仍在继续评估该板。然而,我们目前仍停留在非常基础的阶段,无法达到预期效果。 考虑到已耗费的时间以及对项目进度的影响,我们希望恩智浦半导体能够提供一块搭载最新硬件版本的BLE开发板作为替代品。这将使我们能够尽快恢复开发工作,避免进一步延误。 我们愿意将现有的KW45B41Z-LOC板寄回恩智浦进行进一步的检查和故障分析。 我们恳请您尽快回复并支持我们解决此事,以便我们能够使项目活动重回正轨。 顺祝商祺! Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or @priyanshua1 ,你好! KW45-LOC 被用作实验和原型设计的参考设计,因为 KW45 不包含支持完整蓝牙通道探测规范所需的所有功能。此外,正如 NXP产品页面上所指出的,KW45-LOC 已不再生产。 作为替代方案,您可以考虑KW47-LOC ,它旨在演示汽车和物联网应用中的蓝牙通道探测功能。该设计包含两个板载单极子PCB天线和一个射频开关,以支持天线分集。 这是因为KW47处理器支持通道探测。与 KW45 相比,它还提供了多项增强功能,包括更大的内存容量、运行频率高达 64 MHz 的专用的 Arm Cortex-M33 无线电内核以及对蓝牙 LE 6.x 的支持。 如果您有兴趣,还可以参考AN14796 ,了解有关 KW45 和 KW47 之间的功能差异和迁移考虑的更多信息。 BR 哈比卜 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好, 谢谢你提供的信息。 请问我们提供的日志和测试结果是否有助于识别或分析电路板上问题的根本原因,并与我们联系?如果他们提供了足够的信息,我们希望您能就适当的故障排除和恢复步骤提出建议。如果信息不足,请告知我们还需要采取哪些行动或提供哪些数据才能推进调查。 此外,我想申请一块KW47板样品。在KW45问题得到解决的同时,如果能够获得 KW47 板,我们将能够继续进行开发和评估活动,而不会进一步延误。 这对 NXP 来说也可能是有益的,因为我们计划广泛评估 KW47 的各种功能,包括通道探测 (CS)、到达角 (AoA)、CAN、BLE、UART和其他相关功能。我们很乐意根据我们的调查结果和使用经验提供详细的反馈。 我们非常感谢您考虑我们的请求,并期待您的指导。 感谢您的支持。 此致, 普里扬舒 Re: KW45B41Z-LOC: SWD fails once application runs; can flash only via ISP/SW4; app no longer runs or 你好@priyanshua1 , 由于您的项目需要进行通道探测,因此最推荐的方法是将开发工作集中在 KW47-LOC 上。它是专门为试验像这样的通道探测应用而设计的。KW45 支持蓝牙 LE 6.0,但它不具备通道探测所需的功能,因此对于此类应用,我们强烈建议升级到KW47 。 我明白对你们团队来说,保持项目进展有多么重要。您可以通过 NXP 官方产品页面获取 KW47-LOC,您可以在那里找到可用的购买选项。拿到电路板后,欢迎随时发布在通道探测评估过程中遇到的任何技术问题。 也就是说,根据这些信息,这种行为似乎与设备停留在 ROM 引导加载程序而不是跳转到闪存中的应用程序有关。根据 KW45 RM(第 15.2.8 节,“启动调试会话”),当 ROM 引导加载程序执行时以及当 ROM 进入 ISP 模式时,CM33 的调试访问端口将被禁用。这与您看到的情况一致,包括 GDB 报告的 PC(0x14816fdc)位于 ROM 地址范围内。 为了了解 ROM 为何可能无法跳转到映像,我想查看存储在 IFR 中的 ROM 配置。请您使用OTP/IFR 配置,通过安全配置工具将 IFR 值发送给我好吗? 我还想问几个问题:   能否请您提供更多关于您在最初帖子中提到的 CAN_BLE 项目的详细信息?另外,您是否在该项目或其他应用程序中使用过 OTAP 功能? 我找不到您之前提到的 Flash Programmer 截图。请问您是否能够使用Flash Programmer 工具看到图像? 请问这个板是否曾经被重新设计过?如果是这样,能否请您提供更多关于返工的细节? BR 哈比卜
View full article
We selected a frequency error of 30ppm for the SJA1000 crystal oscillator. Since it is discontinued, is it possible to change it to 50ppm? Re: SJA1000晶振频率误差我们选用的是30ppm,因为停产原因,更换为50ppm是否可以? Hi, Switching from a ±30 ppm to a ±50 ppm crystal is acceptable for the SJA1000. Both values are far below the CAN bus oscillator tolerance limit (±0.5% / ±5,000 ppm at 1 Mbit/s). The SJA1000's built-in Synchronization Jump Width (SJW) mechanism compensates for any oscillator drift between nodes. Please ensure the replacement crystal uses the same nominal frequency, the same load capacitance, and the 15 pF capacitors on XTAL1/XTAL2 as specified in the datasheet. BRs, Tomas
View full article
iMX8QM - a72コアCPUへの割り込み/ポーク こんにちは、NXPさん。 ブートローダーで72コアのみを使用してVARISCITE iMX8QM VAR-SOM-SYMPHONYボードを起動することができました。ブートローダーのログは以下のとおりです。 => CPUリスト エラー: 温度の取得に失敗しました!(誤差 = -19) 0: cpu@0 NXP i.MX8QM RevB A53 0 MHz - センサーデータが無効です エラー: 温度の取得に失敗しました!(誤差 = -19) 1: cpu@1 NXP i.MX8QM RevB A53 0 MHz - センサーデータが無効です エラー: 温度の取得に失敗しました!(誤差 = -19) 2: cpu@2 NXP i.MX8QM RevB A53 0 MHz - センサーデータが無効です エラー: 温度の取得に失敗しました!(誤差 = -19) 3: cpu@3 NXP i.MX8QM RevB A53 0 MHz - センサーデータが無効です 4: CPU@100 NXP i.MX8QM RevB A72、1596 MHz、54℃ 5: CPU@101 NXP i.MX8QM RevB A72、1596 MHz、54℃ => しかし、SGIを使用してCPUを割り込み/ポークすることはできません。デバイスツリーは以下のとおりです。 gic: interrupt-controller@51a00000 { 互換 = "arm,gic-v3"; reg = <0x0 0x51a00000 0 0x10000>, /* GIC Dist */       <0x0 0x51b00000 0 0xC0000>, /* GICR */       <0x0 0x52000000 0 0x2000>,  /* GICC */       <0x0 0x52010000 0 0x1000>,  /* GICH */       <0x0 0x52020000 0 0x20000>; /* GICV */ #interrupt-cells = <3>; 割り込みコントローラ; 割り込み = interrupt-parent = <&gic>; };   デバイスツリーに変更を加える必要はありますか?     Re: iMX8QM - Interrupt/Poke the a72 Core CPU こんにちは、 @kamohanさん この問題はデバイスツリーとはほとんど関係がありません。SGIはカーネルに提供できません。原因はおそらくターゲット コアの電源オン状態 やGIC初期化にあります。 以下はATFのコードです。A72の電源を入れるには、PSCI CPU_ONとSMCを使用していることを確認してください。 int imx_pwr_domain_on(u_register_t mpidr) { int ret = PSCI_E_SUCCESS; unsigned int cluster_id = MPIDR_AFFLVL1_VAL(mpidr); unsigned int cpu_id = MPIDR_AFFLVL0_VAL(mpidr); sc_pm_set_resource_power_mode(ipc_handle, cluster_id == 0 ? SC_R_A53 : SC_R_A72, SC_PM_PW_MODE_ON); sc_pm_req_low_power_mode(ipc_handle, cluster_id == 0 ? SC_R_A53 : SC_R_A72, SC_PM_PW_MODE_ON); if (sc_pm_set_resource_power_mode(ipc_handle, ap_core_index[cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id], SC_PM_PW_MODE_ON) != SC_ERR_NONE) { ERROR("core %d power on failed!\n", cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id); ret = PSCI_E_INTERN_FAIL; } if (sc_pm_cpu_start(ipc_handle, ap_core_index[cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id], true, CPU_START_ADDR) != SC_ERR_NONE) { ERROR("boot core %d failed!\n", cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id); ret = PSCI_E_INTERN_FAIL; } return ret; } void imx_pwr_domain_on_finish(const psci_power_state_t *target_state) { #if (!defined COCKPIT_A53) && (!defined COCKPIT_A72) uint64_t mpidr = read_mpidr_el1(); if (CLUSTER_PWR_STATE(target_state) == PLAT_MAX_OFF_STATE) cci_enable_snoop_dvm_reqs(MPIDR_AFFLVL1_VAL(mpidr)); #endif plat_gic_pcpu_init(); plat_gic_cpuif_enable(); } U-Bootはプライマリコアのみを使用し、セカンダリコアはU-Bootには関与しません。さらに、U-BootはIRQを有効にしず、NS側のGIC CPUインターフェースの設定も行わないため、U-Boot内でSGI信号を受け取ることができません。 よろしくお願いします、 志明
View full article
[S32K396] eFlexPWMの設定に関する問題 MCU:S32K396 ドライバ:S32K3 RTD 7.0.1 設定ツール:EB tresos Studio 30.0.0 ユースケース:3相モーター制御(FOC)、SM0など。SM2を補完的なA/Bペアとして、20 kHzのセンターアラインドPWM、FAULT0の故障処理 質問1:Pwm(FlexPWM):補完チャネルペアのA出力のみにフォールト設定が可能で、PWMBのフォールトマッピングを設定する方法はありません FlexPWMサブモジュールがチャネルペア=補完的な設定の場合 EB tresos Pwmプラグインは、チャネルエントリ(PWMA)が1つだけ作成され、PWMBは 反転出力として自動生成されます。しかし、故障設定では (FlexPwmFaultChannelSettings: 故障チャネル選択、故障レベル、故障出力 状態など)PWMAチャネルのみを設定可能で、設定は存在しません PWMBのエントリー。障害設定では、SMx_DISMAP0のDIS0Aフィールドのみに書き込みます。 DIS0BとDIS0Xはリセット値を保持し0xF、変更できません。 EB tresosでDIS0B/DIS0Xマッピングを設定するサポートされている方法はありますか? それともこれはPWMプラグインの制限事項/欠陥と考えるべきでしょうか? 質問2:PWM(FlexPWM):中央揃えモード - VAL0/VAL1の一致(中間点/リロードトリガー)からADCトリガーを生成するGUIオプションはありません(SM[x].TCTRL) 3相電流にはセンターアライメント相補PWM(SM0..SM2、20 kHz)を使用しています サンプリング。この構成では、低側伝導窓の中心は カウンターの再ロードポイント、つまりVAL1の一致と一致する。正確にサンプリングする その瞬間、平均位相電流と最大余裕が与えられ、 スイッチングエッジは、ローサイドシャントFOCの標準的なトリガーポイントです。 EB tresos Pwmプラグインでは、チャネルごとの出力トリガー設定のみです 「ライジングエッジ」/「フォーリングエッジ」の選択肢を提供し、これらは VAL2/VAL3のマッチイベント情報。トリガーソースをタイドするオプションはありません VAL0/VAL1のマッチング(OUT_TRIG0/OUT_TRIG1のTCTRL[OUT_TRIG_EN]ビットは VAL0/VAL1)、リロードイベントに紐づくオプションもありません。 このRTDリリースで、ADCトリガーを生成するサポート方法はありますか? VAL0/VAL1のマッチ(またはリロードイベント情報からのセンターアライメントモード)? 質問3:PWM(FlexPWM):EBで設定された障害通知機能がPostBuild構成でNULL_PTRとして生成される EB tresos PwmプラグインのFlexPwmFaultChannelSettingsの中に、 通知関数名を入力できます。期待値として、 生成されたPostBuild構成はコールバックメンバーを埋め、 FlexPwm_Ip_Init()はそれをFlexPwm_Ip_aFaultIrqCallback[]に登録し、 フォルトISR(FlexPwm_Ip_ProcessFaultIrq)はFFLAGが設定されたときにこれを呼び出します。しかしFlexPwm_Ip_VS_0_PBcfg.cはNULL_PTRでフォルトチャネル構成を生成します。 これはPWMプラグインの既知の制限事項ですか、それとも不具合ですか? Re: [S32K396] eFlexPWM configuration issues こんにちは、 Q1 – 補完的なPWMA/PWMBの故障マッピング 補完的なチャネルペアの場合、PWMAのみが設定され、PWMBは設定されたA/B関係に基づいて生成されます。 PWM構成では、FlexPwmChannelFaultSettingsを通じて個別の障害有効化設定を提供します。しかし、補完モードを選択するとPWMBは別の設定可能なチャネルとして利用できなくなり、DIS0Bの故障マッピングをカスタマイズする対応するGUIオプションはありません。 デフォルトのDISMAPリセット設定では、出力に対する障害入力は有効なままになります。したがって、アプリケーションの観点からは、デフォルトの構成でも必要な故障保護が維持されます。 それでも、DIS0B/DIS0Xを補完モードで個別に設定できないのは意図的なものか、また異なる故障マッピングを必要とするアプリケーションに対応した方法があるか、RTDチームに確認してみます。 Q2 – センターアライメントPWMモードでのADCトリガー PWM設定では、トリガーソースとしてPWMX、PWMA、PWMBから選択できるほか、立ち上がりエッジ、立ち下がりエッジ、または両方のエッジを選択できます。 センターアライメントPWMの場合、VAL1はPWM周期を決定するため、ADCサンプリングポイントを自由に移動させることはできません。 必要なサンプリングポイントに応じて、いくつかの可能性が考えられます。 PWMリロードポイントで正確にサンプリングが必要な場合、FlexPWMリロードパルスはTRGMUXトリガーソースとして直接利用可能で、TRGMUX経由でBCTU/ADCへルーティングできます。 サブモジュールでPWMXおよびそのVAL0/VAL1リソースを用いたローカル同期が不要な場合、PWMXは標準のPWMトリガー構成を通じてADCトリガに設定・使用可能です。 サンプリングポイントをPWMセンターに対して独立に調整する必要がある場合は、FlexPWM IP APIを通じて自由なVALxコンパレータを設定し、出力トリガーとして使用できます。 したがって、最適な解決策は、ADCのサンプリングポイントをPWMのリロードポイントに固定する必要があるか、それともそれに対して独立して調整可能である必要があるかによって異なります。 Q3 – NULL_PTRとして生成された故障通知 Pwmユーザーマニュアルによると、FlexPwmFaultNotificationは故障検出用のユーザーコールバック関数を指定しており、NULLやNULL_PTRとは異なる設定値がコールバック関数名として使用されるべきです。   また、S32 Design Studioの設定ツールを使ってRTD 7.0.1でもテストしました。この場合、設定されたフォールト通知は正しくFlexPwm_Ip_VS_0_PBcfg.cに伝播され、コールバックプロトタイプやFaultNotification[]配列内の対応するエントリも含まれます。   しかし、まだEB Tresos Studio 30.0.0を使って同じ構成を確認できていません。したがって、RTDチームにEB Tresosの生成パスにNULL_PTRが生成される可能性のある既知の違いや制限がないか確認します 。 BR、ペトル Re: [S32K396] eFlexPWM configuration issues ご回答ありがとうございます。RTDチームからの確認をお待ちください。 回复: [S32K396] eFlexPWM configuration issues 以下にさらに質問があります。 Q1。この発言について続けておきたいと思います。 「デフォルトのDISMAPリセット構成では、故障入力は出力に対して有効化されたままです。したがって、アプリケーションの観点からは、デフォルトの構成でも必要な故障保護が維持されます。」 これは、4つの障害入力すべてが実際に基板上に配線されている場合にのみ当てはまります。私たちのECUではFAULT0のみがコネクテッドであり(ゲートドライバのST L9908のFS_FLAGを承載しています)。FAULT1..FAULT3は全くルーティングされておらず、これらのパッドは浮動したままポートピンとして設定されておらず、IMCRもルーティングしません。フォールト入力は一定レベルを読み取ります。 DISMAP0 は0xFFFF(すべての故障入力がすべての出力にマッピングされる)にリセットされるため、結果は次のようになります。 --未ルーティングチャネルのFLVL = LOWの場合、一定の低レベルは恒久的な故障と解釈され、出力は永遠に無効化されたままです。 - 未ルーティングチャネルのFLVL = HIGHの場合、これらの故障チャネルは永久に非アクティブですが、A/B/X出力にはマッピングされます。 したがって、「Pwm_Init()」の後に手動でDISMAP0レジスタを更新し、FAULT0のみをDIS0A / DIS0B / DIS0Xにマッピングします。 DIS0A/DIS0B/DIS0XフィールドをGUIで補完モードとして公開できるかどうか(AとBを独立してマッピングできる)、 Q2。 option1(TRGMUXトリガーソースとしてのFlexPWMリロードパルス):TRGMUX_IP_INPUT_PWM0_MST_RELOADが利用可能であることを確認しました。 option2(PWMX for ADC triggering):実はこのThreadを開く前に最初に試した経路です:PWMXの落ち込みエッジをVAL1に合わせたかったのです。しかし、チャネル Pair = COMPLEMENTARYを選択すると、EB tresos Pwmプラグインはそのサブモジュール用のPWMXチャネルコンテナを作成することを一切許可せず、トリガーソースPWMXを選択することはできません。 プラグイン内のこの制限は意図的なものか、またPWMXベースのトリガーは補完モードで使えるものなのか確認していただけますか?もしそれがプラグインの制限によるものであれば、EBプラグインチームにも報告する価値があるでしょう。 詳細なご回答をありがとうございました。 回复: [S32K396] eFlexPWM configuration issues こんにちは、 ご説明と追加テストをありがとうございました。 Q1 – DISMAP構成 その通りです。以前の私の発言、つまりデフォルトのDISMAP設定で十分だという発言は、あまりにも一般的すぎました。 あなたのアプリケーションでは、L9908のFAULT0のみを使う場合、DIS0A/DIS0B/DIS0Xのマッピングを設定し、対応する出力にFAULT0だけが影響するように設定することが適切な構成です。 補完モードにおけるDIS0B/DIS0Xの独立した設定機能の欠如がPWMプラグインの意図的な制限なのか、またこれらの設定が設定ツールで公開される予定があるのかどうかについて、RTDチームに確認します。 Pwm_Init() の後に DISMAP0 を手動で更新することは、レジスタ構成が意図した障害処理と一致している限り、当面の実用的な回避策となります。 Q2 – センターアライメントPWMモードでのADCトリガー PWMXに関しては、同じサブモジュール内での制限は妥当であると思われる。なぜなら、PWMXはVAL0/VAL1を使用しており、これらはローカル同期/リロード構成にも関与しているからである。 あなたのユースCASEでは、実用的な選択肢が2つあります。 - PWMリロードポイントで正確にサンプリングする必要がある場合は、TRGMUXを介してリロードトリガーを直接使用してください。 - 調整可能なサンプリングポイントが必要な場合は、未使用のVALコンパレータ(例えばVAL4/VAL5)を使用し、FlexPWM IP APIを通じてトリガーを設定します。 また、PWMX/VAL0/VAL1リソースを通じてトリガーを生成するために、同期された別の同期されたFlexPWMサブモジュールを使用することも可能ですが、追加のサブモジュール機能が不要であれば、利用可能なVAL4/VAL5コンパレータを使う方が簡単そうです。 これらの選択肢については、RTDチームに確認します。 BR、ペトル
View full article
[提案]ピン名はポートペリフェラルのポートピンリストに表示されるべきです ペリフェラルにピンを追加すると、長いPortPinとUnTouchedPortPinのリストができてしまいます。 リストは0から番号が上がっていて、名前の表示は見当たりません。特定のピンの設定を変更する必要がある場合は、リスト全体をクリックして探す必要があります。 もちろん、外部ツールでIDをピン名や関数にマッピングするリストを作成することもできますが、その情報をツール内で即座に表示できる方がはるかに望ましいです。 私の提案は以下の通りです。 PortsペリフェラルのPortPinとUntouchedPortPinのリスト内では、IDの横にピンの名前が表示されます。この名前はPortPinの設定から取るか、Pinラベルから取ることも可能で、プロセスをさらに自動化したい場合もあります。 この改善は、PortContainer、DioPort、DioChannelsなど、現在IDのみを表示する他のリストにも応用できます。 Eclipse IDEの使用と設定 全般 Re: [suggestion] Pin names should be shown in Port peripheral PortPin list こんにちは、 @daniel_meier さん。 PortPinとUnTouchedPortPinのリストだけでは特定のピンを特定するのは容易ではないというご指摘は理解できます。ご提案ありがとうございます。FUTUREのリリースで改善がCANかどうかを評価できるよう、ソフトウェアチームにフィードバックを共有します。 特定のピン構成の変更に関しては、最新のRTDリリースではペリフェラル ToolではなくPin Toolで行うべきです。実際、ほとんどのピン関連の設定はもはやペリフェラルツールから編集できず、ピンツール内で直接設定する必要があります。 BR、VaneB Re: [suggestion] Pin names should be shown in Port peripheral PortPin list @VaneB返信ありがとうございます。 SO私はほとんど何も変更できず(「レジスタのロック」と「モード変更可能」だけ)の理由がわかります。 つまり、上記のオプションが必要でない限り、PortContainer セクションで何も設定する必要はないということですか? 問題は、常に少なくとも1つのポートピンがデフォルトでPCR0になり、それを削除できないことです。 私はS32K1 RTD AUTOSAR R21-11バージョン3.0.0を使用していますS32K116用QLP06。 Re: [suggestion] Pin names should be shown in Port peripheral PortPin list こんにちは、 @daniel_meier さん。 技術的には、そうです。ただし、設定済みのすべてのピンをPortContainerに追加し、各ピンに対応するPortPin PCR構成を設定する必要があることにご注意ください。 ロックレジスタオプションについてですが、ピンツールでピンを「ロック」を選択すると、ペリフェラルツール内のポートドライバ内の対応するピンにもエラーが表示されます。これにより、特に多くの設定済みピンを扱う際に影響を受けるピンの特定が容易になります。 あなたが言及した削除できないピンについては、状況を完全には理解できていないかもしれません。ピンツールを有効にして新しいアプリケーションを作成すると、デフォルトでPTA0が加わります。しかし、追加のピンが設定されると、アプリケーションで必要でない場合、PTA0は削除可能です。したがって、アプリケーションに合わせて機能を変更したり設定したりするために保持しない限り、削除に問題はないはずです。 Re: [suggestion] Pin names should be shown in Port peripheral PortPin list ああ、なるほど、あなたの言いたいことが分かりました。 はい、デフォルトのPINを削除すれば、他のPINを追加する際に問題なく動作します。 あなたの回答から、ポートペリフェラルにピンを追加する必要はないと理解しましたが、 別のトピックで 同僚が、FUTUREのRTDのバージョンではピンツールが自動的にポートペリフェラルにピンを追加すると言っていたのを思い出しました。
View full article
[S32K396] eFlexPWM 配置问题 MCU :S32K396 驱动程序:S32K3 RTD 7.0.1 配置工具:EB Tresos Studio 30.0.0 应用场景:三相电机控制(FOC),SM0..SM2 作为互补 A/B 对,20 kHz 中心对齐 PWM,故障处理基于 FAULT0。 问题1:PWM(FlexPWM):故障设置仅适用于互补通道对的A输出——无法配置PWMB的故障映射。 当 FlexPWM 子模块配置为通道对 = 互补时, EB tresos PWM 插件,仅创建一个通道条目 (PWMA),而 PWMB 是 自动生成为反转输出。然而,在故障设置中 (FlexPwmFaultChannelSettings:故障通道选择、故障级别、故障输出) (状态等)只能配置 PWMA 通道 - 没有其他配置 PWMB条目。故障设置仅写入 SMx_DISMAP0 的 DIS0A 字段。 DIS0B 和 DIS0X 保持其 RESET 值 0xF,且无法更改。 EB Tresos 是否有官方支持的方式来配置 DIS0B/DIS0X 映射? 或者这应该被视为 Pwm 插件的限制/缺陷? 问题2:PWM(FlexPWM):中心对齐模式 - 没有 GUI 选项可以从 VAL0/VAL1 匹配生成 ADC 触发信号(中点/重新加载触发信号)(SM[x].TCTRL) 我们对三相电流采用中心对齐互补脉宽调制(SM0..SM2,20 kHz)。 采样。在这种配置下,低侧传导窗口的中心位于此处。 与计数器重新加载点重合,即 VAL1 比赛。精确抽样 那一刻给出了平均相电流和最大裕量。 开关边沿,这是低侧并联FOC的标准触发信号点。 在 EB tresos Pwm 插件中,仅每个通道的输出触发信号配置 提供“上升沿”/“下降沿”选择,分别对应于 VAL2/VAL3 比赛事件。没有启用已绑定触发信号的选项。 VAL0/VAL1 匹配(基于 OUT_TRIG0/OUT_TRIG1 的 TCTRL[OUT_TRIG_EN] 位) VAL0/VAL1),并且没有与重新加载事件关联的选项。 此RTD版本是否支持从ADC生成触发信号的方法? 中心对齐模式下的 VAL0/VAL1 匹配(或来自重新加载事件)? 问题3:PWM(FlexPWM):在EB中配置的故障通知功能在PostBuild配置中生成为NULL_PTR。 在 EB tresos Pwm 插件的 FlexPwmFaultChannelSettings 下,有一个故障 可以输入通知功能名称。预期是 生成的 PostBuild 配置会填充回调成员,以便 FlexPwm_Ip_Init() 将其注册到 FlexPwm_Ip_aFaultIrqCallback[] 中,并且 当 FFLAG 设置时,故障中断服务例程 (FlexPwm_Ip_ProcessFaultIrq) 会调用它。但是 FlexPwm_Ip_VS_0_PBcfg.c 生成的故障通道配置为 NULL_PTR。 这是 Pwm 插件的已知限制,还是一个缺陷? Re: [S32K396] eFlexPWM configuration issues 您好, Q1 – 互补型PWMA/PWMB的故障映射 对于互补通道对,仅配置 PWMA,PWMB 根据配置的 A/B 关系生成。 PWM 配置通过 FlexPwmChannelFaultSettings 提供单独的故障使能设置。但是,当选择互补模式时,PWMB 不再作为单独的可配置通道提供,因此没有相应的 GUI 选项来自定义其 DIS0B 故障映射。 在默认的 DISMAP RESET 配置下,故障输入仍保持对输出的启用状态。因此,从应用角度来看,默认配置即可满足所需的故障保护要求。 不过,我还是会向 RTD 团队确认,无法在互补模式下单独配置 DIS0B/DIS0X 是否是故意的,以及对于需要不同故障映射的应用,是否有受支持的方法。 Q2 – 中心对齐 PWM 模式下的 ADC 触发信号 PWM 配置允许从 PWMX、PWMA 或 PWMB 中选择触发源,以及上升沿、下降沿或上升沿和下降沿选择。 对于中心对齐的 PWM,VAL1 决定 PWM 周期,因此不能自由调整以移动 ADC 采样点。 根据所需的采样点,有几种可能性: 如果需要精确地在 PWM 重载点进行采样,FlexPWM 重载脉冲可直接作为 TRGMUX 触发信号源,并通过 TRGMUX 路由至 BCTU/ADC。 如果子模块不需要使用 PWMX 及其 VAL0/VAL1 资源进行本地同步,则可以通过标准的 Pwm 触发信号配置来配置和使用 PWMX 进行 ADC 触发信号。 如果需要相对于 PWM 中心独立调整采样点,则可以通过 FlexPWM IP API 配置一个自由 VALx 比较器,并将其用作输出触发信号。 因此,最佳解决方案取决于ADC采样点是否需要固定在PWM重载点,还是需要相对于它独立调节。 Q3 – 故障通知生成为 NULL_PTR 根据 Pwm 用户手册, FlexPwmFaultNotification指定了故障检测的用户回调函数,回调函数名称应使用除NULL或NULL_PTR之外的配置值。   我还使用 RTD 7.0.1 和 S32 Design Studio 配置工具进行了测试。在这种情况下,配置的故障通知能够正确地传播到FlexPwm_Ip_VS_0_PBcfg.c 文件中,包括回调原型和FaultNotification[]数组中的相应条目。   但是,我还没有使用 EB tresos Studio 30.0.0 验证相同的配置。因此,我将与 RTD 团队确认 EB tresos 生成路径中是否存在任何已知的差异或限制,导致生成NULL_PTR 。 BR,彼得 回复: [S32K396] eFlexPWM configuration issues 我还有以下几个问题: Q1.我想就此声明进行后续说明: “在默认的 DISMAP RESET 配置下,故障输入仍保持对输出的启用状态。因此,从应用角度来看,默认配置即可满足所需的故障保护要求。 只有当所有四个故障输入都实际连接到板上时,这个结论才成立。在我们的 ECU 中,只有 FAULT0 连接(它携带门驱动器 ST L9908 的 FS_FLAG)。FAULT1..FAULT3 完全没有布线,因此这些焊盘处于浮空状态/未配置为端口引脚,IMCR 也不会对它们进行布线 - 故障输入读取恒定电平。 由于 DISMAP0 RESET 为 0xFFFF(每个故障输入映射到每个输出),其结果是: --对于未路由的通道,如果 FLVL = LOW,则持续的低电平会被解释为永久故障,输出将永远保持禁用状态。 - 对于未路由的通道,如果 FLVL = HIGH,则这些故障通道将永久处于非活动状态,但它们仍然映射到 A/B/X 输出。 因此,我们必须在“Pwm_Init()”之后手动更新 DISMAP0 寄存器,以便只有 FAULT0 映射到 DIS0A / DIS0B / DIS0X。 能否在图形用户界面中显示DIS0A/DIS0B/DIS0X字段以支持互补模式(以便A和B可以独立映射)? Q2. 选项 1(FlexPWM 重载脉冲作为 TRGMUX 触发信号源):我们确认 TRGMUX_IP_INPUT_PWM0_MST_RELOAD 可用。 选项 2(用于 ADC 触发的 PWMX):这实际上是我们在打开此帖子之前首先尝试的路径:我们希望 PWMX 下降沿与 VAL1 对齐。但是,当选择通道对 = 互补时,EB tresos Pwm 插件根本不允许为该子模块创建 PWMX 通道容器,因此无法选择触发源 PWMX。 能否确认插件中的此限制是否为有意为之,以及基于 PWMX 的触发信号是否应该在互补模式下使用?如果这是插件的限制,也值得向 EB 插件团队报告。 再次感谢您的详细解答。 Re: [S32K396] eFlexPWM configuration issues 感谢您的回复,请等待RTD团队的确认。 回复: [S32K396] eFlexPWM configuration issues 您好, 感谢您的澄清和补充测试。 Q1 – DISMAP 配置 你说得对。我之前关于默认 DISMAP 配置就足够的说法过于笼统。 对于您的应用,如果仅使用 L9908 的 FAULT0,则配置 DIS0A/DIS0B/DIS0X 映射,使只有 FAULT0 影响相应的输出,是合适的配置。 我将向 RTD 团队确认,互补模式下缺少独立的 DIS0B/DIS0X 配置是否是 Pwm 插件的有意限制,以及这些设置是否计划通过配置工具公开。 在此期间,只要寄存器配置与预期的故障处理一致,您在 Pwm_Init() 之后手动更新 DISMAP0 即可提供一个实用的解决方法。 Q2 – 中心对齐 PWM 模式下的 ADC 触发信号 关于 PWMX,同一子模块内的限制似乎是合理的,因为 PWMX 使用 VAL0/VAL1,而 VAL0/VAL1 也参与本地同步/重新加载配置。 针对您的使用场景,我认为有两种可行的方案: - 如果需要精确地在 PWM 重载点进行采样,请直接通过 TRGMUX 使用重载触发信号。 -如果需要可调节的采样点,请使用未使用的 VAL 比较器,例如 VAL4/VAL5,并通过 FlexPWM IP API 配置触发信号。 也可以使用另一个同步的 FlexPWM 子模块通过其 PWMX/VAL0/VAL1 资源生成触发信号,但如果不需要额外的子模块功能,使用可用的 VAL4/VAL5 比较器似乎更简单。 我将与RTD团队确认这些选项。 BR,彼得
View full article
imx95lpd5evkの起動に関するヘルプが必要です IMX95LPD5EVKボードを手に入れたばかりですが、起動しません。起動を助けてください 現在のセットアップは、起動スイッチSW7を0010としてEMMCから起動しているというものです IMX-MIPI-HDMIボードをMini SASコネクタのJ14にコネクテッドし、HDMIをモニターに接続しました。 USB CデバッグケーブルをPCに接続しても、デバイスマネージャーに未知デバイスすら表示されないようです。 そして今、クイックスタートガイドに書いてある通り、画面にペンギンが表示されることを期待してボードの電源を入れたのですが、ペンギンは表示されません。ディスプレイは黒一色のみです。電源を入れた後、ファンが回るのを見るだけです。 それと、imx95がダウンしている場合でもデバッグは機能するはずなのか、という疑問があります。仕事用のノートPCのUSBが無効になっているのではないかと疑っているので、それが問題の原因になっているのではないかと疑っています。 私のマザーボードに搭載されているeMMCは、もしかして空なのでしょうか?ペンギンたちが予想通りに来ないからです。 どなたか、今後どう進めばいいかアドバイスしてもらえますか。 Re: Need help on imx95lpd5evk booting 実際は私のミスでしたが、問題は解決しました。ボードは現在起動しています。 お返事ありがとうございます Re: Need help on imx95lpd5evk booting こんにちは、 スイッチ(SW7)の写真を共有し、章の手順に従って「Connect USBデバッグケーブル」の手順に従い、端子の出力を共有していただけませんか?
View full article
iMX8QM - 中断/触发 a72 核心 CPU 您好,NXP, 我们成功启动了带有 a72 核心的 VARISCITE iMX8QM VAR-SOM-SYMPHONY 板,仅使用引导加载程序。引导加载程序日志如下: => CPU列表 错误:获取温度失败!(误差 = -19) 0: cpu@0 NXP i.MX8QM RevB A53 频率为 0 MHz - 传感器数据无效 错误:获取温度失败!(误差 = -19) 1:CPU@1 NXP i.MX8QM RevB A53 频率为 0 MHz - 传感器数据无效 错误:获取温度失败!(误差 = -19) 2:CPU@2 NXP i.MX8QM RevB A53 频率为 0 MHz - 传感器数据无效 错误:获取温度失败!(误差 = -19) 3:CPU@3 NXP i.MX8QM RevB A53 频率为 0 MHz - 传感器数据无效 4:CPU@100 NXP i.MX8QM RevB A72,频率 1596 MHz,温度 54°C 5:CPU@101 NXP i.MX8QM RevB A72,频率 1596 MHz,温度 54°C => 但是我们无法使用SGI中断/Poke CPU,设备树如下所示: gic:中断控制器@51a00000 { 兼容 = "arm,gic-v3"; reg = <0x0 0x51a00000 0 0x10000>, /* GIC Dist */       <0x0 0x51b00000 0 0xC0000>, /* GICR */       <0x0 0x52000000 0 0x2000>,  /* GICC */       <0x0 0x52010000 0 0x1000>,  /* GICH */       <0x0 0x52020000 0 0x20000> /* GICV */ #中断单元 = <3> 中断控制器; interrupts = ; interrupt-parent = <&gic>; };   设备树需要做任何更改吗?     Re: iMX8QM - Interrupt/Poke the a72 Core CPU 嗨@kamohan 这个问题与设备树关系不大。SGI 无法传递给内核;原因可能在于目标内核的上电状态或 GIC 初始化。 这是 ATF 中的代码,请确保使用 PSCI CPU_ON 和 SMC 为 A72 上电。 int imx_pwr_domain_on(u_register_t mpidr) { int ret = PSCI_E_SUCCESS; unsigned int cluster_id = MPIDR_AFFLVL1_VAL(mpidr); unsigned int cpu_id = MPIDR_AFFLVL0_VAL(mpidr); sc_pm_set_resource_power_mode(ipc_handle, cluster_id == 0 ? SC_R_A53 : SC_R_A72, SC_PM_PW_MODE_ON); sc_pm_req_low_power_mode(ipc_handle, cluster_id == 0 ? SC_R_A53 : SC_R_A72, SC_PM_PW_MODE_ON); if (sc_pm_set_resource_power_mode(ipc_handle, ap_core_index[cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id], SC_PM_PW_MODE_ON) != SC_ERR_NONE) { ERROR("core %d power on failed!\n", cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id); ret = PSCI_E_INTERN_FAIL; } if (sc_pm_cpu_start(ipc_handle, ap_core_index[cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id], true, CPU_START_ADDR) != SC_ERR_NONE) { ERROR("boot core %d failed!\n", cpu_id + PLATFORM_CLUSTER0_CORE_COUNT * cluster_id); ret = PSCI_E_INTERN_FAIL; } return ret; } void imx_pwr_domain_on_finish(const psci_power_state_t *target_state) { #if (!defined COCKPIT_A53) && (!defined COCKPIT_A72) uint64_t mpidr = read_mpidr_el1(); if (CLUSTER_PWR_STATE(target_state) == PLAT_MAX_OFF_STATE) cci_enable_snoop_dvm_reqs(MPIDR_AFFLVL1_VAL(mpidr)); #endif plat_gic_pcpu_init(); plat_gic_cpuif_enable(); } U-Boot 只使用主核心;辅助核心不会进入 U-Boot。此外,U-Boot 不启用 IRQ,也不在 NS 端配置 GIC CPU 接口,因此 U-Boot 无法接收 SGI 信号。 此致, 志明
View full article
Need help on imx95lpd5evk booting i just got the imx95lpd5evk board, it is not booting, help to make it boot the current set up is i have kept the boot switch SW7 as 0010 for booting from emmc i have connected a imx-mipi-hdmi board to the mini sas connector J14, and an hdmi to a monitor. when i connect a usb c debug cable to my pc, it is not even detecting, like i am not even getting unknown device in the device manager. and now i turn on the board expecting to get the penguins on the screen, as the quick start guide says, but i am not getting any penguins. The display is black only. after turning on i am seeing the fan getting on thats all. and i have a doubt is the debug supposed to work even when the imx95 is down? because i have doubt if the usb of my work laptop is disabled, which is causing the issue. is the emmc given in my board empty by any chance? because the penguins are not coming as expected. can someone guide me on how to move forward. Re: Need help on imx95lpd5evk booting actually it was some mistake on my part, and it is resolved, the board is booting now. Thank you for your reply Re: Need help on imx95lpd5evk booting Hello, Could you please share a picture of your switch (SW7), and follow the steps of chapter Connect USB debug cable, and share the output of the terminal. 
View full article