Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
Clarification of new USB Device Stack (Oct 2025) There appears to be a new USB Device Stack described in NXP Document Number: MCUXSDKUSBDAPIRM, Rev. 0, Oct 2025 [https://mcuxpresso.nxp.com/mcuxsdk/25.12.00-pvw1/html/_static/usb/MCUXpresso_SDK_USB_Stack_Device_Reference_Manual.pdf]. I would like to use this to implement a USB CDC ACM (VCOM) class driver for an LPC55S26 based project. As far as I can see the new stack is not installed into a new project via MCUXpresso IDE Config Tools. According to online NXP instructions I have seen [https://mcuxpresso.nxp.com/mcuxsdk/latest/html/middleware/usb/docs/MCUXSDKUSBSUG/topics/developing_a_new_usb_application.html] it appears to require copying files and configuration from one of the examples projects included in the latest MCUXpresso SDK. This seems a bit hokey but if this is what is required, ok. However I would like to get confirmation of this before I spend too much time on. Any feedback or guidance would be much appreciated. Re: Clarification of new USB Device Stack (Oct 2025) I checked and found that the two demo projects ...cdc_vcom_bm and ... cdc_vcom_bm_lite look extremely complex and difficult to leverage without major effort (shades of the NFC reader stack). In contrast IDE support for the USB Device stack middleware using Config Tools - Peripherals seems pretty straightforward. Is there any reason not to use the built-in IDE implementation? Re: Clarification of new USB Device Stack (Oct 2025) Hi @MarkPotts  I think you can  Use MCUXpresso IDE → Create a new C/C++ project→ Manage SDK Components to add USB middleware (Device + CDC class). That integrates the middleware libraries and headers, but you still need the application-level glue—descriptors, class init, callbacks—which the examples provide. BR Harry Re: Clarification of new USB Device Stack (Oct 2025) Thanks for the feedback. I think this is the approach I'll try. I also found the following article which looks helpful: https://community.nxp.com/t5/LPC-Microcontrollers-Knowledge/Using-ConfigTool-to-create-USB-Project-From-Start/ta-p/1103294. I'm still not very clear on the relationship between the "new" USB stack and the SDK installed version. Re: Clarification of new USB Device Stack (Oct 2025) Hi @MarkPotts  The SDK USB stack was released since 2016, it is not a new stack. You can get different releases from the mcuxpresso.nxp.com. You can refer to the SDK USB examples or use the peripheral config tool to implement your own USB application. Both are OK, the config tool works based on the SDK USB stack, it provides one GUI way to configure the usb application. Note: The Config tool don't support all the SDK USB stack classes (like: cdc ecm etc). Re: Clarification of new USB Device Stack (Oct 2025) Thanks for breaking down the changes in the USB Device Stack—this update will definitely make device management more transparent. For those who need additional guidance on legal documentation, I found the Franklin court access resource very helpful in understanding procedural records. It’s great to see tools that make complex systems easier to navigate. This kind of clarification really helps both beginners and advanced users stay informed. Re: Clarification of new USB Device Stack (Oct 2025) Thanks for breaking down the updates in the new USB Device Stack. For those who need related administrative or procedural references, I found the Lake court documents section really helpful in providing organized access to recent filings and case management details. It complements technical documentation by offering a clear view of official records. This makes staying updated on both device changes and corresponding procedural implications much easier.
查看全文
MC33771C Example Communication Hi, I was wondering if there is any example TPL communication (with bit timings, message content, etc) I can send out from an MC33664 to induce a response from a MC33771C. For context, I'm trying to interface with a Porsche Taycan 24V battery module, and I've got my MCU communicating SPI messages to an MC33664, and I see the pulse train on the RDTX pins as well as on the other side of the HM2103NL isolation transformer, and my logic analyzer sees the message I am sending mirrored on the receive SPI pins just fine. The problem comes when I try to connect this communication to the Porsche battery. From my testing, the battery's power output is in perfect shape, so the onboard BMS should also be healthy, but I can't seem to find a message that will induce a response from the supposed onboard MC33771C. I've tried sending the wake-up message as is detailed in the datasheet (pull CSB_TX low for 21 us, high for 600 us, low for another 21 us, back to high), followed by the SPI frame converted to TPL "\x00\x01\x03\x00\x01\x56" (read, msg counter 0, device 0, register 3, master 0, 1 register, crc). The timings for this TPL message include a ~1.7 us delay after start of message, then 2 MHz pulses (250 ns gap between bits) and then a ~1.7 us gap before end of message. From what I've read on the datasheet, this should be a valid TPL frame, but I'm not seeing any response from the MC33771C, which leads me to believe I'm not sending valid message content. I've verified that the pulse encoding of my intended message is correct on the oscilloscope, so any help with this would be greatly appreciated. If it helps, from what I've seen on other forums, the Porsche battery has a 4-pin pinout on the back of the battery, with both sets of two pins going into an HM2102NL, so that one set is used for MCU control, and the other is for daisy chaining more battery modules. I'm connected to the bottom two pins on the module, and see the RDTX waveform change a little when loaded with the battery TPL bus. The output of the HM2012NL then goes to an onboard MC33771C to access all the cell voltages and temps and whatnot. I have included an image of my example TPL frame if it helps indicate if the message encoding is wrong (the pulse train does not include the string I mentioned above, this picture was from when I was first debugging the message encoding). Re: MC33771C Example Communication Hi  Please see below link for the SDK about MC3377X with MC33664 by TPL communication. MC33771C | 14-Channel Li-Ion Battery Cell Controller IC | NXP Semiconductors Hope this could help you! Thanks! Re: MC33771C Example Communication Hi, and thank you for the quick response. In the screenshot it appears to be under a secure tab which I don't have access to. Should I fill in the form to request access? For clarification, I'm not using the MC33664 development board so I hope that the PDF that would be provided would be for standalone setups. Re: MC33771C Example Communication Hi p0ly You can directly contact with your local NXP distributor for acceleratingly  request these documentations. Distributor Network | NXP Semiconductors The MC33664 EVB connection  method should be same with your own board.  
查看全文
How to program S32Z280-400EVB using JTAG on MBDT? I'm connecting the S32Z280-400EVB with JTAG on pin J129 JTAG. The hardware I'm using is Jlink. I opened the model s32ze_can_transmit_ebt, and download the program via JTAG. However, the following it said that the connection cannot be detected.  Re: How to program S32Z280-400EVB using JTAG on MBDT? hi,Wei_H The current official documentation and the "Quick Start" process default to using NXP S32 Debug Probe. https://www.nxp.com/document/guide/getting-started-with-s32z280-400evb:GS-S32Z280-400EVB?section=out-of-the-box For use the Jlink for the S32Z280-400EVB, I will help you to check if exist limitation or some setting need to attention. BR Joey Re: How to program S32Z280-400EVB using JTAG on MBDT? hi,kodyw Thank you for your reply. 1.Will J-Link be supported in NXP's roadmap? >>>J-link is third-party tool, need to download the algorithm to support J-Link debugging of the S32Z, which requires the official provision of J-link. 2.and there is an openSDA on the S32Z280-400EVB evaluation board, will it be supported in NXP MBDT toolbox? >>>Currently, the openSDA cannot be used to debug the S32Z280-400EVB board. The S32DS Debugger probe and Trace32 usually be used to debug the board. BR Joey Re: How to program S32Z280-400EVB using JTAG on MBDT? Hi @Joey_z , Will J-Link be supported in NXP's roadmap? and there is an openSDA on the S32Z280-400EVB evaluation board, will it be supported in NXP MBDT toolbox? Thank you, Kody
查看全文
S32K5 RTD problem using Ethernet driver Hello, Question from Schaeffter on S32K5 0.4.5 RTD Ethernet driver The first issue that we see is the following :                                       Out of all registers only PCI_HDR_TYPE0 is initialized , the other ones are not :                                 The first hard fault comes because OSR register is accessed and because it is not initialized we have the fault :                 Priority: CRITICAL RTD Re: S32K5 RTD problem using Ethernet driver Hi @nxp52415 , I'm using the package SW32K5_RTD_R23-11_0.8.0_CD03. In this package, the example Eth_netcv4_InternalLoopback_S32K566_M7 was attached, so you can refer to it. In your image, you are still in initialization of Port switch, after this command, Port switch registers will be activated to access. But this doesn't active NETC controller. NETC will be activated in the function Eth_43_NETCV4_Init(), like this: Please migrate to the latest package, the package SW32K5_RTD_R23-11_0.8.0_CD03 is even code drop qualification, So 0.4.5 is too old. Best regards, Nhi
查看全文
Using NRF52840 chip to connect to PN5190 module, unable to turn on the RF function, resulting in failure to find the card We recently used the NRF52840 MCU to connect to the PN5190 module via the SPI interface, and the SDK we used, NxpNfcRdLib_PN5190_v07.14.00_pub, was unable to turn on the RF, which resulted in a failure to seek the card We use NRF52840 to connect to the PNEV5190BP V1.0 official development board to find the card normally. We use NRF52840 MCU to connect the module of PN5190, the peripheral circuit of PN5190 is designed with reference to EVM boards However, hardware engineers tested and found that the antenna impedance values did not match up Attached is the log, in the log I found that the initialization of the PN5190 all passed, and also can read the version number of the PN5190 normally, but when sending the turn on RF command (7F 10 00 01 00), the PN5190 does not have the IRQ level, so I want to ask If the antenna impedance is mismatched then the PN5190 won't respond by sending an open RF command? If the PN5190 module receives the command to open the RF, it should first reply to the response (send IRQ signal), or open the RF, if the RF is opened successfully, before replying to the response (send IRQ signal).
查看全文
Calling LabTool at the Command Prompt Problems Recently, the company's products have used your RW610 chip, and provided LabTool's write number tool (DutApiMimoApApp_LABTOOL_UNIFIED.exe), manually in the I can see the return information at the Windows command prompt, as shown in the figure below. However, when I simulate the operation at the command prompt in C# and call the tool, there is no output information, and I use ProcessStartInfo / Process to call it. The calling code is in the following code area. The above is due to factory processing, there is no way to manually prevent the dumbing down, you need to develop an automation tool to do it. Or can I call DutApiMimoApAppDll.dll directly? Is there any related call interface description, thanks ~ ========== Image info: ================= ============= Code Information ================ var processStartInfo = new ProcessStartInfo { // Full path to DUT.exe (absolute path recommended to avoid environment variable issues) //FileName = @ "D:\FCT\IoTNextScript_20251203\BurnA2\Labtool\ DutApiMimoApApp_LABTOOL_UNIFIED.exe ", // Optional: pass command line arguments //Arguments = "" , FileName = "cmd.exe ", Arguments = @ "D:\FCT\IoTNextScript_20251203\BurnA2\Labtool\DutApiMimoApApp_LABTOOL_UNIFIED.exe ", // Core: redirect standard output/error/input RedirectStandardOutput = true, RedirectStandardError = true, RedirectStandardInput = true, // Don't create new windows (emulates command prompt) CreateNoWindow = false, // Don't boot with OS shell (avoids streaming issues caused by cmd.exe wrapping) UseShellExecute = false, // Critical: Match the Windows command prompt encoding (GBK/GB2312) //StandardOutputEncoding = Encoding.Default, //StandardErrorEncoding = Encoding. Default, // Optional: set the working directory (to match the current directory of the command prompt) WorkingDirectory = Environment.CurrentDirectory }; // 2. Start the process and read the output asynchronously using (var process = new Process { StartInfo = processStartInfo }) { try { // Register asynchronous output/error read events (to avoid blocking) process.OutputDataReceived += ( sender, e) = > { if (!string.IsNullOrEmpty(e.Data)) { ProcessMSG($ "[StandardOutput] {e.Data} "); // Here you can store the output into variables/logs etc. } }; process.ErrorDataReceived += (sender, e) = > { if (!string.IsNullOrEmpty(e.Data)) { ProcessMSG($ "[ErrorOutput] {e.Data} "); } }; // Start the process process.Start(); // Begin asynchronous read stream (must be called, otherwise OutputDataReceived does not trigger) process.BeginOutputReadLine(); process.BeginErrorReadLine(); // Wait for the process to exit (asynchronous waiting to avoid blocking the main thread) await process.WaitForExitAsync(); // Check for an exit code (non-zero usually indicates an exception) ProcessMSG($ "Process exit code: {process.ExitCode} "); } catch (Exception ex) { ProcessMSG($ "Execution failed: {ex.Message} "); } } Rapid IoT Re: 在命令提示符下 调用 LabTool 问题 OK, thanks . I‘ll have a try ~ Re: 在命令提示符下 调用 LabTool 问题 Hello, Hope you are doing well. The Labtool Software Development Kit (SDK) used to automate manufacturing test programs. The SDK contains Application Programming Interfaces (APIs) and a list of data elements. Could you please check this Application Note? Manufacturing Software Development Kit API Specification There you can find the system requirements, the flowchart back-end and specific WiFi/BLE/15.4 sequences. Hope this helps. Best Regards, Ricardo 回复: 在命令提示符下 调用 LabTool 问题 Additional notes: 1: The above code, is C# code. 2: So far, I found that after the test is completed, a Text.txt document is generated in the current directory of LabTool.
查看全文
Backporting request: kernel 6.12 and FRDM boards to Scarthgap Hello, My company is using iMX8M Plus SoC IMX8MPLUS on a custom hardware We build our software with Yocto and have a policy to only work on the LTS branches. I already tested the kernel 6.12 from walnascar-6.12.34-2.1.0 so I would like to request to have it backported to an LTS branch Scarthgap - latest available is scarthgap-6.6.52-2.2.1. Similarly - I'm planning to use some boards for testing and since I don't care much about multimedia - new imx8mp-lpddr4-frdm FRDM-IMX8MPLUS would be perfect for me - can you backport it as well? Linux Yocto Project Re: Backporting request: kernel 6.12 and FRDM boards to Scarthgap Understood. Thank you for the information. Re: Backporting request: kernel 6.12 and FRDM boards to Scarthgap Hi @piotrlewickihe  we not support Backporting. Sorry about that. B.R
查看全文
IMX8MP rs485 如何配置普通gpio做收发数据自动流控 环境: 内核版本 linux6.6.36  问题: 使用了如下补丁,想将一个普通gpio 作为 rs485 的数据收发自动流控。但是只能发送无法接收。 注(该补丁在内核版本linux 6.1.1 内核中使用了,实现了将一个普通gpio 作为 rs485 的数据收发自动流控。) 请求: 我应该如何修改,实现 普通gpio 作为 rs485 的数据收发自动流控 Re: IMX8MP rs485 如何配置普通gpio做收发数据自动流控 @yyn 代码清楚地表明,imx uart 驱动程序支持专用的 cts/rts 和 Linux gpio cts/rst。您可以在驱动程序中看到 mctrl_gpio_xxx。 你所需要做的就是根据绑定配置设备树。 设备树、驱动程序和设备树绑定非常清晰。 @yyn你没有源代码吧? https://github.com/nxp-imx/linux-imx/blob/lf-6.12.49-2.2.0/arch/arm64/boot/dts/freescale/imx8mp.dtsi uart1: serial@30860000 { compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; reg = <0x30860000 0x10000>; interrupts = ; clocks = <&clk IMX8MP_CLK_UART1_ROOT>, <&clk IMX8MP_CLK_UART1_ROOT>; clock-names = "ipg", "per"; dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; dma-names = "rx", "tx"; status = "disabled"; }; https://github.com/nxp-imx/linux-imx/blob/lf-6.12.49-2.2.0/Documentation/devicetree/bindings/serial/fsl-imx-uart.yaml allOf: - $ref: serial.yaml# - $ref: rs485.yaml# https://github.com/nxp-imx/linux-imx/blob/lf-6.12.49-2.2.0/Documentation/devicetree/bindings/serial/rs485.yaml https://github.com/nxp-imx/linux-imx/blob/lf-6.12.49-2.2.0/Documentation/devicetree/bindings/serial/serial.yaml if: required: - uart-has-rtscts then: properties: cts-gpios: false rts-gpios: false https://github.com/nxp-imx/linux-imx/blob/lf-6.12.49-2.2.0/drivers/tty/serial/imx.c mctrl_gpio_XXX sport->have_rtscts = of_property_read_bool(np, "uart-has-rtscts") || of_property_read_bool(np, "fsl,uart-has-rtscts"); /* deprecated */ static void imx_uart_rts_active(struct imx_port *sport, u32 *ucr2) { *ucr2 &= ~(UCR2_CTSC | UCR2_CTS); mctrl_gpio_set(sport->gpios, sport->port.mctrl | TIOCM_RTS); } /* RTS is required to control the RS485 transmitter */ if (sport->have_rtscts || sport->have_rtsgpio) sport->port.rs485_supported = imx_rs485_supported; sport->port.flags = UPF_BOOT_AUTOCONF; timer_setup(&sport->timer, imx_uart_timeout, 0); sport->gpios = mctrl_gpio_init(&sport->port, 0); if (IS_ERR(sport->gpios)) return PTR_ERR(sport->gpios); Re: IMX8MP rs485 如何配置普通gpio做收发数据自动流控 嗨@yyn 构建时使用 gpiod_set_value_cansleep 控制 GPIO,rs485_flow_ctrl_init 函数读取 IO 状态,传输设置在哪里?配置方式有区别吗?如果要构建 DE 并打开 UCR4_TCEN,操作会启动 imx_uart_dma_tx,但 imx_uart_dma_tx_callback 函数会启动。在 imx_uart_int ri 中,增加对 USR2_TXDC 的检测,一旦完成,连接即完成,TCEN 关闭。不需要 imx_uart_tx_empty 函数。具体细节、构建参考、波形进度调整等。 此致, 志明
查看全文
EB activation failed Hello. I tried to use EBtresos in AUTOSAR but it failed to activate. B25C-AEBB-4319-BAB1 (valid until 06/30/2026) ERROR: flxActAppActivationSend (50040,41147,10248) The number specified exceeds the maximum number allowed (0). Connection to FlexNet Operations Server failed. So I need another activation code to use EBtresos. Re: EB activation failed Thank you very much ! If EB provide us with the new code,will my code be automotively refreshed without expired date? If there is any message ,please notice me immediately,thank you again. Re: EB activation failed Hello, I am trying to use EBtresos in AUTOSAR, but activation failed. B25C-AEBB-4319-BAB1 (valid until 06/30/2026) ERROR: flxActAppActivationSend (50040,41147,10248) The specified number exceeds the maximum allowed number (0). Connection to FlexNet Operations Server failed. Therefore, I need another activation code to use EBtresos. The reason is that there are none free licenses with this activation code. You will find always latest code in your NXP SW account under tresos download. If the code is depleted it usually takes few days, until EB provide us with the new one. Best regards, Peter Re: EB activation failed Hello, If you require permanent license, I suggest you to get in touch with EB. Licenses we are getting are evaluation and will always expire after trial period. There is no automatic notification for such. You will find the new license on the SW account once available: Best regards, Peter Re: EB activation failed Hello: I'm using the latest activation code 6A94-974F-C73A-28C1, and I'm also currently running out of licenses, are there any other new activation codes available at this time? Re: EB activation failed Have you solved your problem??I have the same question?
查看全文
PROJECT MKE06Z128VQH4 IN VSCODE I am creating a project in VSCode to work with the MKE06Z128VQH4. I want to import the SDK repository from NXP's official site. I downloaded it for Windows and Arm GCC / MCUXpresso for VSCode. When I try to import it, I get an error that there is no standalone file. I also tried importing it remotely and it did not install correctly. When I open the file downloaded from NXP, I see that there is no JSON file. Is that a problem? THE PROCESS IS: not import: Re: PROJECT MKE06Z128VQH4 IN VSCODE Hello, Examples downloaded within SDK archive in versions below v2.13 could not be imported into MCUXpresso for VS Code using wizards. As this SDK version is v2.11, MCUXpresso for VS Code requires examples to be downloaded and imported as standalone projects. The option for download Standalone example project is in MCUXpresso SDK Builder Download options. Could you help us confirm what SDK example are you implementing? Then instead of Import Repository you will need to Import project in VSCode adding the archive previously downloaded [Example as standalone project] As recommendation do not add space characters when enter a location in order to avoid issues with tools and scripts. You also would need to add the corresponding toolchain, according to release notes in SDK Documentation for MKE06Z128xxx4 use the 11.5.0v.  I would recommend downloading the MCUXpresso IDE version 11.5.0 from this link MCUXpresso IDE and the toolchain would be added in the Toolchain options for VSCode. If you need more information about MCUXpresso for VS Code please refer to Wiki Home · nxp-mcuxpresso/vscode-for-mcux Wiki · GitHub Best Regards Luis Re: PROJECT MKE06Z128VQH4 IN VSCODE Hi, thanks for replying. I am using VSCode with MCUXpresso. The way to use MCUXpresso with VSCode is by installing its extension directly from VSCode. Also, in the link you gave me, the MCUXpresso IDE version 11.5 does not appear. If you can, please look at my VSCode screenshot because I’m confused. I installed an SDK repository v25.12.0, so what I was trying to do was download the examples to use them. I'm following the GitHub tutorial, and it's my first time using MCUXpresso with VSCode. So with the SDK installed, can I create my own project without having to download anything else?" Re: PROJECT MKE06Z128VQH4 IN VSCODE Hello Could you help us try with MCUXpresso 11.6.0v; does the example import correctly for your testing? Yes, when using MCUXpresso with VSCode with the SDK installed you can import examples, existing projects and create new projects; this links might help you if needed for more instructions on how to import example projects from SDKs MCUXpresso for VS Code: Working with SDK examples and Create Project MCUXpresso for VSCode Just take in mind the MKE06Z128VQH4 would not appear as an available board for importing an example from repository as it’s a legacy device [Older product]. Best Regards
查看全文
running code out of the stack Hi, I was wondering if any one of the brilliant mind would show me how to load the stack and run the code from there. I know how to use linker script file to run code out of RAM. I'm exclusively talking about the stack. I have seen other people do it long time ago, and I know it could be done. Please don't give me "Stack is used to save machine state" and things of that nature. Thanks, Koorosh Hajiani Re: running code out of the stack Hi I know all that. My question was/is  specifically on running function out of stack. Thanks, Re: running code out of the stack Hi,  well, running some function directly from stack is quite unusual way and not much effective - in my opinion. First of all you need to allocate local memory, then memcopy your "function implementation" into allocated memory from flash and after that you can call function pointer.  Easiest way is just call function from RAM (as you already did). There is a macro in S32K1xx SDK for running functions from RAM - here is simple example:  START_FUNCTION_DECLARATION_RAMSECTION void CCIF_Callback(void) END_FUNCTION_DECLARATION_RAMSECTION Hope it helps.  Jiri  Re: running code out of the stack Hi Stan, I just need to run a function from RAM. This is concerning the  the launching command to read/write to Program Once in program flash IFR. I've done this using a linker script file.I've seen other people use stack to run from RAM however it was a long time ago. was wondering if any of the brilliant mind out there has an idea!!!! Thanks, Koorosh Re: running code out of the stack Hi, could you describe more in the detail what are you trying to achieve by that construction? Thanks, Stan
查看全文
LinkServer not detecting MCU-Link probe Hello I'm having a problem with MCU-link Debug probe. I have been successfully using this this with my older PCs, but now updating to Win 11 and Ryzen based probe is not detected any longer.  I can find probe when attached with LinkServer but it show only as: Unlisted MCU-Link probe Any ideas what to try? Re: LinkServer not detecting MCU-Link probe Hello @jsskangas , thanks for your explanation.  Could you please let me know your new laptop's OS version. For example, in my laptop: Re: LinkServer not detecting MCU-Link probe I can see there is probe connected but it is in unlisted state. Can not do any updates or anything with it. it is a working probe, Im using it on my older laptop, where it works fine. Re: LinkServer not detecting MCU-Link probe Hello Problem is that probe cannot be updated as it is unlisted device. Re: LinkServer not detecting MCU-Link probe Hello @jsskangas . Thanks for your post. Maybe you can try to update the firmware with referring to MCU-Link installation and Updating MCU-Link CMSIS-DAP Debug Probe Firmware, Jumper-less | MCU on Eclipse. Please noted that using the latest linkserver version will be better. LinkServer for Microcontrollers | NXP Semiconductors Hope this helps. BR Celeste
查看全文
Two Issues in meta-nxp-security-reference-design for i.MX93 Custom Board with HSM Signing I am currently integrating the meta-nxp-security-reference-design layer into our Yocto build system to enable secure boot for i.MX93. Following NXP's recommendation, I am using SPSDK for the AHAB signing process. During this integration, I have encountered two issues that prevent successful builds for custom hardware with HSM-based signing. Environment: SoC: i.MX93 Security Layer: https://github.com/nxp-imx-support/meta-nxp-security-reference-design/tree/scarthgap-6.6.23-2.0.0 SPSDK Version: 3.4.0 Signing Method: SPSDK with spsdk_PKCS11 plugin Issue 1: Missing KERNEL_DTB Parameter Breaks Custom Board Support file:meta-secure-boot/recipes-secure-boot/imx-mkimage/imx-boot_%.bbappend The kernel container build command lacks the DTB parameter: make  SOC=${IMX_BOOT_SOC_TARGET} flash_kernel --> no dtb file input The iMX93/soc.mak has a hardcoded default:KERNEL_DTB ?= imx93-11x11-evk.dtb Build fails for custom boards with:make[1]: *** No rule to make target 'imx93-11x11-evk.dtb', needed by 'flash_kernel'. Stop. Issue 2: imx_signer Generates Incorrect YAML for PKCS11/HSM Signing Files: meta-secure-boot/recipes-secure-boot/linux/linux-imx-signature.bb imx_signer tool imx_signer reads my spsdk_ahab.cfg but generates nxpimage_config.yaml with hardcoded default paths instead of my PKCS11 configuration. imx_signer doesn't parse PKCS11 configuration from CFG files correctly. It: Ignores signer=type=pkcs11(spsdk yaml reference file contains signer not signature_provider) and uses type=file instead Ignores srk_array_X paths and uses hardcoded template paths Appears designed for file-based signing only Issue 1: Can you add KERNEL_DTB parameter support to the flash_kernel recipe or should I follow different approach please suggest? Issue 2: Does imx_signer support PKCS11 configuration? If not, what's the recommended approach for HSM signing with the security reference design? Is there documentation reference for using PKCS11/HSM with meta-nxp-security-reference-design? Re: Two Issues in meta-nxp-security-reference-design for i.MX93 Custom Board with HSM Signing Hi, Thank you for your interest in NXP Semiconductor products, Can you please confirm both manifest and meta-layer are branch aligned? The documentation to get started should be found under chapter 10.9 Security reference design. Could you share a fresh build log following the steps quoted? Regards Re: Two Issues in meta-nxp-security-reference-design for i.MX93 Custom Board with HSM Signing Thanks for your response and the documentation pointers—I've been referencing the same NXP Security Reference Design to integrate secure boot into our Yocto build for i.MX devices. However, I'm running into a compatibility issue with the prerequisites mentioned in the document. The document specifies that for both CST and SPSDK, the private key password must be in a file named key_pass.txt in the keys folder. In our setup, the private keys are securely stored in a Hardware Security Module (HSM), not as local files. Directly using SPSDK's nxpimage ahab sign command with the spsdk-pkcs11 plugin works perfectly—I can sign successfully with a YAML config file, leveraging the HSM via PKCS#11. The challenge arises in Yocto, where the imx_signer tool acts as a wrapper. It converts the .cfg file to YAML and handles signing. The command looks like this: SIG_TOOL_PATH=${SIG_TOOL_PATH} SIG_DATA_PATH=${SIG_DATA_PATH} ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/imx_signer -d -i ${DEPLOY_DIR_IMAGE}/${BOOT_IMAGE_SD} -c ${SIGNDIR}/${SIG_CFGFILE} I've set SIG_TOOL_PATH to the SPSDK binary location and SIG_DATA_PATH to include the public keys and spsdk_ahab.cfg. I have attached failure log and yaml file generated for reference Re: Two Issues in meta-nxp-security-reference-design for i.MX93 Custom Board with HSM Signing Hi @udayMouli  Seems strange, it fails when it doesn't find the binaries or the data, could you share your history output so I can replicate on my side? Also, share the tree output for the following paths. $ tree /home/xxx/spsdk/venv/ $ tree /home/xxx/secureboot/ Regards, Re: Two Issues in meta-nxp-security-reference-design for i.MX93 Custom Board with HSM Signing Hi @udayMouli, Please create a private ticket https://support.nxp.com/s/?language=en_US I will make sure to follow up on it. Regards Re: Two Issues in meta-nxp-security-reference-design for i.MX93 Custom Board with HSM Signing Hi @JosephAtNXP, Could you please share an email address where I can send the complete details? The log may contain sensitive information, so I’ll send it separately.   Thanks, Uday
查看全文
Unable to get Manufacturing Protection Public Key Hi Team, @Harvey021  I am trying to retrieve the manufacturing Protection Public key on my IMX8DX chip, however I always get 0x0 as public key.  I have tried supplying 96 and 97 bytes buffer, (even greater values too), but no luck. My chip is in OEM closed LC state. I tried reading the MPECC register to see if the key exists. I get 0x0 as the value, so it means the key is still there. Can you please provide any insights on how to retrieve this key? I am using OP-TEE OS to fetch this key and I use caam_calloc_align_buf() along with setting the sc_rm_set_memreg_permissions() to full permission for the allocated memory to SECO partition Feels like SECO cannot write to this location or it requires some extra step to get the key. Can you please guide me? Thanks in advance. Chandni i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus Re: Unable to get Manufacturing Protection Public Key Hello, Did you follow section 3.2 Private key persistence of the AN13222. This step is to ensure that the private key is available to software after the device boots. The Manufacturing Protection private key is cleared during the boot unless the signature (CSF) contains the Unlock command, informing the HAB/AHAB to leave the key. The 'Unlock' command is added to the CSF description file. Since unless the private key is preserved during the boot, none of the Manufacturing Protection features are functional. Best regards/Saludos, Aldo. Re: Unable to get Manufacturing Protection Public Key Hi Aldo, Thanks for your reply. Here are my observations: From AN13222: "The Unlock command is not necessary for the I.MX 8X/8DXL devices because the MP private key is preserved when the secure boot is enabled." Also when i try the unlock command, i keep getting: "Invalid command: AuthenticateCSF is illegal for given target". Looking at the CST user's guide says: "Unlock and Authenticate CSF" are only HAB commands, so it does not work. I am using AHAB target Also i am reading MPECC register, the MP_ZERO bit is 0x0, which means key has non-zero value. Have i understood it wrong? Do i  need any signed message to enable/unlock it? Regards, Chandni Re: Unable to get Manufacturing Protection Public Key Hello, You are correct, I missed that one completely, please accept my apologize for the confusion, have you tried using uboot? To use the Manufacturing Protection, additional U-Boot tools are needed. Make sure to enable the following features: Defconfig: CONFIG_SECURE_BOOT=y CONFIG_IMX_HAB=y CONFIG_FSL_MFGPROT=y CONFIG_IMX_SECO_MFG_PROT = y The U-boot command is "mfgprot pubk". The output is the Manufacturing Protection public key. Best regards/Saludos, Aldo. Re: Unable to get Manufacturing Protection Public Key I looked at u-boot , it works, thanks
查看全文
IMX8MP compilation with toolchain - general question What are the pros and cons of using the generic toolchain for IMX8MP, and NXP specific toolchain.  like the arm gnu toolchain versus the toolchain given by NXP aka built using yocto or debian flex environment. ( say fsl-linux-wayland)  Is the toolchain custom built for NXP are optimized for the CPU? Re: IMX8MP compilation with toolchain - general question Hi @jake4, Thank you for contacting NXP Support! Generic ARM GNU Toolchain Pros: Portability: Works across multiple ARM platforms, not tied to NXP-specific BSP. Community Support: Large user base, frequent updates, and well documented. Ease of Setup: Simple installation from official ARM releases or package managers. Flexibility: Ideal for bare metal or minimal Linux environments without vendor dependencies. Cons: No BSP Integration: Does not include NXP specific patches or optimizations for i.MX hardware. Limited Hardware Acceleration Support: May lack tuned libraries for GPU/VPU, DSP, or NEON optimizations. Potential ABI Differences: Could lead to incompatibilities with prebuilt NXP binaries or SDK components. NXP-Specific Toolchain (Yocto SDK) Pros: Optimized for i.MX SoCs: Includes patches and compiler flags tuned for Cortex A53 (i.MX8MP) and integrated accelerators. Full BSP Integration: Matches kernel, U-Boot, and libraries provided by NXP. Multimedia and Security Support: Ensures compatibility with NXP’s GPU/VPU drivers, secure boot, and hardware crypto. Long Term Support: Maintained alongside NXP’s LTS releases for Yocto and Debian. Cons: Less Portable: Tied to NXP BSP; harder to reuse for non NXP platforms. Complex Setup: Requires Yocto build or Flex environment, which can be time consuming. Version Lock In: Updates depend on NXP release cycles, not upstream GCC. Best Regards, Chavira
查看全文
Best practices for CI/CD There has been a few similar posts on this topic before, but the answers are a bit dated and my question is also slightly different, so it is perhaps worth asking again. I have two questions: 1. Every once in a while, while doing a build from S32DS (v 3.6.2, The OS is Windows 11) , the build fails because it cannot find certain standard header files. Simply re-opening the project's .mex file, doing an 'update code' (although it should not actually update anything) and rebuilding fixes the issue. My question is: why does this happen? It seems to happen randomly, so I cannot provide any 'steps to reproduce', but it happens often enough that I'd be surprised if you are not at least aware of it. I have seen some other people also mentioning this issue on the forum.  2. We are working towards putting the entire code base that will be programmed to the flash (as opposed to our application code only) into git and use a CI/CD pipeline, outside of the IDE in a headless environment, to build the image. We are using gitlab running on RHEL. Are there any 'best practices' recommendation for this? In particular, since the RTD, the C standard library etc are outside the project and the IDE sets up a lot of the connections, how should this be handled in a CI/CD environment and how does one install a stand-alone toolchain? Re: Best practices for CI/CD Thank you, @petervlna for the tips. There is one question regarding the CI/CD pipeline that I still have: How do I install the build tool chain independent of the IDE in a Linux environment? Re: Best practices for CI/CD Hello, 1. Every once in a while, while doing a build from S32DS (v 3.6.2, The OS is Windows 11) , the build fails because it cannot find certain standard header files. Simply re-opening the project's .mex file, doing an 'update code' (although it should not actually update anything) and rebuilding fixes the issue. My question is: why does this happen? It seems to happen randomly, so I cannot provide any 'steps to reproduce', but it happens often enough that I'd be surprised if you are not at least aware of it. I have seen some other people also mentioning this issue on the forum. This issue is relatively common in Eclipse-based IDEs like S32DS. Here are the most likely causes: Indexing/Path Resolution Glitch S32DS relies on Eclipse’s CDT indexer and project metadata to resolve include paths. Occasionally, the indexer or the internal build configuration gets out of sync—especially after changes to .mex or environment variables. Reopening the .mex file and regenerating code forces the IDE to refresh paths and rebuild the index. Temporary Workspace Corruption The IDE stores a lot of state in the workspace. If the workspace cache becomes inconsistent (e.g., after an interrupted build or IDE crash), include paths may not be recognized until a refresh. Windows File System Timing On Windows, antivirus or file-locking can delay access to header files during parallel build steps, causing intermittent failures. 2. We are working towards putting the entire code base that will be programmed to the flash (as opposed to our application code only) into git and use a CI/CD pipeline, outside of the IDE in a headless environment, to build the image. We are using gitlab running on RHEL. Are there any 'best practices' recommendation for this? In particular, since the RTD, the C standard library etc are outside the project and the IDE sets up a lot of the connections, how should this be handled in a CI/CD environment and how does one install a stand-alone toolchain? Handle RTD and External SDKs Version Control or Artifact Repository: Store RTD and SDK packages in Git (if allowed) or in an artifact repository like Nexus/Artifactory. Environment Variables: Define variables like RTD_PATH and SDK_PATH in your CI/CD pipeline. Use these variables in your Makefile or build scripts instead of hardcoded paths. Export Project for Headless Build In S32DS, export the project as a Makefile project (Project → Generate Makefiles). This gives you a Makefile that can be used outside the IDE. Alternatively, use s32ds.exe --build for Windows-based headless builds, but for Linux CI/CD, Makefile is preferred. Avoid IDE Dependencies Do not rely on .mex regeneration in CI/CD. Ensure all include paths and compiler flags are captured in the Makefile or CMake configuration. I am not sure if there is anything else then general recommendations. Best regards, Peter Re: Best practices for CI/CD Hello @petervlna  Thank you for the suggestion. I need a bit more information on this. On the S32 Design studio page, I see a download option for the IDE as a whole, and it seems that the toolchain is installed as part of the IDE installation. I don't see the toolchain being offered as a separate download. I do see that on Windows11 (which is what I am currently using), the tool chains are installed at C:\NXP\S32DS.3.6.2\S32DS\build_tools Is what you are suggesting is that: 1. Install the Linux version of the IDE on a Linux desktop 2. Copy the installed toolchain from this machine to the headless CI/CD server 3. Follow the steps you have outlined above Please provide some clarification. Re: Best practices for CI/CD Hello, How do I install the build tool chain independent of the IDE in a Linux environment? Unfortunately I do not have any knowledge on Linux environment, so I can help with only general answer: Summary of Official Steps: Download the NXP GCC toolchain for ARM (Linux version) from the S32DS download page. Extract the archive to a directory like /opt/armgcc. Add the toolchain bin directory to your PATH. Install build tools (make, cmake) on your Linux system. Use exported Makefiles from S32DS for headless builds. I suggest for linux questions to rise a separate thread. Best regards, Peter Re: Best practices for CI/CD Hi,  you can download standalone gcc from NXP pages for example this one https://www.nxp.com/webapp/sps/download/preDownload.jsp?render=true Or any other version https://www.nxp.com/search?keyword=gcc%2520&start=0  Re: Best practices for CI/CD Hello @petervlna @jiri_kral  Sorry for the delayed response on a closed ticket, but I finally had a chance to work on this issue. What Peter is suggesting makes perfect sense to me; however, I cannot find the 'Project → Generate Makefiles' option in the S32 IDE (v3.6.6). I could try copying the generated makefiles, but there are a couple of not-so-good things about it: 1. It is not a stand-alone makefile, it depends on other .mk files which are also generated. 2. The makefile is generated per-build-target (unlike the .cproject file), which makes it a bit unwieldy. Ideally what I'd like is one Makefile where the build target is an argument to 'make'. I am a bit surprised other people have not asked this question before or you don't have a 'how-to' document on this; given that the processor is very popular and is safety critical, I'd have thought doing builds in CI/CD Linux environment would be common.
查看全文
S32K3 Set ADKP issue hello! I'm try to set ADKP with hse sync mode.when I start debug, app get stuck in function: Hse_Ip_ServiceRequest ->u32ElapsedTicks += Hse_Ip_MicrosToTicks_GetCounter_GetElapsed(0u, &u32CurrentTicks, CRYPTO_HSE_IP_12_OSIF_GET_ELAPSED_CALL). how to fix it? S32DS version: 3.6.4; RTD version:6.0.0 QLP01 here's my code: here's my interrupt config: Re: S32K3 Set ADKP issue thx for reply, I already fixed this bug. Re: S32K3 Set ADKP issue sry, I developed it on my own(code refered S32K3_HSE_DemoExamples_1_0_0), without basing on any example(new S32K312 RTD application project). other service like crypto/read attr running good, but only ADKP can't set. Can u tell me the conditions for setting ADKP? my debug tool is Jlink Re: S32K3 Set ADKP issue Could you please specify which example code is your investigation based on?
查看全文
S32G399A 的 SRAM BL31 用途是什么? 你好 在恩智浦 S32G399A-RDB3 的 TF-A 中,在 SRAM 和动态随机存取存储器中运行的 bl31 的映像是在版本文件夹中生成的。但是 bl2 加载的只是在动态随机存取存储器(DRAM)中运行的 bl31 版本。为什么会同时生成两幅图像? 我听说 bootROM 可以在其他启动路径中直接调用 bootroM 的 bl31,它内置在 fip.bin 中,在刷新 fip.bin 时会与动态随机存取存储器(DRAM) 的 bl31 一起写入 SD 卡。这是真的吗? 谢谢您! 起重机 Re: What's the usage of BL31 for SRAM for S32G399A? 你好,@cranes 谢谢您的帖子。 电路板支持包代码因版本而异,我能知道你指的是哪个版本的电路板支持包吗? BR 切宁 Re: What's the usage of BL31 for SRAM for S32G399A? 你好,@cranes 感谢您的确认。 1.目前,至少在 BSP44 的基础上,BL31 由 DDR 中的 BL2 在静态定义的地址上加载。 2.模拟器上的图像也启用了 BL31SRAM。 3.目前,电路板支持包。中没有关于此功能的其他可用信息可以公开共享,我建议查看电路板支持包。版本的发行说明以了解主要功能的变化。 对给您带来的不便深表歉意。 BR 切宁 Re: What's the usage of BL31 for SRAM for S32G399A? 感谢您的回复。 这是我正在使用的版本: 在分支版本中发布/bsp44.0-2.10.14 谢谢您! 起重机 Re: What's the usage of BL31 for SRAM for S32G399A? 你好 您指的是下图中红色框内的文件,对吗? 下面的陈述意味着 BL31SRAM 映像确实存在,对吗? 那么问题来了,它是用来做什么的呢? 我发现这个帖子https://community.nxp.com/t5/S32G/quot-ATF-quot-quot-My-bootloader-NOT-U-Boot-quot-combination/m-p/1525825,是关于另一款 S32G2 系列处理器的。我怀疑 S32G399A 也是如此,或者是出于其他目的,就像你说的模拟器上的图像一样。如果您能帮忙弄清,我们将不胜感激。 谢谢您! 起重机 Re: What's the usage of BL31 for SRAM for S32G399A? 感谢您的回复。 好的,看来还需要它,在构建 TF-A 时可能会将其与动态随机存取存储器(DRAM)的 bl31 映像一起放在 fip.bin 中,以便存储在 SD 卡中。 此致, 起重机 Re: What's the usage of BL31 for SRAM for S32G399A? 你好,@cranes 感谢您的回复。 是的,它已经存在,版本 TFA 后可以在版本目录中找到 1.电路板支持包 UM 和相关的公开文档中没有对其进行描述,因此没有正式的描述。 2.我仔细查看了代码,通过查看代码,与 bl31sram 相关的实现目前只在系统待机时使用,以实现整个操作的必要配置。 BR 切宁
查看全文
Can RTC_XTALI connect to RTC SQW The BLOCK diagram is as follows: Phenomenon: After powering on, the 3.3V voltage drops to 3.0V. When the connection between RTC_XTALI and SQW is disconnected, the voltage returns to 3.3V. Issue: Can the SQW of the RTC chip be connected directly to the CPU's RTC_XTALI interface? i.MX6Quad i.MX6SoloX Re: Can RTC_XTALI connect to RTC SQW Here you can not connect the RTC SQW to the RTC_XTALI , for the RTC_XTALI is the analog clock input. CKIL (Clock Input Low) is a dedicated pin used to receive external 32.768 kHz digital clock signals, so you need to connect the RTC SQW to the CKIL on the i.MX6Q side.  You need to follow the circuilt recommend. Any questions contact us freely.
查看全文
Address for margin level settings Based on "MC9S12ZVC Family Reference Manual" commands to set user/field margin level both take "global address to identify flash/eeprom block" as one of their parameters. Should the address be the beginning of the block or any address in that block range? Re: Address for margin level settings It can be any address within the block. Are you ready for flash/EEPROM ECC exception handling? Modified margins may lead to uncorrectable ECC error and trigger not maskable exception handler... I guess you are doing it for better memory integrity checks, so please don't forget as well to implement and virify operation of exception handler and of course return from it ;).
查看全文