Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
Is there a support for the custom_dts_binding sample in zephyr 4.3.0 version in 93 I am working on imx93 custom board . so wanted to know will the custom_dts_binding application works on imx93. Re: Is there a support for the custom_dts_binding sample in zephyr 4.3.0 version in 93 Hello @Neha_V    I hope you are doing very well.   Actually, those are supported. you can take a look to the Docs / Latest » Build and Configuration Systems » Devicetree » Bindings index from Zephyr Documentation.   Here you have an example: https://docs.zephyrproject.org/latest/boards/nxp/imx93_evk/doc/index.html#board-mux-control     Best regards, Salas.
記事全体を表示
mimxrt1052 System security Hello everyone, I am using the mimxrt1052dvl6b EVK, and I have developed the final code. So I just want to know how to implement security for my product, so no one can read the flashed firmware (readback protection). If somehow someone gets read access, how can I use cryptography to encrypt this firmware? Also, how can I prevent access through J-Link debug and stop any read/write operation? No one should be able to read or write the firmware, even if it is stored in external flash. Please share any reference, reference manual, or steps to implement this. Thank you. Re: mimxrt1052 System security Hi @raj20024, hope you are doing well. Please check on the RT1050 HAB Encrypted Image Generation and Analysis community post, which contains information and a guide to use HAB encryption which may fit your requirements. Let me know if the information is useful.
記事全体を表示
i.MX93: Encrypted Data Storage API Test Error Hi Team, I performed ELE-HSM Tests according to the method provided in the README file at https://github.com/nxp-imx/imx-secure-enclave/blob/lf-6.12.49_2.2.0/ The following error was encountered. --------------------------------------------------- Encrypted Data Storage API Test --------------------------------------------------- Data [Encrypted + Signed] stored. SUCCESS Data [Encrypted + Signed] retrieved. SUCCESS Signature Verified. SUCCESS. Decrypted data matches stored Plain data. SUCCESS SAB Error: SAB CMD [0xa2] Resp [0x329] - Provided key-id, Unknown to key store.. hsm_data_ops [RETRIEVE Again] err: 0x3. SUCCESS Retrieved Again: Data Empty. SUCCESS --------------------------------------------------- Why is the ELE-HSM test reporting an error? Do I need to store the key in OTP first? Attach the logfile Thanks, Peter Re: i.MX93: Encrypted Data Storage API Test Error Hi Zhiming, Can an IMX93 ELE-HSM be used to replace the Crypto Authentication IC (e.g., ATECC608A)? If possible, how should I achieve this? I would be extremely grateful if you could provide any relevant information or documents. Thanks, Peter Re: i.MX93: Encrypted Data Storage API Test Error Hi @petertseng  This is a phenomenon consistent with the test expectations; there is no need to store the key in the OTP. Best Regards, Zhiming Re: i.MX93: Encrypted Data Storage API Test Error Hi @petertseng  In certain scenarios, their functionalities overlap, but ELE-HSM cannot fully replace ATECC608A. If you require a completely independent/offiline secure element, then ATECC608A should be used. If your needs are limited to key storage + AES encryption/decryption + RNG + SHA + secure boot, then using ELE is an option. Best Regards, Zhiming Re: i.MX93: Encrypted Data Storage API Test Error Hi Zhiming, How can I store the public key on the IMX93 ? Where is the public key physically stored ? (e.g., in OTP/eFUSE or root filesystem)? Thanks, Peter
記事全体を表示
i.MX Processors with 8GB RAM and above. Hi, I am planning to use i.MX processor for my application. Can you suggest some i.MX Quad core processors with 8GB and above. What is the maximum RAM size supported by i.MX 8M Mini From the datasheet I can infer that it can support upto to 8Gigabyte. Is my understanding correct? i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Re: i.MX Processors with 8GB RAM and above. Hi @Sai_ADI  According to the i.MX8M Mini Reference Manual memory map, the maximum supported DRAM size is 8 GB, and this capacity is only supported on the Quad‑A53. B.R
記事全体を表示
开始使用 S32K396 上的 HSE 我正在尝试构建支持 HSE 的应用程序。但我该如何开始呢?我知道我需要 1.启用 HSE 固件安装 2.更新 SBAF? 3. 安装 HSE 固件 我有 S32K396-BGA-DC1 板,使用嵌入式调试控制器。 我有元器件: HSE_FW_S32K396_0_2_50_0_D2411 HSE_DEMOAPP_S32K396_0_ 2_50_0_D2411 RM758227-RM00286 HSE-B 固件参考手册-V2.7 不过,DEMOAPP 似乎在很大程度上依赖 TRACE32 脚本,而没有 TRACE32 我就无法使用。 Re: Getting started with HSE on S32K396 你好,@Henrik-Wires ConfigTools 中的 IVT 工具不支持 S32K3 设备。IVT 表格内容必须手动定义和定制,RTD 没有提供配置工具。 HSE 固件的更新过程是通过更新服务完成的,必须从应用程序中调用该服务,并提供相应的固件版本。您可以参考 S32K344_HSE_FW_UPDATE 示例以获得指导。 此外,一旦在 MCU 上安装了 HSE 固件,为 HSE FW 分配的内存将保持保留状态,这意味着该内存区域不能被回收或用于应用代码。 关于 SBAF 更新过程,必须已安装 HSE 固件。之后,您需要验证 SBAF 是否是最新的。如果不是,则必须使用 HSE API 中 hseSbafUpdateSrv_t 结构定义的服务。作为参考,请查看 S32K344_SBAF_UPDATE 示例。 有关 SBAF 和 HSE 固件兼容性,请参阅下表: 最后请注意,HSE 演示应用程序仅用于演示 HSE 固件的功能。新版本的演示应用程序还包括最新的功能和改进,因此最新版本将永远是最佳参考。 Re: Getting started with HSE on S32K396 谢谢。在交叉引用了示例和参考手册之后,现在情况变得更清楚了。 关于 IVT 和 HSE 固件,我仍然有些困惑。S32 配置工具中的 IVT 屏幕似乎只支持 QSPI 闪存映像?是否应该手动编辑启动标题来为嵌入式闪存映像构建 IVT?或者即使屏幕显示 QSPI 是唯一可用的启动源,它也能通过配置工具运行吗?据我所知,DemoExamples应用程序有手动编辑的boot_header和链接脚本,而且似乎根本没有使用S32配置工具。 使用通过IVT链接的嵌入式HSE固件将应用程序作为代码包,以确保HSE固件始终与主固件保持最新状态是否可行。还是说主应用程序需要管理 HSE 固件更新?在大约 2MB 的应用程序映像大小 (AB) 中,我们将有足够的空间容纳两者,只是尚不完全清楚在 IVT 中始终包含 HSE 固件是否可以,以及这在启动过程中意味着什么。 建议的 SBAF 更新流程是什么?关于 SBAF 和 HSE 固件安装之间的依赖关系,我找到了一些相互矛盾的信息,有些信息来源称应在 SBAF 更新之前安装 HSE 固件,有些则称可能需要在安装 HSE 映像之前更新 SBAF(HSE 需要较新的 SBAF)。 另外,在新设计中,S32K396 软件包中我们可以预期的最低 SBAF 版本是多少?我们是否可以假定至少是 0.15.0,还是说我们在生产中可能会遇到 SBAF 早期版本的芯片? 而且我假设在构建自己的应用程序时,较新的 DEMOAPP 示例是当前 HSW 固件集成源的正确参考? Re: Getting started with HSE on S32K396 你好,@Henrik-Wires 作为 HSE DEMO APP 的替代方案,还提供用于通用 HSE 演示示例的 S32K3 MCU。这是 HSE DEMO APP 的移植版,但在本例中,它是为与 PEmicro 和 Design Studio 一起使用而设计的。这提供了不同的用例场景和示例,以展示搭载 S32K344 设备的 HSE 固件的功能。尽管不是您正在使用的特定设备,但HSE FW是相同的,因此它将是一个很好的参考和起点。 此外,还有一些应用说明和培训演示文稿可能对您入门 S32K3 设备的安全性有所帮助。可通过导航至文档 → 安全文档下的电气化应用 S32K39/37/36 微控制器主页访问。 BR、VaneB
記事全体を表示
RT117x: explaination of GPIO2 and 3 Hello, In the RT1170 Ref Man I see the bus diagram: In particular the CM7 box: GPIO2 and GPIO3 appear to be tightly coupled to the CM7 core. But also the seems to have a bus connection (the pink line). What does this mean? GPIO2 and 3 are actually tightly coupled to the CM7 (for example using a dedicated communication channel instead of peripheral bus)? GPIO2 and 3 are only accessible from CM7, and not from CM4? Access to GPIO 2 and 3 (from CM7) is faster than to the other GPIOs (1-6)? best regards Max Re: RT117x: explaination of GPIO2 and 3 Hi See this video about high speed GPIO option on the i.MX RT 106x (with speed comparisons): https://www.youtube.com/watch?v=nLInUIboLR0&list=PLWKlVb_MqDQEOCnsNOJO8gd3jDCwiyKKe&index=14 It is more or less equivalent to the two GPIO ports on the RT117x that you are referring to. Regards Mark Re: RT117x: explaination of GPIO2 and 3 Hi @EdwinHz  What I'm asking you is whether CM7_GPIO(2,3) use the same bus as the other peripherals. The CM7_GPIO2 and CM7_GPIO3 are special highspeed GPIOs that are only accessible from the CM7 core In what sense are CM7_GPIO(2,3) faster than GPIO(2,3)? Do they occupy the bus for less time? I found this diagram: Which bus is for peripherals? APB or AHB32? Where can I find a complete and comprehensive list of which slaves are connected to APB and AHB32? best regards Max Re: RT117x: explaination of GPIO2 and 3 Hi @mastupristi, The CM7_GPIO2 and CM7_GPIO3 (as referred to in the Reference Manual, and which are different from the normal GPIO2 and GPIO3) are special highspeed GPIOs that are only accessible from the CM7 core. From the Section "13.1 Chip-specific GPIO information" of the RM: "GPIO_MUX2_IOn and GPIO_MUX3_IOn signals can be routed to the standard GPIO modules (GPIO2 and GPIO3), or they can be routed to high speed GPIO modules (CM7_GPIO2 and CM7_GPIO3). By default, all of the GPIO_MUX2 and GPIO_MUX3 signals route to the standard GPIO2 and GPIO3 modules. To use high speed GPIOs, the IOMUXC_GPR40 - IOMUC_GPR43 registers must be reconfigured to route the desired signals to the CM7_GPIO2 and/or CM7_GPIO3 modules." BR, Edwin.
記事全体を表示
RT700 LinkServer Documentation Request I am working with the RT700 series MCU on the EVK board and using a CMake-based build system together with LinkServer from the command line (outside of MCUXpresso IDE). The IDE example projects run correctly on my setup. I am trying to gain a deeper understanding of the overall architecture and tooling. I am looking for clear and complete documentation covering: Full list of LinkServer CLI options.  Structure and purpose of .scp script files Device JSON configuration format and how flash drivers are defined How the flash programming algorithm is selected and executed from RAM The interaction between SCP scripts, JSON configuration, and the target device Any official guide describing how to develop a custom memory/flash loader Additionally, I would appreciate clarification regarding: The purpose of the .flash_config section in the linker script Where this section is required to be placed (offset and memory region) Which reference manual or document specifies this requirement For secure boot applications, I would also like guidance on: The recommended utility to sign an ELF/image for RT700 Whether the signing tool supports command-line usage  Documentation describing the signing flow and documentation for signing tool  Is there a detailed user guide, reference manual, or architectural documentation that explains these components and requirements clearly. Re: RT700 LinkServer Documentation Request Hi @prathamvora , Thank you so much for your interest in our products and for using our community.  A1: LinkServer CLI      .scp scripts      device JSON files LinkServer is NXP’s standalone GDB server and flash programming tool. It can be used  outside the MCUXpresso IDE. LinkServer for Microcontrollers | NXP Semiconductors https://www.nxp.com/docs/en/user-guide/UG10219.pdf You can view all available command-line options by running: linkserver --help linkserver gdbserver --help linkserver flash --help   The .scp script files are used by LinkServer to control connect,  reset  ,and so on. you can open the RT700_reset.scp script to examine the structure and commands used for reference.  You can find device JSON  under: C:\nxp\LinkServer_25.12.83\devices\ MIMXRT700-EVK.json  The JSON file contains definitions for  memory map, flash regions, flash drivers... A2: Purpose of the .flash_config section Could you clarify where you saw the .flash_config section? For RT700 I strongly recommend reviewing this application note: AN14821 – RT700 Secure Boot and Image Structure https://www.nxp.com/webapp/Download?colCode=AN14821&location=null&isHTMLorPDF=HTML This AN explains the image header, boot flow, and memory layout required for RT700 secure and non-secure images. A3: Signing tools for RT700 secure boot For signing RT700 images, the recommended tool is: MCUXpresso Secure Provisioning (SEC) Tool This tool provides GUI workflow, and Full command-line interface , Support for image signing, certificate handling... For more detail information, you can refer to the below link. MCUXpresso Secure Provisioning Tool Documentation https://docs.mcuxpresso.nxp.com/secure/latest/06_processor_specific_workflow.html#id13   Wish it helps you Best Regards Mayliu
記事全体を表示
S32K344 的 I2C 主控示例(RTD 5.0.0) 我想在 S32K344(RTD 5.0.0)上以主模式使用 I2C。当我尝试导入可用的 I2C 示例项目时,出现了许多错误(包括在 .mex文件)。您有支持 RTD 5.0.0 的 I2C Master 示例项目吗? Re: I2C Master Example for S32K344 (RTD 5.0.0) 你好@gayancho 运行示例之前,必须生成配置文件。为此,请进入 S32DS 的 "项目浏览器 "视图并选择当前项目。然后打开 S32 配置工具菜单,选择要使用的工具(引脚、时钟、外设等)。 进行所需修改后,单击 S32 配置工具 → 更新代码按钮。代码更新后,该示例应无错误地生成版本。 此外,在S32K344 LPI2C0 传输失败的主题中,我共享了一个配置文件(.mex)和一个 main.c文件中使用 LPI2C0 作为主站的阻塞传输示例。尽管它可能与您的确切软件版本不匹配,但它仍应作为有用的参考。 BR、VaneB Re: I2C Master Example for S32K344 (RTD 5.0.0) 你好@gayancho 我查看了您的 .mex文件,而 I2C 时钟源配置缺失的原因是缺少所需的 Clock_Ip_ReferencePoint 项。 你需要在 mcuClockReference 部分中为 I2C 时钟定义相应的参考点。在 clock_IP_referencePoint 驱动程序中,添加一个与 I2C 时钟源相对应的新参考点。这应该是 AIPS_SLOW_CLK。 添加参考点后,转到 LPi2c 驱动程序配置。在 I2C 时钟源中,新创建的 McuClockReferencePoint 现在应显示为可选项。 选择与 AIPS_SLOW_CLK 对应的参考点;根据我分享的屏幕截图,这将是:/clock_ip_referencePoints/clock_IP_referencePoints/clock_IP_referencePoints/clock_ip_referencePo Re: I2C Master Example for S32K344 (RTD 5.0.0) 嗨 @VaneB,我已经在时钟元器件中启用了 LPI2C0 PCC 时钟,但是 LPI2C 配置仍然显示 “未启用源时钟”,而且 I2C 时钟源下拉列表保持空白。我已确保时钟和 LPI2C 位于同一个功能组(BOARD_InitPeripherals)中。能否请您说明需要在 RTD 5.0.0 中为 LPI2C0 启用哪个时钟源/配置设置才能使时钟源可用?
記事全体を表示
LPC5460x 次级引导加载程序闪烁不成功 我开发了一个辅助引导加载程序,允许我通过调制解调器协议在设备上刷新应用程序代码。 我的引导加载程序存储在闪存和 ECRP 值中,以防止在断电等情况下引导时第一个扇区被意外擦除。 不过,我希望能从应用程序代码中更新引导加载器。由于 ECRP 值会锁定闪存的第一页,而根据文档,我必须先擦除所有扇区(如大规模擦除)以消除锁定,然后才能继续重写引导加载程序。 Q1.这可能吗? Q2。我是否需要在擦除所有扇区后RESET才能清除闪存扇区的锁定? Q3.我编写了代码并进行了尝试,我设法擦除了芯片并将第一页代码闪存到 0 扇区,当我使用 IAP 命令闪存第二页时,什么也没发生,随后我的代码在比较第二页时失败,IAP 状态代码为 19(这是没有记录的)。 由于我无法从外部访问实际应用中的 uart 或 swd,因此需要尽可能从应用中进行操作。 凯利 Re: LPC5460x Secondary bootloader not flashing successfully 哈利 我最终没有实现闪烁引导加载程序,因为以下事实导致无法实现 第 2 步会覆盖第 1 步-> 如果您从应用程序代码更新引导加载程序并发出 RESET,则说明您丢失了 SRAM 中进行更新的代码。因此,除非有其他方法可以移除闪存锁,否则没有外部主控器进行更新是无法实现的。 Re: LPC5460x Secondary bootloader not flashing successfully 嗨@kellykan 问题 1:是否可以从应用程序代码更新引导加载程序? 是的,可以更新,但由于 ECRP 保护,这涉及到几个关键步骤和注意事项。ECRP 值会锁定闪存中的第一页以保护它,通常情况下,要更新引导加载程序,必须执行大规模擦除以清除 ECRP 保护。大量擦除后,可以重新编程引导加载程序并再次设置 ECRP 值。 问题 2:擦除所有扇区后是否需要 RESET 才能清除闪存扇区的锁定? 是的,大规模擦除后通常需要 RESET 以重新初始化闪存控制器并确保正确清除 ECRP 锁。如果不RESET,闪存控制器可能仍有锁的残留物,这可能会在随后的闪存操作中导致问题。 问题 3: 使用 IAP 命令闪烁第二页时出现的问题 1。擦除不完整或编程不完整:在尝试编程之前,确保批量擦除成功且闪存扇区已正确擦除。 2。IAP 命令序列不正确:确认使用正确的 IAP 命令序列来擦除和编程闪存扇区。 3.RESET要求:如前所述,可能需要在大规模擦除后进行RESET才能完全清除 ECRP 锁。 希望能帮到你。 BR 挂
記事全体を表示
88W9098 Dual-STA Concurrency Issue: 2.4GHz+5GHz Works, 5GHz+5GHz Fails Platform: Kernel: 6.12.22-1~bpo12 Hardware: two PCIe functions of NXP 88W9098 05:00.0 Ethernet controller: Marvell Technology Group Ltd. NXP 88W9098 Wi-Fi 6 (ax) MAC (rev 03) 05:00.1 Ethernet controller: Marvell Technology Group Ltd. NXP 88W9098 Wi-Fi 6 (ax) MAC (rev 03 Firmware/driver version in dmesg: PCIE9098--17.92.1.p149.70-MM6X17537.p9-GPL-(FP92) iw dev: phy#1 Interface muap0 ifindex 13 wdev 0x100000002 addr 62:09:c3:84:f4:06 type AP txpower 8.00 dBm Interface wifi1 ifindex 12 wdev 0x100000001 addr 02:83:e9:5a:d9:88 ssid 603000137 type managed channel 149 (5745 MHz), width: 40 MHz, center1: 5755 MHz txpower 8.00 dBm phy#0 Interface uap0 ifindex 11 wdev 0x2 addr 62:09:c3:84:f4:05 type AP txpower 8.00 dBm Interface wifi0 ifindex 10 wdev 0x1 addr 02:06:84:dd:b3:06 type managed txpower 8.00 dBm Module parameters (wifi_mod_para.conf 😞 PCIE9098_0 = { cfg80211_wext=0xf max_vir_bss=2 cal_data_cfg=none drv_mode=3 ps_mode=0 auto_ds=0 host_mlme=1 fw_serial=0 fw_name=nxp/pcie9098_wlan_v1.bin } PCIE9098_1 = { cfg80211_wext=0xf max_vir_bss=2 cal_data_cfg=none drv_mode=3 ps_mode=0 auto_ds=0 host_mlme=1 fw_serial=0 fw_name=nxp/pcie9098_wlan_v1.bin } dmesg during boot [ 11.515991] wlan: Loading MWLAN driver [ 11.520443] wlan: Register to Bus Driver... [ 11.526456] usbcore: registered new interface driver usbxxx [ 11.526514] wlan_pcie 0000:05:00.0: enabling device (0000 -> 0002) [ 11.526843] PCI memory map Virt0: 000000005be8cdc1 PCI memory map Virt2: 000000009d0c2f64 [ 11.535873] Attach moal handle ops, card interface type: 0x206 [ 11.542446] rps set to 0 from module param [ 11.584391] PCIE9098: init module param from usr cfg [ 11.590015] card_type: PCIE9098, config block: 0 [ 11.595242] cfg80211_wext=0xf [ 11.598831] max_vir_bss=2 [ 11.602046] cal_data_cfg=none [ 11.605574] drv_mode = 3 [ 11.608660] ps_mode = 0 [ 11.611646] auto_ds = 0 [ 11.614714] host_mlme=enable [ 11.618137] fw_serial off [ 11.621296] fw_name=nxp/pcie9098_wlan_v1.bin [ 11.626196] rx_work=1 cpu_num=4 [ 11.629939] Enable moal_recv_amsdu_packet [ 11.629965] Attach mlan adapter operations.card_type is 0x206. [ 11.634528] u32 classifier [ 11.634533] Performance counters on [ 11.634534] input device check on [ 11.634534] Actions configured [ 11.638044] Request firmware: nxp/pcie9098_wlan_v1.bin [ 11.695178] WLAN FW already running! Skip FW download [ 11.695185] WLAN FW is active [ 11.698698] on_time is 11697917213 [ 11.710533] VDLL image: len=153536 [ 11.712842] fw_cap_info=0xc8fcefa3, dev_cap_mask=0xffffffff [ 11.712851] max_p2p_conn = 8, max_sta_conn = 64 [ 11.712854] set int_sel_mask=0x2020001 [ 11.761832] Register NXP 802.11 Adapter mlan0 [ 11.776853] wlan: uap%d set max_mtu 2000 [ 11.793418] Register NXP 802.11 Adapter uap0 [ 11.798318] wlan: version = PCIE9098--17.92.1.p149.70-MM6X17537.p9-GPL-(FP92) [ 11.806333] wlan_pcie 0000:05:00.1: enabling device (0000 -> 0002) [ 11.806547] PCI memory map Virt0: 0000000063510d3b PCI memory map Virt2: 00000000ab4773fb [ 11.815422] Attach moal handle ops, card interface type: 0x206 [ 11.821845] rps set to 0 from module param [ 11.826586] PCIE9098: init module param from usr cfg [ 11.832135] card_type: PCIE9098, config block: 1 [ 11.837290] cfg80211_wext=0xf [ 11.840799] max_vir_bss=2 [ 11.843950] cal_data_cfg=none [ 11.847394] drv_mode = 3 [ 11.850373] ps_mode = 0 [ 11.853264] auto_ds = 0 [ 11.856300] host_mlme=enable [ 11.859630] fw_serial off [ 11.862729] fw_name=nxp/pcie9098_wlan_v1.bin [ 11.867568] rx_work=1 cpu_num=4 [ 11.871161] Enable moal_recv_amsdu_packet [ 11.871223] Attach mlan adapter operations.card_type is 0x206. [ 11.872913] Request firmware: nxp/pcie9098_wlan_v1.bin [ 11.879282] WLAN FW already running! Skip FW download [ 11.879287] WLAN FW is active [ 11.882685] on_time is 11881903673 [ 11.886839] VDLL image: len=153536 [ 11.886850] fw_cap_info=0x48fcefa3, dev_cap_mask=0xffffffff [ 11.886855] max_p2p_conn = 8, max_sta_conn = 64 [ 11.886856] set int_sel_mask=0x2020001 [ 11.904173] Register NXP 802.11 Adapter mmlan0 [ 11.909104] wlan: muap%d set max_mtu 2000 [ 11.914194] Register NXP 802.11 Adapter muap0 [ 11.918978] wlan: version = PCIE9098--17.92.1.p149.70-MM6X17537.p9-GPL-(FP92) [ 11.926915] wlan: Register to Bus Driver Done [ 11.931694] wlan: Driver loaded successfully Observed behavior: Single STA works: wifi0 or wifi1 alone connects successfully (auth/assoc + key negotiation completed). Dual 2.4GHz+5GHz works: Dual 5GHz+5GHz does not work:  With one STA already connected, second STA fails to connect. Repeated scan/auth/assoc attempts on second STA, then temp disable: CTRL-EVENT-SSID-TEMP-DISABLED ... reason=CONN_FAILED This occurs even when connecting “one at a time” (bring one up, then second). dmesg: [ 1399.528659] wlan:MLAN_EVENT_ASSOC_FAILURE [ 1399.528667] ASSOC_RESP: Association Failed, status code = 1, error = 0xffff, a_id = 0xffff [ 1399.528671] IOCTL failed: 00000000f049a335 id=0x20000, sub_id=0x20001 action=1, status_code=0xffff0001 [???] [ 1399.528703] HostMlme wifi0: bss_start Fails [ 1399.528707] wlan: HostMlme wifi0 Failed to connect to bssid 82:XX:XX:XX:56:9f Should this firmware/driver build support stable simultaneous dual-5GHz STA connections across two PCIe functions? Are there recommented  module parameters / firmware update / driver patch for this scenario? Re: 88W9098 Dual-STA Concurrency Issue: 2.4GHz+5GHz Works, 5GHz+5GHz Fails Hi, If I am understanding correctly:  STA (2.4 GHz) + STA (5 GHz) works. STA (5 GHz) + STA (5 GHz) doesn't work. If the above is correct, I'm afraid this is expected behavior. This is because: Radio 0 always operates in 5 GHz. Radio 1 always operates in 2.4 GHz. One Wi-Fi interface from MAC 1 operates in Radio 0 and one Wi-Fi interface from MAC 2 operates in Radio 1. Interfaces of Wi-Fi Radio 0 (MAC 1 - 5 GHz): mlan0, uap0, and wfd0 Interfaces of Wi-Fi Radio 1 (MAC 2 - 2.4 GHz): mmlan0, muap0, and mwfd0 For more information, I would recommend you take a look at the Concurrent dual Wi-Fi (CDW) mode Release Notes section. Regards, Daniel.
記事全体を表示
Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM Attached is a zip of a simple VSCode / NXP MCUXpresso Zephyr project which demonstrates GPIO and RTC failures after enabling TF-M with PROFILE_MEDIUM at ISOLATION_LEVEL=2. The project contains a simple overlay MCXN947 overlay file, a simple prj.conf file, and a couple simple c files. When the project reaches boot, zephyr has already configured TF-M. At boot the project attempts to toggle a couple GPIO. The code appears to work, no errors are thrown, but a logic analyzer shows the pins are not toggling. After that it prints some console messages with the time from the RTC. The time properly advances as it should however if the board is reset, the time is lost and starts at zero again. The RTC did not survive a reset. If the TF-M configuration is removed and the project is changed to a simple zephyr non TF-M project, the GPIO and RTC will work as expected. The flash and debug process also work as expected.  It is my hypothesis that the AHBSC controller is not configured properly and does not allow GPIO or the RTC to operate with non-secure code.  Another problem of lesser severity is that I have been unable to configure launch.json to properly flash and then debug main.c or other non-secure code.  I am using Zephyr 4.3.99...the latest zephyr version. VSCode and MCUXpresso are both up to date. Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM Additional files below. If there is a way to send the project, let me know. Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM I had a zip of my project attached to the original post but it seems to have been deleted. I'll try again. Nope zip is not supported. I'll try to attach the raw source files. You can take them and make your own project. Since there is a 5 file limit, I'll try to send them in two replies.  THANK YOU for looking at this. This problem is a show stopper for me and I also think it might be a big problem for others also.  Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM Hi @ClarkS  Can you share your code? BR Harry Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM Hi @ClarkS  Thank you for your detailed description. " ## Known Findings 1. **BusFault when reading AHBSC**: Non-secure code triggers immediate BusFault (BFAR: 0x400AC1D0) when attempting to read AHBSC controller registers - This proves: At ISOLATION_LEVEL=2, NS is completely locked out from peripheral access verification - AHBSC controller itself is in secure-protected memory space 2. **GPIO still doesn't work**: Even if AHBSC configuration is happening in secure world (which we can't v_erify), NS GPIO remains non-functional " According to the MCX Nx4x Reference Manual 73.1.2 Security considerations   Each GPIO module is also instantiated to use two module slots (for example, GPIO0 and GPIO0_alias). At the Secure AHB controller, one slot can be configured for secure access while the other is configured for non-secure access. The GPIO module implements Access protection that can be used to configure secure/non-secure and privileged/non-privileged access on a per pin basis I think the following links are helpful to you. NXP MCXN947 CPU1 cannot control GPIO · Issue #88521 · zephyrproject-rtos/zephyr NXP MCXN947 CPU1 cannot control GPIO · Issue #88521 · zephyrproject-rtos/zephyr MCXN947 failed to control GPIO in slave core (CPU1) BR Harry Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM I have been continuing to work on this with no success. I am preparing a reply to you with more information and a request for further help. I'll post it tomorrow.  Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM I am still unable to get GPIO to work after configuring zephyr to implement TF-M. I have attempted to modify the blinky app  by adding TF-M and when I do, the LED no longer flashes. Please provide a modification of the blinky sample app which simply enables TF-M. Ideally it should implement the best method of adjusting the AHBSC, SYSCON, and GPIO registers so as to enable GPIO.  Is modifying target_cfg.c the only way to adjust these registers before main is executed? I hope there is a better method because I don’t like modifying my zephyr repo. 
記事全体を表示
Zephyr プロジェクトで PROFILE_MEDIUM で TF-M を有効にした後に GPIO と RTC に障害が発生する 添付されているのは、PROFILE_MEDIUM と ISOLATION_LEVEL=2 で TF-M を有効にした後に GPIO および RTC の障害を示す、シンプルな VSCode / NXP MCUXpresso Zephyr プロジェクトの zip です。 このプロジェクトには、単純なオーバーレイ MCXN947 オーバーレイ ファイル、単純な prj.conf ファイル、およびいくつかの単純な c ファイルが含まれています。プロジェクトが起動すると、zephyr はすでに TF-M を設定しています。起動時に、プロジェクトはいくつかの GPIO を切り替えようとします。コードは動作しているようで、エラーは発生していませんが、ロジック アナライザーではピンがトグルしていないことが示されています。その後、RTC からの時刻とともにいくつかのコンソール メッセージが出力されます。時間は正しく進みますが、ボードがリセットされると、時間は失われ、再びゼロから始まります。RTC はリセットしても存続しませんでした。 TF-M 構成を削除し、プロジェクトを単純な Zephyr 非 TF-M プロジェクトに変更すると、GPIO と RTC は期待どおりに動作します。フラッシュおよびデバッグのプロセスも期待どおりに動作します。 AHBSC コントローラーが適切に構成されておらず、GPIO または RTC が非セキュア コードで動作できないというのが私の仮説です。 重大度の低いもう 1 つの問題は、launch.json を構成して main.c やその他の安全でないコードを適切にフラッシュしてデバッグできないことです。 私は最新の Zephyr バージョンである Zephyr 4.3.99 を使用しています。VSCode と MCUXpresso はどちらも最新です。 Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM 追加ファイルは以下にあります。プロジェクトを送信する方法があればお知らせください。 Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM 元の投稿にプロジェクトの zip ファイルを添付していましたが、削除されたようです。もう一度試してみます。 いいえ、zip はサポートされていません。生のソースファイルを添付してみます。それらを活用して独自のプロジェクトを作成することができます。ファイルの制限が 5 つあるため、2 回の返信で送信するようにします。 ご覧いただきありがとうございます。この問題は私にとっては致命的であり、他の人にとって大きな問題になる可能性があると思います。 Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM こんにちは@ClarkS コードを共有してもらえますか? BR ハリー Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM こんにちは@ClarkS 詳しくご説明いただきありがとうございます。 」 ## 既知の調査結果 1. **AHBSC 読み取り時の BusFault**: 非セキュア コードが AHBSC コントローラ レジスタを読み取ろうとすると、直ちに BusFault (BFAR: 0x400AC1D0) が発生します。 - これは次のことを証明します: ISOLATION_LEVEL=2では、NSはペリフェラル アクセス検証から完全にロックアウトされます - AHBSCコントローラ自体は安全に保護されたメモリ空間にあります 2. **GPIOはまだ機能しない**: AHBSC構成がセキュアワールド(検証できない)で行われている場合でも、NS GPIOは機能しないままです。 」 MCX Nx4xリファレンスマニュアル73.1.2によると セキュリティに関する考慮事項   各 GPIO モジュールは、2 つのモジュール スロット (たとえば、GPIO0 と GPIO0_alias) を使用するようにインスタンス化されます。 セキュア AHB コントローラでは、1 つのスロットをセキュア アクセス用に構成し、もう 1 つのスロットを非セキュア アクセス用に構成できます。 GPIOモジュールは、ピンごとにセキュア/非セキュアおよび特権/非特権アクセスを構成するために使用できるアクセス保護を実装します。 以下のリンクが役に立つと思います。 NXP MCXN947 CPU1 が GPIO を制御できない · 問題 #88521 · zephyrproject-rtos/zephyr NXP MCXN947 CPU1 が GPIO を制御できない · 問題 #88521 · zephyrproject-rtos/zephyr MCXN947はスレーブコア(CPU1)のGPIOを制御できませんでした BR ハリー Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM 私はこれに取り組み続けていますが、成功していません。より詳しい情報とさらなるサポートのリクエストを記載した返信を準備しています。明日投稿します。 Re: Failures with GPIO and RTC after Zephyr project enabled TF-M with PROFILE_MEDIUM ZephyrをTF-Mを実装するように設定した後も、GPIOが動作しません。TF-Mを追加してblinkyアプリを改造しようと試みましたが、そうするとLEDが点滅しなくなりました。 TF-Mを有効にするだけの、点滅サンプルアプリの修正版を提供してください。理想的には、GPIOを有効にするために、AHBSC、SYSCON、およびGPIOレジスタを調整する最適な方法を実装する必要があります。 main関数が実行される前にこれらのレジスタを調整するには、target_cfg.cを修正する以外に方法はありませんか?Zephyrリポジトリを修正するのは好きではないので、もっと良い方法があればいいのですが。
記事全体を表示
Trustzone examples not available in MCUXpresso IDE toolchain Hi all, tried to get a reference project using the Trustzone of my RFDM MCX N947. Used the MCUXpresso SDK Builder to build the SDK for the board and installed it in MCUXpresso IDE. When trying to import SDK example there is no Trustzone example available. Found the following guide, built and downloaded SDK for the lpcxpresso55s16 but still no Trustzone examples available in the import wizard https://mcuxpresso.nxp.com/mcuxsdk/latest/html/boards/LPC/lpcxpresso55s16/gettingStarted/topics/build_a_trustzone_example_application_003.html I found the examples in the Examples Tab of the MCUXpresso SDK Builder but if selecting the examples, the SDK can not be built with the MCUXpresso toolchain anymore, only ARM GCC/MCUXpresso for VS Code. Are those examples still available for the MCUXpresso toolchain? Thank you very much for your help. Best regards, MCXN Re: Trustzone examples not available in MCUXpresso IDE toolchain Hello @Habib_MS, thanks for your help. I saw the multicore example rpmsg_lite_pingpong_tzm later on and that works for me. I already tested the VS code examples but those are not that helpful regarding memory configuration but thats another issue. FYI: The last link you posted is not working. BR Florian Re: Trustzone examples not available in MCUXpresso IDE toolchain Hello @FlorianF1, There is no specific TrustZone example in MCUXpresso, but it is used in other examples. For instance, in the TFM examples, which use the trustzone architecture to create Trusted Firmware. For more details about TFM, please refer to this page. Another example that uses TrustZone is the multicore example rpmsg_lite_pingpong_tzm, as mentioned in its README file. However, in the MCUXpresso extension for VS Code, there are examples demonstrating TrustZone that can be used as a reference, as shown in the following image: There is also a training available that explains how to Develop Secure TrustZone Applications | NXP Semiconductors, which may be helpful. BR Habib
記事全体を表示
IMXRT1176 Linkserver session breaks after resuming after first breakpoint Dear Everyone, We run into strange issue recently and we can't seem to find a reason for it. We're on IMXRT1176 EVKB and we use MCU for VS-Code with LinkServer. We have FreeRTOS setup. We can connect to the core and debug main task but as soon as the scheduler starts and we enter a breakpoint in first task, every next attempt to do a step or resume ends with logs: ``` "C:\\NXP\\LinkServer_25.12.83\\LinkServer.exe" -l5 gdbserver "MIMXRT1176xxxxx:MIMXRT1170-EVKB" --probe U03FONP053YJN --gdb-port 2352 --no-boot --redlink-port 2440 --core cm7 .... [25630]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25654]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25674]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25694]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25713]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25735]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25755]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25775]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25795]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25814]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25834]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25853]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25872]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25890]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25909]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25928]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25947]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25968]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [25988]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26007]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26027]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26046]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26066]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26085]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26167]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26189]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26210]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26230]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26250]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26270]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26290]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26310]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access [26330]INFO:launcher.core.stub: [stub (2352)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access ``` Debug console ``` GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"log","content":"Could not read registers; remote failure reply '22'\n","output":[]}],"output":""} Could not read registers; remote failure reply '22' 55-exec-interrupt GDB -> App: {"token":55,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]},"output":""} 56-exec-interrupt GDB -> App: {"token":56,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]},"output":""} 57-exec-interrupt GDB -> App: {"token":57,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]},"output":""} 58-exec-interrupt GDB -> App: {"token":58,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]},"output":""} ``` This is our launch json: ```       "type": "mcuxpresso-debug",       "name": "Debug",       "request": "launch",       "cwd": "${workspaceFolder}",       "executable": "${workspaceFolder}/build_stdl_fspi_nor_dbg/binary.elf",       "stopAtSymbol": "main",       "isAttach": false,       "probeType": "",       "skipBuildBeforeDebug": true,       "gdbInitCommands": [         "set remotetimeout 600",         "set debug-file-directory",         "set non-stop off"       ],       "gdbServerConfigs": {         "linkserver": {           "device": "MIMXRT1176xxxxx:MIMXRT1170-EVKB",           "core": "cm7"         },             "segger": {},             "pemicro": {}       },       "svdPath": "${workspaceFolder}/MIMXRT1176_cm7.xml",       "showDevDebugOutput": "parsed",       "probeSerialNumber": "OurSerialNumber"     }, ``` We use the first task as a scheduler to start another tasks and we noticed that once we remove some things from the task, like function calls which do: xTaskCreate mostly, so nothing major, the debugger seems to work again. It looks like we extend some buffer and it causes the debugger connection to break. The MCU requires reset after that and it's not possible to connect. The software DOES work without debugger. We would appreciate any suggestions on why does it happen Re: IMXRT1176 Linkserver session breaks after resuming after first breakpoint Hello, thank you very much for the response. I tried to reproduce the issue on the different PC where we have fresh sdk toolchain installed through MCUX installer: https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-installer:MCUXPRESSO-INSTALLER The code worked on different machine so we reinstalled it from scratch on problematic PC and the issue disappeared. Best Regards, Jakub Re: IMXRT1176 Linkserver session breaks after resuming after first breakpoint Hello,   Would you help us validate if you added enough stack for the tasks that you mention ?  Also, would you help us try adding more stack size to your scheduler ?  Regards, 
記事全体を表示
Trustzoneの例はMCUXpresso IDEツールチェーンでは利用できません こんにちは、皆さん。 RFDM MCX N947 の Trustzone を使用して参照プロジェクトを取得しようとしました。MCUXpresso SDK Builder を使用してボード用の SDK をビルドし、MCUXpresso IDE にインストールしました。SDK の例をインポートしようとしましたが、使用できる Trustzone の例がありません。 次のガイドを見つけ、lpcxpresso55s16用のSDKをビルドしてダウンロードしましたが、インポートウィザードでTrustzoneの例はまだ利用できません https://mcuxpresso.nxp.com/mcuxsdk/latest/html/boards/LPC/lpcxpresso55s16/gettingStarted/topics/build_a_trustzone_example_application_003.html MCUXpresso SDK ビルダーの [例] タブで例を見つけましたが、例を選択すると、SDK は MCUXpresso ツールチェーンでビルドできなくなり、VS Code 用の Arm GCC/MCUXpresso のみでビルドできるようになります。 これらの例は、MCUXpresso ツールチェーンでまだ使用できますか? ご協力誠にありがとうございました。 よろしくお願いします、 MCX N Re: Trustzone examples not available in MCUXpresso IDE toolchain こんにちは@Habib_MS 、 ご助言ありがとうございます。 後でマルチコアの例 rpmsg_lite_pingpong_tzm を見ましたが、これは私にとってはうまく機能しました。 すでに VS コードの例をテストしましたが、メモリ構成に関してはそれほど役に立ちませんが、それは別の問題です。 参考までに: 最後に投稿したリンクは機能していません。 BRフロリアン Re: Trustzone examples not available in MCUXpresso IDE toolchain こんにちは@FlorianF1さん、 MCUXpresso には特定の TrustZone の例はありませんが、他の例では使用されています。たとえば、TFM の例では、trustzone アーキテクチャを使用して Trusted Firmware を作成します。TFMの詳細については、こちらのページを参照してください。 TrustZone を使用するもう 1 つの例は、README ファイルに記載されているマルチコアの例 rpmsg_lite_pingpong_tzm です。 ただし、 VS Code の MCUXpresso 拡張機能には、次の画像に示すように、参考として使用できる TrustZone を示す例があります。 NXP Semiconductors によるセキュア TrustZone アプリケーションの開発方法を説明するトレーニングもあり、役に立つかもしれません。 BR ハビブ
記事全体を表示
标题:使用 WM8904 进行 SAI + EDMA 乒乓捕获 — i.MX RT/LPC 上多普勒音频信号中的噪声 你好,恩智浦社区、 我正在开发一款多普勒超声探头应用程序,在该应用程序中,我使用 EDMA 乒乓缓冲通过 SAI1 从 WM8904 编解码器捕获音频,然后通过耳机输出进行播放。正在检测到脉冲,但捕获和播放的音频中存在明显的背景噪音。 --- **硬件配置:** -编解码器:WM8904(通过 I2C 连接用于控制,通过 I2S/SAI 连接用于音频数据) -音频接口:SAI1(I2S 模式)-DMA:带乒乓传输的 EDMA -采样率:48 kHz,立体声,16 位 -缓冲区大小:每个 ping/pong 缓冲区 48,000 个样本(每个缓冲区 0.5 秒) -总捕获:4 个周期 = 约 2 秒的音频-RTOS:erTOS -耳机输出时播放音量:75/100 --- **SAI RX 配置:** -通过 RCR3 寄存器启用 SAI1 RX(SAI1-> RCR3 |= I2S_RCR3_RCE (1))-在 TX 和 RX 上均启用 FIFO 错误中断-TX 运行静默虚拟缓冲回路以生成 RX 所需的 I2S 位时钟 -RX 使用 SAI_TransferReceiveedMA () 和基于回调的乒乓状态机器 -捕获后:sai_transferAbortReceiveedMA () 和 sai_transferAbortSendedM A () 被调用 --- ** 编解码器输入设置(WM8904,通过fsl_wm8904 驱动程序):** - MICBIAS 电源关闭(未使用) - ADC 电源打开 - 录音通道音量:75(左1 + 右1) - 录音通道静音:假 --- ** 编解码器输出设置(WM8904 耳机):** - LINEOUT 静音并断电 - 耳机先静音,然后 DAC 接通电源,音量设置为 75,然后取消静音 - 取消静音前有 10ms 设置延迟 (SDK_DelayAtLeastUs) --- **问题:** 捕获 的音频包含预期的手腕脉冲信号,但在整个录制过程中存在明显的背景噪音。在通过耳机输出进行播放时,可以听到这种噪音。噪音似乎是以下因素的组合: 1.低频基线漂移(可能是身体运动/呼吸误差) 2.来自多普勒前端的高频解调斑点 3. 当没有脉冲事件时,节拍间背景噪音 --- **已应用信号调节(固件中,捕获后):** 我目前正在捕获后在软件中应用以下四级滤波器:1. 去除直流偏移量(均值减去) 2.一阶高通滤波器:y [n] = x [n]-x [n-1] 3。 移动平均线平滑(窗口 = 3 个样本)4. 带保持功能的固定阈值噪声门(阈值 = 4500,保持 = 1200 个样本) 尽管使用了这些滤波器,噪声仍然存在并可以听到。 --- ** 问题:** 1. 2. 在 SAI1 上同时运行 TX(虚拟时钟)和 RX 时,是否存在可能引入噪声的已知接地或时钟配置问题? 3. ping-pong 缓冲区的 EDMA 传输对齐或缓存一致性是否有任何要求?乒乓缓冲器是否有任何 EDMA 传输对齐或高速缓存一致性要求,可能导致数据损坏或出现噪声的闪烁? 4. WM8904 输入路径(PGA 增益、输入阻抗、ADC 配置)是否有任何建议的编解码器寄存器设置,以提高低振幅多普勒信号的信噪比? 如果恩智浦团队或社区能提供任何指导,我们将不胜感激。 谢谢! Re: Title: SAI + EDMA Ping-Pong Capture with WM8904 — Noise in Doppler Audio Signal on i.MX RT / LPC 你好@AAA1、 非常感谢您关注我们的产品并使用我们的社区。 请先确认确切的 i.MX RT 设备,因为 SAI 勘误表是特定芯片的。   Q1.该平台上的 WM8904 是否有推荐的 SAI RX 配置,以便在到达 DMA 缓冲区之前最大限度地减少硬件级噪声? 答 1:我没有找到任何文档提供 WM8904 专用的 SAI RX 配置,明确用于在采样到达 DMA 缓冲器之前降低噪声。 请确保正确配置 BCLK、FS、字宽、极性和 TX/RX 同步模式。 Q2.在 SAI1 上同时运行 TX(虚拟时钟)和 RX 时,是否存在可能引入噪声的已知接地或时钟配置问题? 答 2:我没有找到文件记载的 "已知问题",说明在 SAI1 上同时运行 TX 和 RX 本身会产生噪音。 请仔细检查 SAI 时钟树设置(MCLK/BCLK/SAI 功能时钟/总线时钟)。 另请查看您的特定 i.MX RT 设备的芯片勘误表。 Q3.乒乓缓冲器是否有任何 EDMA 传输对齐或高速缓存一致性要求,这些要求可能会导致数据损坏或以噪声形式出现的故障? A3:你可以参考这个应用笔记: https://www.nxp.com/docs/en/application-note/AN12042.pdf Q4.是否有任何针对 WM8904 输入路径(PGA 增益、输入阻抗、ADC 配置)的编解码器寄存器设置建议,以提高低振幅多普勒信号的信噪比? A4:如果你想要一个已知的参考演示,MIMXRT685-EVK 是一个使用 WM8904 的恩智浦评估平台,它的 SDK 演示可能对你有所帮助: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/tree/release/26.03.00/_boards/evkmimxrt685 MCUXpresso SDK API 参考手册:Wm8904 顺祝商祺! 刘梅
記事全体を表示
Request QCVS 4.5.x for T1042 Hello, I am trying to perform DDR configuration on u-boot for the T1042. For this, I need the QCVS 4.5.x version that works on CodeWarrior 10.5.1. I couldn't find it on NXP's official website. I found threads on the forum from people having similar problems, but the links are invalid because the topics are quite old. Could you please share the offline installer for QCVS 4.5.x with me? Re: Request QCVS 4.5.x for T1042 dear @umurcabuk , In order to download it, or get it in the search list, you need to have an active license. BR LFGP Re: Request QCVS 4.5.x for T1042 Dear @LFGP  It automatically converts "QVCS 4.5" to "QVCS 4_5" after pressing search button and I've still cannot see the QCVS in Product Search even i searched as "QVCS 4.5". Could you please share it via Google Drive or etc...  Thank you! Re: Request QCVS 4.5.x for T1042 dear @umurcabuk , please type QCVS 4.5 instead of 4_5, see the next BR LFGP Re: Request QCVS 4.5.x for T1042 Dear @LFGP I followed the steps you mentioned, but I still can't see QCVS. Is there another problem? Thank you for your response! Re: Request QCVS 4.5.x for T1042 Dear @umurcabuk , please follow the steps showed in the attached file. Once in the last step, please type as next
記事全体を表示
INCA Prof 文件重新刷新 你好 当我尝试使用 ETAS INCA 使用自定义 A2L 和 Prof 文件重新刷新 S32K148 时,遇到了一个问题。简而言之,我遇到的问题涉及校准数据。使用 INCA 重新刷新(即使用 Flash 编程从参考页面或工作页面刷新)始终会将 ECU 上的代码和校准数据返回到原始版本。换句话说,我在INCA中对校准变量所做的任何更改在刷新时都会 “忘记”,ECU(以及工作页面和参考页校验和)恢复到其原始状态。当同时从参考页面和工作页面闪烁时,就会发生这种情况。 下面让我来说明这个问题。当我启动 INCA 时(在重新刷新之前),校验和全部匹配: 然后,我对校准变量进行修改(不管是哪个变量,行为都是一样的),并更新校验和: 然后我将工作页面复制到参考页面。这一步并非必要,但它会造成所有校验和都与原始校验和不同的情况,因此理论上不可能恢复到原始状态。 最后,我选择 Flash 编程,用工作页或参考页刷新 ECU(不管使用哪个,最终结果都是一样的)。重新刷新后,INCA 会显示闪存编程已成功完成,校验和也会再次更新。不过,ECU 校验和会恢复到 ECU 上的初始校验和,而 INCA 校验和则保持不变。换句话说,标定更改不会反映在用于重新刷新 ECU 的数据中。 您能告诉我们问题出在哪里吗?这是由于 A2L 文件、prof 文件、INCA 配置或其他原因造成的吗? 另一个注意事项:如果我将校准数据的源存储区域从参考页起始地址更改为工作页面的起始地址(并保持校准数据的目标存储区域不变),则校验和在闪存编程期间会正确更改,并且不会恢复到原始状态。换句话说,问题得到了解决(不过,这与一些环境数据全部为 0xFF 有关,因此这不是一个可持续的解决方案)。我认为这可能表明在A2L文件中声明为保留的参考页面是问题所在,但是将RESERVED关键字更改为DATA或OFFLINE_DATA并不能解决任何问题。 如果您能就这一问题提供任何帮助,我们将不胜感激。 非常感谢。 Re: INCA Prof File Reflash 嗨 @Chris_C_,尝试复制新的数据集(你在其中更改了校准),然后你可以用新的数据集替换工作空间项目,这将使用新数据集创建参考页面和工作页面。现在,您可以尝试闪存编程。 Re: INCA Prof File Reflash 您的版本中存在校验和错误,该版本无法绕过 A2l 校验码,因此在读取文件时会发生冲突。 Re: INCA Prof File Reflash 好吧,我做了一些研究,并迅速打听了一下。因此,我们不提供特定的校准支持文件,只提供标准文件,如 *.elf、*.map、srecord 文件... 后来我发现,我已经为几位使用 INCA 软件的客户提供了支持。所有问题都与重新映射 RAM 和闪存以进行校准有关。对于 MPC55xx、MPC56xx 和 MPC57xx 设备,可以使用内存管理单元(在较旧的设备上)或通过叠加功能(在较新的设备上)来完成。 现在的问题是,S32K1xx 设备上不支持重新映射。在我的印象中,硬件支持重映射是必须的。或者您是否知道 INCA 的校准是否只能通过 SW 实现?我真的不知道我们能不能帮上忙... 此致, Lukas Re: INCA Prof File Reflash 谢谢,卢卡斯。坦率地说,我也有同样的看法,但我是在ETAS支持工程师的指示下发帖的,他建议 " 证明文件有问题,ECU供应商将能够协助你解决这个 "。如果您认为这不属于恩智浦技术支持部门的职责范围,我不敢苟同。这样的话,我看看能否继续与 ETAS 讨论。再次感谢。 Re: INCA Prof File Reflash 你好@Chris_C_ 我认为这个问题应该转到 Etas,我们无法回答。 此致, Lukas
記事全体を表示
S32K312 SIUL2 EIRQ(外部割り込み)がGPDIが正しくトグルされているにもかかわらずトリガーされない デバイス: S32K312、100hdqfp、S32K3xx リファレンスマニュアル、Rev. 11、2025-07-11 環境:ベアメタル / カスタムスタートアップ 問題の説明: S32K312 で外部割り込み (EIRQ) をトリガーできません。複数のピン (EIRQ8 の場合は PTB0、EIRQ25/27/28 の場合は PTD9/11/12) をテストしましたが、物理ピンの状態が GPDI レジスタに正しく反映されているにもかかわらず、SIUL2->DISR0 の割り込みフラグは 0 のままです。 これまでに確認したこと: ピン構成(MSCR): ピンは、IBE = 1 (入力バッファ有効) および適切なプルアップを使用して入力として構成されます。 SSS は、EIRQ 信号の IOMUX Excel に従って 0 (GPIO/直接機能) に設定されます。 結果:物理ピンがトリガーされると、IP_SIUL2->GPDI[n]は0と1の間で正しく切り替わります。 EIRQロジック構成: IREER0 と IFEER0 は立ち上がり/立ち下がりエッジ検出用に設定されています。 DIRSR0 は 0 に設定されます (DMA ではなく割り込みモード)。 DIRER0 はそれぞれの EIRQ ラインに対して有効になります。 IFCPR(プリスケーラ)とIFMCR[n](フィルタカウンタ)は、エッジ検出ロジックのクロックがアクティブであることを確認するために初期化されています。 結果: IP_SIUL2->DISR0 ビットは 0 のままです。ピンの遷移時にハードウェア フラグは設定されません。 NVICとベクトルテーブル: 正しい IRQ 番号 (例: EIRQ8-15 の場合は IRQ 54、EIRQ24-31 の場合は IRQ 56) は、NVIC_EnableIRQ によって有効になります。 検証: NVIC_SetPendingIRQ() を手動で呼び出すと、ISR が正常にトリガーされ、ハンドラーが実行されます。ベクター テーブルと ISR の命名は正しいです。 クロッキングと電力(MC_ME): SIUL2 ペリフェラルクロックがアクティブです (MSCR/GPDI アクセスの成功によって確認されます)。 関連するすべてのパーティション 0/1 COFB クロック ゲートが有効になります。 IMCRに関する観察: MSCRレジスタは書き込み可能ですが、特定のIMCRレジスタ(例えば、IMCR[8])への書き込みを試みても効果がない、またはHardFaultが発生する可能性があり、アクセス保護またはパーティショニングの問題がある可能性を示唆しています。私の設定では必要ないかも知れません? 質問: EIRQ エッジ検出エンジンを DISR0 フラグに「ロック解除」またはルーティングするために、S32K312 で特定のグローバル イネーブル ビット、 PDAC (周辺ドメイン アクセス コントロール)設定、または仮想ラッパー構成が必要ですか?テストされたすべてのピンで EIRQ ロジックが完全に応答しないままであるにもかかわらず、GPDI は完璧に動作する理由は何ですか? RTD の例を参照する必要はありません。レジスタ レベルで作業しています。 PTB0 の初期化コードは次のとおりです。 void Test_IRQ_PTB0(void) { IP_SIUL2->IFER0 |= (1u << 8); IP_SIUL2->DIRER0 |= (1u << 8); // 割り込み要求をアクティブにする IP_SIUL2->IREER0 |= (1u << 8); // 立ち上がりエッジ IP_SIUL2->IFEER0 |= (1u << 8); // 立ち下がりエッジ IP_SIUL2->MSCR[32] = 0x00082800; // 設定 IP_SIUL2->DIRSR0 &= ~(1u << 8); // 割り込みモード(DMAなし) //IP_SIUL2->IMCR[32] = 0x08; // IRQ8 ?もう使用していません。試しただけです。 IP_SIUL2->DISR0 = (1u << 8); // フラグをクリア IP_SIUL2->DIRER0 |= (1u << 8); // アクティブ化 NVIC_EnableIRQ(54); //NVIC } ヒントがあればよろしくお願いします。 アーミン Re: S32K312 SIUL2 EIRQ (External Interrupts) not triggering despite GPDI toggling correctly こんにちは@ArminD 、 はい、リファレンスマニュアルに記載されています。理由は、0 - 511 が MSCR に対応し、512 - 1023 が IMCR インスタンスに対応しているためです。ただし、値を明示的に減算することは記載されていません。 ピンと時計のトレーニングでは次の点について言及しています: よろしくお願いします、 ジュリアン Re: S32K312 SIUL2 EIRQ (External Interrupts) not triggering despite GPDI toggling correctly こんにちは、ジュリアン この情報に感謝します。今は動作しています。 RM または Excel に 512 のオフセットが必要であると記載されていますか? RTD の例は現時点では私の目的には多すぎるので、後で意見が変わるかもしれません。 敬具 アーミン Re: S32K312 SIUL2 EIRQ (External Interrupts) not triggering despite GPDI toggling correctly こんにちは@ArminD 、 S32K312_IOMUX.xlsxファイルによると、PTB0のEIRQ[8]はSIUL_IMCR536である。IOMUXファイルで定義されたIMCRは、 SIUL2メモリマップで定義されたIMCR番号に対して512のオフセットを持つため、レジスタへの書き込み操作はIMCR[24](536 - 512 = 24)になることに注意してください。 IP_SIUL2->IMCR[24] = SIUL2_IMCR_SSS(1U); レジスタ レベルで作業していることは承知していますが、ベアメタルの例は提供していません。これには RTD API を使用することをお勧めします。RTD パッケージの下にある「 Siul2_Icu_Ip_BlinkLed_S32K344 」の例を見つけるか、コミュニティを参照してください。 例 S32K312 EIRQ 割り込み DS3.5 RTD300 例を実行してレジスタ構成を比較することができます。 よろしくお願いします、 ジュリアン
記事全体を表示
Crypto_43_HSE Driver for S32K3 RTD 7.0.0 I have a S32DS project setup with the following: S32DS IDE: 3.6.4 S32K3 RTD: 7.0.0 HSE firmware: S32K344 0.2.55.0 MCU: S32K44 From my understanding, in order to use HSE firmware, I will need to attach the Crypto driver to my project through the components configuration. However, when I check my RTD files in "C:\NXP\S32DS.3.6.4\S32DS\software\PlatformSDK_S32K3", the folder "Crypto_43_HSE" does not exist.   Is this driver necessary? If so, where can I find it? If not, what is the recommended way to use HSE firmware? If it is not available/supported for the latest RTD version at the moment, where can I stay in the loop for new releases/docs? S32K344-WB S32DS-S32PLATFORM AUTOMOTIVE-RTD  Re: Crypto_43_HSE Driver for S32K3 RTD 7.0.0 Hi @rvthai  Sometimes the Crypto driver is not available in first initial release of new RTD and it is provided later in separate package. You can check section “2.5  Support and Driver Plugins Delivered” in release notes for each package. In case of RTD 7.0.0, Crypto driver is provided in package 7.0.0 QLP02: And in release notes of QLP02: This package should be installed on top of initial release. Regards, Lukas Re: Crypto_43_HSE Driver for S32K3 RTD 7.0.0 Hi @lukaszadrapa, I installed the initial release of RTD 7.0.0 through S32DS Extensions and Updates. I then installed RTD 7.0.0 QLP02 after. The installation succeeded. However, each time I open my IDE now, I get the following pop-up message. Would you please help me understand what this means and if it is expected?
記事全体を表示