Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Fuse Read and Write tool in Linux Userspace for i.MX 9 series Introduction. OEMs need to access fuse values during functional tests and product manufacturing as well, they will fix Ethernet MAC addresses, fix boot mode, enable secure boot and more, There is a tool that is enabled across all i.MX processors, it runs in U-boot and is the command '=> fuse ', some customers are required to write and read fuses in Linux Userspace and this is where different processors have different OTP structures. In this article, you will download a C-written file, using NXP BSP enabled functions to access processor's fuses. i.MX 9 Series manages fuses through EdgeLock Secure Enclave (ELE), which would make this tool easy to adapt for other processors, this release is focused on i.MX91 and i.MX93. 1. Hardware Setup. FRDM-i.MX91. Power supply connected to P1, USB type-C debug cable to P16 Ethernet cable connected to network router and P4, for source code copying. SD/eMMC flashed with Yocto Linux Factory LF_6.12.49, if needed, you can flash it with USB type-C host cable to J31. image-1.jpg   2. Documentation Setup. Download reference manual from i.MX 91 Documentation. It contains the attachment i.MX91_Fusemap.xlsx Screenshot 2026-03-24 151748.png   3. Software Setup. Download and build process. user@host:~$ scp fuse_test.c root@ :~ root@imx91evk:~# gcc -Wall fuse_test.c -o fuse_test Tool features. Uses NXP BSP pread and pwrite functions. Based on Bank * 8 + Word formula, if you are using fusemap attachment, Word would be defined as Word % 8. Defines minimum and maximum bank and word indexes according to i.MX93/i.MX91 fusemap. Requires customer to specifically input 4 arguments: fuse_test read|write . 4. Demonstration. Read Device Unique ID [31:0] from fuses. a. Stop at U-boot for UID fuse reference value. u-boot=> fuse read 1 7 Reading bank 1: Word 0x00000007: 03fc7ef1 u-boot=> boot b. Run tool for read operation. root@imx91evk:~# ./fuse_test read 1 7 ret: 0 fd : 3 READ Bank: 1, Word: 7, Offset: 15 SUCCESS: pread operation resp_len = 4 resp_buf[0] = |f1| resp_buf[1] = |7e| resp_buf[2] = |fc| resp_buf[3] = |3| c. Run tool for write operation. This article explores a simple writing to OEM General Purpose Fuse 2 GPR2_CFG0, located in bank 47; word 376. root@imx91evk:~# ./fuse_test read 47 0 ret: 0 fd : 3 READ Bank: 47, Word: 0, Offset: 376 SUCCESS: pread operation resp_len = 4 resp_buf[0] = |0| resp_buf[1] = |0| resp_buf[2] = |0| resp_buf[3] = |0| This fuse is protected by General Purpose 2 Fuse Lock GPR2_LOCK [2:0] in Packed_FuseIndex 291. Calculate word bits from AN14954 section 3.2 Devices with ELE-AP. root@imx91evk:~# ./fuse_test read 1 1 ret: 0 fd : 3 READ Bank: 1, Word: 1, Offset: 9 SUCCESS: pread operation resp_len = 4 resp_buf[0] = |93| resp_buf[1] = |34| resp_buf[2] = |0| resp_buf[3] = |0| This way, GPR2_LOCK [2:0] = 010, it means that it's in Over-ride Protect and you can burn the fuse. root@imx91evk:~# ./fuse_test write 47 0 ret: 0 fd : 3 READ Bank: 47, Word: 0, Offset: 376 SUCCESS: pread operation resp_len = 4 resp_buf[0] = |5| resp_buf[1] = |0| resp_buf[2] = |0| resp_buf[3] = |0| INFO: Fuse previous valueWRITE Bank: 47, Word: 0, Offset: 376 Enter fuse value (e.g. 0xAA1234BB): 0x4A4F5345 You entered: 0x4A4F5345 (1246712645 decimal) SUCCESS: pwrite operation INFO: Please reset the device for fuse read confirmation 0x4A 0x4F 0x53 0x45 are the uppercase 4 first letters of Joseph. u-boot=> fuse read 47 0 Reading bank 47: Word 0x00000000: 4a4f5345 Conclusion. This tool is capable of reading and burning fuses from i.MX 93 and i.MX 91, it's scalable to i.MX 9 series. iMX95 Latest ELE firmware release, does not support programming SRK values from user space. Required runtime firmware enabling this functionality is planned for next release. This tool is provided by SW and support teams, as is, they were developed under LF6.12.49. Under the BSD-3 license. Please confirm bank and word, if needed create a support ticket, this post is not responsible incorrect usage. Tested in FRDM-i.MX91 Written in C LF-6.12.49
記事全体を表示
imx93evk 板可以支持 GNOME 吗? 亲爱的先生 我下载了 https://www.nxp.com/lgfiles/sdk/lsdk2512/nxp_apps_debian_lsdk2512_imx93evk.deb 然后在 imx93evk 板上安装了 nxp_apps_debian_lsdk2512_imx93evk.deb。安装后,没有 GNOME + GDM3。因此,我使用以下命令安装了它们: apt update apt install gdm3 task-gnome-desktop systemctl enable gdm3 systemctl start gdm3 安装 GNOME + GDM3 后,重启通常会挂起。我的疑问GNOME + GDM3 无法运行 imx93evk。为什么? 看来 LSDK-24.12_DEBIAN-12_LF-6.6.36 没有这个问题。 我在 imx8mpevk 上安装了 nxp_apps_debian_lsdk2512_imx8mpevk.deb,出现了 GNOME + GDM3,一切正常。 谢谢。 Re: Can imx93evk board support GNOME? 在我们较新的软件版本中,我们不再专注于在 imx93 主板上支持 GNOME。主要原因是i.MX93不包含显卡。当纯粹在 CPU 上运行 GNOME 和 GDM 时,系统资源消耗会变得非常高,整体用户体验也会明显下降。但是你使用旧版本在 imx93 主板上使用 gnome。 如果您想继续使用 GNOME 并获得更好的性能,我们建议您评估我们的 i.MX8MP 平台,该平台包含 GPU,可提供更加流畅的 GNOME 体验。 如有任何问题,请告诉我。
記事全体を表示
CAN 在统一引导加载程序中不起作用 您好,   我使用的是 unified_bootloader_demo_V2.1.zip 压缩包。使用我的 S32K144 ECU。   我想调整 ECU 引脚布局的 MCAL。 CAN0 现在映射到 PC2、PC3   这是 CAN 的初始函数:   static void BSP_init(void) { ........   /*CAN init*/ CAN_Init(&can_pal1_instance,&can_pal1_Config0); CAN_InstallEventCallback(&can_pal1_instance,&CAN_ISR_Callback, NULL); CAN_Receive(&can_pal1_instance,RX_MAILBOX_ID,&g_RXCANMsg); CAN_ConfigRxBuff(&can_pal1_instance, RX_MAILBOX_ID,&RXCANMsgConfig, RX_FUN_ID); CAN_SetRxFilter(&can_pal1_instance,RXCANMsgConfig.idType、rx_mailbox_id,rx_id_mask); CAN_ConfigTxBuff(&can_pal1_instance, TX_MAILBOX_ID,&TXCANMsgConfig);   INT_SYS_EnableIRQ(CAN0_ORed_0_15_MB_IRQn);   ......... }     以下 ISR 已映射到闪存中的默认向量表: CAN0_ORed_IRQHandler ;can CAN0_Error_IRQHandler ;can (95) CAN0_Wake_Up_IRQHandler ;can CAN0_ORed_0_15_MB_IRQHandler ;can CAN0_ORed_16_31_MB_IRQHandler ;can   CAN ISR 未被调用。 在工具 EcuBus-Pro 中看不到任何 CAN 框架。 当我在 Ecubus-Pro 中发送诊断请求时,我收到的错误是:" [晚上 7:24:30] [系统] 序列 s32k144_can_uds_bootloader 错误:上层读取超时 "     问题出在哪里?   Re: CAN not working in Unified Bootloader 你好@NJ_NXP、 我可以帮助您在 S32K144 中实现 CAN 通信,但请记住,在社区上共享的统一引导加载程序只是按原样提供的非官方演示,不提供任何保证和支持。目前,我们还没有支持该演示的资源。请联系他们的支持页面。 你在使用评估板,还是这是你的定制设计? 你有示波器或 CAN USB 工具可以用来分析总线吗?您能检查发送的帧是否有效吗? 另外,如果是定制设计,您使用的是哪种 CAN PHY?根据设计,S32K144EVB 使用UJA1169TK。 统一引导加载程序 Demo已经为 S32K144 提供了一个示例项目,为什么不对其进行测试呢? Snag_904efe.png 致以最诚挚的问候, Julián
記事全体を表示
MCX-C24xのVREFH範囲 外部 VREFH リファレンス電圧を使用したいのですが、MCX-C24x のデータシートには VREFH の許容電圧範囲が記載されていません。興味深いことに、KL27、MCX-C04x、または MCX-C44x のデータシートでは、VREFH の範囲が 1.13V から VDDA までと宣言されていますが、C24x のデータシートではそれが宣言されていません。(改訂4/2025) C24x も同じケースで、1.17V ~ VDDA の範囲を適用できると想定しても安全でしょうか? よろしくお願いします。 アナログ(ADC、CMP、DAC、オペアンプ) MCX C Re: VREFH range in MCX-C24x こんにちは@Jiri_n ご返信ありがとうございます。社内で確認し、できるだけ早くご連絡いたします。ご不便をおかけして申し訳ございません。 BR アリス Re: VREFH range in MCX-C24x こんにちは@Jiri_n ご辛抱いただきありがとうございます。 社内で確認したところ、MCXC44X の基準電圧範囲を MCXC24X に使用できることがわかりました。   よろしくお願いします。   BR アリス
記事全体を表示
Viable replacement for DSP56F807 Hi team, We have a customer seen the EOL that was sent out on the DSP56F807, specifically we use the DSP56F807VF80E. Since we are faced with having to tackle this and there were no direct replacements listed, I was wondering what the most similar part would be from your point of view? We are thinking if we can find anything that requires little to no redesign work. Thank you for any support you can give on this.
記事全体を表示
MIMXRT700-EVK ブロック図の部品番号参照が間違っています RT700 評価ボード ( MIMXRT700-EVK ) を使用していますが、ドキュメントに矛盾があることに気付きました。ブロック図では、Macronix フラッシュ メモリの部品番号がMX25UM51345GXDI00として記載されていますが、これはMX25UW51345GXDI00が記載されている BOM ファイルと一致しません。さらに、実際のボード上の部品番号はブロック図の部品番号と異なります。 WhatsApp Image 2026-02-09 at 16.15.15 (2).jpeg   WhatsApp Image 2026-02-09 at 16.15.14 (1).jpeg   これは、特にドキュメントを参照したり正しいデータシートを見つけようとしたりするときに混乱を引き起こします。現在 RT700-EVK で使用されているフラッシュ部品の正確な番号を教えていただけますか?また、可能であれば、NXP はこの特定のフラッシュ IC のデータシートを提供してもらえますか?それは私たちの発展にとって非常に役立つでしょう。 Re: MIMXRT700-EVK block diagram wrong part number reference 私は、この問題を報告したかっただけで、次のエラッタまたは RT700 EVK ボード マニュアルの次の改訂版で NXP がこれを考慮に入れることができるようにしたかったのです。データシートについては、Macronix にお問い合わせします。 Re: MIMXRT700-EVK block diagram wrong part number reference こんにちは@prathamvoraさん、 メモリの部品番号については BOM に従ってください。データシートについては、Macronix にお問い合わせください。 よろしくお願いいたします。 パブロ Re: MIMXRT700-EVK block diagram wrong part number reference こんにちは、 この件についてご報告いただきありがとうございます。 今後の参考のために、次のリンクを使用して技術ドキュメントのフィードバックを送信することもできます。 技術ドキュメントに関するフィードバック | NXP Semiconductors よろしくお願いします、 パブロ
記事全体を表示
MC33772BのEPAD MC33772B の底面には、5.4 mm × 5.4 mm の露出金属領域があります。 しかし、PCB設計ガイドでは、はんだマスクの開口部は3.7~3.8mmにすることを推奨しています。mm であり、EPAD のサイズは約 3.7 mm であることを示しています。 実際の検査では、IC 底面の露出金属領域は 5.4 mm であり、推奨される PCB 開口部よりも大きくなっています。 データシートによれば、3.7 mm (最小) から 5.4 mm (最大) の領域が PCB 配線禁止領域として指定されています。 3.7mmが推奨EPADサイズで、3.7~5.4mmの場合mm 領域は PCB 配線禁止領域として定義されていますが、この領域全体がパッケージの底面で露出した金属として設計されている理由は何ですか? Re: MC33772B's EPAD 露出パッドの PCB デザインの詳細については、リンク ファイルの 12 ページをご覧ください。 AN4388: クアッドフラットパッケージ (QFP) – アプリケーションノート 5.2 はんだステンシルとはんだペースト Re: MC33772B's EPAD あなたの答えはすでにわかっていますが、私が本当に理解したいのは、MC33772 の底面の開いた金属領域がなぜ 5.4 mm なのかということです。 アプリケーションノートによると、はんだ付け開口部の面積は 3.7 mm ですが、デバイスの底面の金属面積は 5.4 mm です。なぜ違いがあるのでしょうか? データシートによれば、3.7 mm ~ 5.4 mm の領域は配線禁止領域として指定されています。 それを踏まえて、なぜこの同じ3.7~5.4デバイスの底面には、mm 領域が露出した金属として露出しています。
記事全体を表示
i.MX 93 Processor: Explaining Secure Boot Signing and Authentication Recently, legal regulations such as the Cyber Resilience Act (EU) and JC-STAR (Japan) are being established around the world. Secure boot is also included among these technical requirements, and you may have heard of it as an important function. However, many users actually use Secure Boot without understanding how it works. Therefore, I would like to explain how it works using i.MX 93 Secure Boot (AHAB) as an example. table of contents i.MX 93 AHAB Signature and Authentication Mechanism 1. Containerizing the image 2. Add the public key and signature to the container 3. Authenticating Signed Containers 4. Authenticating Signed Containers in U-Boot i.MX 93 AHAB Signature and Authentication Mechanism¶ This article explains how the i.MX 93 processor's Advanced High Assurance Boot (AHAB) signing and authentication works. The i.MX 93 boot file is in a unique container format. Secure boot using AHAB adds a public key and signature to the container, and when the device boots, it authenticates the public key included in the container and verifies that the contents of the container have not been altered, preventing the launch of unauthorized software. 1. Containerize the image¶ Keita_Nagashima_0-1765854081919.png Fig. 1 Containerizing an image¶ Images that i.MX 93's BOOTROM and U-Boot load into memory and use must be converted to container format beforehand. Note The image here refers to U-Boot-SPL, U-Boot, ATF, OPTEE, M-Core SW, Kernel, DTB, Ramdisk, and any other data you want to place in memory. Details of the container format can be found in the System Boot chapter of the i.MX 93 Applications Processor Reference Manual . To containerize the image, use imx-mkimage and the included tool called mkimage_imx8 . When a container is generated, a Container Header is added to the beginning of the container file. This includes an ImageArray that collects the offset, size, hash value, etc. of each image, and a Signature Block where the public key and signature for secure boot are written. The Signature Block is generated in a mostly empty state. Multiple images can be combined into one container, and the image data will be concatenated to the end of the container file. 2. Add public key and signature to container¶ Keita_Nagashima_1-1765854199747.png Fig. 2 Adding a public key and signature to a container¶ To prevent unintended use of containers on i.MX 93 devices and to detect any alteration of the container contents, a public key and signature are added to the container using the Code Signing Tool (hereafter referred to as CST). First, generate a Super Root Key (SRK). The script ahab_pki_tree.sh included in the CST generates the CA and SRK1 to SRK4. The SRK consists of a pair of public and private keys, and the private key must be kept secret. Using srktool included in the CST, an SRK Table is generated by concatenating the four public keys SRK1 to SRK4. At the same time, an SRK Hash, which is the SHA-256 of the SRK Table, is also generated. The SRK Hash is written to the SRK_HASH fuse of the i.MX 93 device. The SRK should be preserved for the long term until the end of the i.MX 93 device lifecycle. Next, cst in the CST will attach the public key and signature to the container. The SRK Table generated earlier is written to the SRK Table field of the Signature Block. The area from the beginning of the Container Header to the end of the SRK Table field is signed using one of the SRK private keys. The signature data is written to the Signature field of the Signature Block. 3. Authenticating Signed Containers¶ Keita_Nagashima_2-1765854309584.png Fig. 3. Signed container authentication¶ First, calculate the SHA-256 of the SRK Table on the container, and if it matches the contents of the SRK_HASH fuse on the i.MX 93 device, you can authenticate that the SRK Table is the same as the SRK used for signing. Once the SRK Table is authenticated, the SRK public key and signature data contained in the SRK Table can then be used to verify whether the area from the beginning of the Container Header to the end of the SRK Table field has been altered. Finally, if you can verify that the Container Header has not been altered, you can verify that the images have not been altered by comparing the hash value written in the ImageArray with the hash value of each Image. 4. Authenticating Signed Containers in U-Boot¶ The U-Boot command auth_cntr is used to authenticate signed containers in U-Boot. https://github.com/nxp-imx/uboot-imx/blob/lf-6.6.36-2.1.0/arch/arm/mach-imx/ele_ahab.c#L811-L815 auth_cntr When the command is executed, the do_authenticate function is called, which calls the authenticate_os_container function. https://github.com/nxp-imx/uboot-imx/blob/lf-6.6.36-2.1.0/arch/arm/mach-imx/ele_ahab.c#L400-L416 The authenticate_os_container function calls the ahab_auth_cntr_hdr and ahab_verify_cntr_image functions. https://github.com/nxp-imx/uboot-imx/blob/lf-6.6.36-2.1.0/arch/arm/mach-imx/ele_ahab.c#L330-L398 The ahab_auth_cntr_hdr function calls the ele_auth_oem_ctnr function. The ahab_verify_cntr_image function calls the ele_verify_image function. https://github.com/nxp-imx/uboot-imx/blob/lf-6.6.36-2.1.0/arch/arm/mach-imx/ele_ahab.c#L261-L278 https://github.com/nxp-imx/uboot-imx/blob/lf-6.6.36-2.1.0/arch/arm/mach-imx/ele_ahab.c#L297-L309 The ele_auth_oem_ctnr and ele_verify_image functions send commands to ELE and receive results from ELE. https://github.com/nxp-imx/uboot-imx/blob/lf-6.6.36-2.1.0/drivers/misc/imx_ele/ele_api.c#L76-L104 https://github.com/nxp-imx/uboot-imx/blob/lf-6.6.36-2.1.0/drivers/misc/imx_ele/ele_api.c#L134-L161 You can check the authentication result with the U-Boot ahab_status command. The main error codes are as follows: Table 1 Major error codes for the ahab_status command¶ Error Code What the error means Situations in which the error occurs ELE_NO_AUTHENTICATION_FAILURE_IND (0xEE) No authentication was performed. You tried to authenticate an unsigned container. ELE_BAD_KEY_HASH_FAILURE_IND (0xFA) The fuse SRK_HASH does not match the HASH in the SRK Table of the signed container. - Attempting to authenticate a signed container on a device where nothing is written to the fuse SRK_HASH. - An attempt was made to authenticate a container signed with an SRK that is not included in the SRK Table used when generating the FUSE SRK_HASH. - The SRK table of the signed container has been rewritten. - The SRK table for the signed container could not be loaded correctly (it was not written correctly in memory). ELE_BAD_SIGNATURE_FAILURE_IND (0xF0) The signature is incorrect. - The signed region of a signed container has been rewritten. - The signature of a signed container has been rewritten. - One of the above could not be loaded correctly. (It was not written correctly in memory.) ELE_BAD_HASH_FAILURE_IND (0xF1) The image hash is different from the hash written in the image array. - The image of the signed container has been rewritten. - The signed container image could not be loaded correctly (it was not written correctly in memory).   Note These error codes can be observed in the OEM Open state. In the OEM Closed state, the device stops when an error occurs, so no error codes are displayed. This document is a reference for using NXP products. For official specifications, please refer to the product manual and application notes. Actual operation may differ from the contents described due to differences in various conditions, such as the version of the software used. Not all functions have been verified, so please be sure to verify and test the product to suit your intended use. Next time, I would like to explain how Secure Boot (AHAB) is implemented and works. Article: i.MX 93 Processor: How to Implement Secure Boot - Practical Guide (Japanese blog)   =========================​ We are currently unable to respond to comments in the " Comment " section of this post . We apologize for the inconvenience, but when making inquiries, please refer to " How to contact NXP with technical questions ( Japanese blog ) " . (If you are already an NXP distributor or have a relationship with NXP , you may contact the person in charge directly. ) Recently, legal regulations such as the Cyber Resilience Act (EU) and JC-STAR (Japan) are being established around the world. Secure boot is also included among these technical requirements, and you may have heard of it as an important function. However, many users actually use Secure Boot without understanding how it works. Therefore, I would like to explain how it works using i.MX 93 Secure Boot (AHAB) as an example. i.MX Processors Security Japanese Blog
記事全体を表示
在 imx8mp 上使用 rproc 希望你一切都好。这可能是一组零星的问题,但我是 Yocto 和异构芯片的新手。如有任何帮助,我们将不胜感激。 我使用的是使用 imx8mp 的Kontron 底板。我可以通过 SD 卡在 A 核上构建并运行 Yocto,同样,我也可以在 M 核上运行代码。但是后者是使用 U-启动 完成的,现在我想将其移到使用 rpmsg 功能进行 rproc 控制。 我用 menuconfig 启用了驱动程序,现在加载 Linux 时,我在 sys/class/ 中看到了 remoteproc 文件夹。然而,它是空的。我相信这意味着它没有在设备树中启用。如果我的理解有误,请纠正我,我想按以下步骤操作: 修改设备树以为 TCM 保留内存(并启用邮箱?)。 用叠加法来完成,而不是修改调入的 dtb 文件。 使用配方/层将其添加到内核版本中。 我找到了这份imx linux rproc 支持文档,但它没有告诉我如何像上面描述的那样加载覆盖层,也没有告诉我不同的加载方法。 我的模糊问题是 我朝着设备树的方向冲错树了吗?"的" 方式是什么? 我的最终目标是我用 Yocto 构建所有东西,将图像闪存到板上,无需进一步的板互动。这可能吗? 更尖锐的问题: 如何在 Yocto 版本时应用叠加层? imx linux rproc 支持文档提到了rproc DTS 节点和使用的内存节点。只需要做这些改动吗? 提前感谢! i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Yocto Project Re: Using rproc on the imx8mp 嗨,@waker、 我用设备树冲错树了吗?什么是 “完成” 的方式? 你说得对:完成的方法是在 DT 中启用 i.MX remoteproc 节点,保留固件和 RPMsg 使用的内存区域(ITCM/DTCM 或 DDR、vrings、vdev 缓冲区、可选资源表),然后连接 rpmsg‑virtio 使用的邮箱(MU)。i.MX 的内核 rproc 驱动程序(imx-rproc)需要这些 DT 节点;如果存在,你会在 /sys/class/remoteproc/ 下看到 remoteproc0。 如何在 Yocto 版本时应用叠加层? 您可以按照以下指南实现这一目标: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/How-to-use-Devshell-to-compile-device-tree-files/ta-p/1727428 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/How-to-compile-Linux-Kernel-Image-and-device-tree-using-Yocto/ta-p/2022759 我的最终目标是我用 Yocto 版本所有东西,将图像闪存到板上,无需进一步的板互动。这可能吗? 是的,你可以根据需要生成合适的补丁并将补丁应用到Yocto Project。 imx linux rproc 支持文档是否提到了 rproc DTS 节点和使用的内存节点。只需要做这些改动吗? 是的。 你可以查看我们的 imx8MP-EVK 板的演示和设备树作为参考。 要启用虚拟通道,必须在系统中安装一个内核模块,如我们在示例中所述。 https://github.com/nxp-mcuxpresso/legacy-mcux-sdk-examples/tree/main/evkmimx8mp/multicore_examples/rpmsg_lite_str_echo_rtos https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts 敬上, Chavira Re: Using rproc on the imx8mp 感谢您的回复,我已经将设备树加载到系统上(附上了经过修改的 Kontron 提供的设备树)。我可以看到这是预留内存目录: root@kontron-mx8mp:~# ls /proc/device-tree/reserved-memory/ '#address-cells' m4@0x10000000 m4@0x800000 name '#size-cells' vdev0vring1@55008000 dsp@92400000 m4@0x7E0000 m4@80000000 ranges vdev0vring0@55000000 vdevbuffer@55400000 但是,远程程序目录(/sys/class/remoteproc/)是空的,我读过这是设备树中的内存问题。知道我哪里出错了吗? 可能还值得一提的是,我在启动时看到了以下内容: [ 13.286497] remoteproc remoteproc0: releasing imx-rproc 我还使用您提到的evk rpmsg dts 进行了校准,但没有成功。我也遇到了同样的问题。 Re: Using rproc on the imx8mp 我在启动时也看到了这个: `[13.289371] 平台 imx8mp-cm7:延迟探测等待中`
記事全体を表示
DMS on iMX93 FRDM Hi Team, Has anyone implemented or evaluated a Driver Monitoring System (DMS) demo on the i.MX93 FRDM platform? I am specifically looking for details or references related to the following features: Face detection Face landmark detection Iris / eye landmark detection Driver behavior detection such as smoking and phone usage If any demo, reference design, SDK example, or partner solution is available, please share the details or relevant documentation. Thanks in advance for your support. Best regards, Ajnas FRDM-Training Re: DMS on iMX93 FRDM Hi @ajnas-c, Thank you for contacting NXP Support! You can check a detailed information and source code about this demo in the link below: https://github.com/nxp-imx-support/nxp-demo-experience-demos-list/tree/lf-6.12.3_1.0.0/scripts/machine_learning/dms Best Regards, Chavira
記事全体を表示
リクエスト: CMS ECDH の SIMW Top PKCS#11 (SE05X) に C_UnwrapKey を実装する NXPチームの皆様、こんにちは。 SE05X で CMS ECDH ハンドルのみの復号化を有効にするには、SE05X SDK PKCS#11 に実装された C_UnwrapKey (AES-CBC/AES-CBC-PAD) が必要です。 現在、C_UnwrapKey は sss_pkcs11_pal_core.c で CKR_FUNCTION_NOT_SUPPORTED を返します。このフローでは、派生した AES ハンドルと CMS からの 16 バイトの IV を使用して、CMS CEK オントークンをアンラップする必要があります。 よろしく ヴィシュワ Re: Request: Implement C_UnwrapKey in SIMW Top PKCS#11 (SE05X) for CMS ECDH こんにちは、 全体的なアイデアとしては、EC キーを使用して OpenSSL CMS を使用してデータを暗号化および復号化することです。 参考までに、OpenSSL コマンドを以下に示します。 pkcs11-tool --module /usr/lib/libsss_pkcs11.so --slot 1 --keypairgen --key-type EC:prime256v1 --label "sss:20202022" OPENSSL_CONF=engine.conf openssl req -engine pkcs11 -new -key "pkcs11:object=sss:20202022;type=private" -keyform engine -out ec_req.pem -x509 -subj "/CN=Test EC" -days 365 OPENSSL_CONF=engine.conf openssl x509 -engine pkcs11 -signkey "pkcs11:object=sss:20202022;type=private" -keyform engine -in ec_req.pem -out ec_cert.pem openssl cms -encrypt -binary -outform DER -aes128 -in smcont.txt -recip ec_cert.pem -out test_ec.cms OPENSSL_CONF=engine.conf openssl cms -decrypt -binary -inform DER -engine pkcs11 -keyform engine -inkey "pkcs11:object=sss:20202022;type=private" -recip ec_cert.pem -in test_ec.cms -out smtst.txt Re: Request: Implement C_UnwrapKey in SIMW Top PKCS#11 (SE05X) for CMS ECDH こんにちは@vishwaec08 、 あなたの機能リクエストを専門チームに転送しましたので、そこからフィードバックが届き次第お知らせします。 ご辛抱いただきありがとうございます! すてきな一日を、 カン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - スレッドは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいスレッドを開いて、閉じたスレッドを参照してください。 ---------------------------------------------------------------------------------
記事全体を表示
FreeMaster 3.2 not working with S32k344 Hello NXP MBDT Team, I am working freemaster3.2 on S32k344 and MBDT1.5. I am facing a weird issue like, when I am configuring the single CAN0 with single Rx-Tx CAN object, the free master works. But on configuring more CAN instances with respective single Rx-Tx object the free master stopped working. i have attached the model for your reference where I am calling the free master APIs, because the same issue was face with free master block also.   Re: FreeMaster 3.2 not working with S32k344 Hello May I ask why do you custom code for the FreeMASTER? Why don't you use the included blocks for FreeMASTER? Moreover, if you don't have any hard limitation, I recommend you to install the latest version for S32K3 Toolbox (v1.8.0).  Best regards, Sorin Bancila Re: FreeMaster 3.2 not working with S32k344 I want to stick to MBDT 1.5. We have performed multiple tests using the FreeMASTER blocks provided with the toolbox, but the results show that FreeMASTER is not working properly. Could you please check the model shared in the previous post and make it work for me, or provide a similar model that is compatible with and works correctly with MBDT 1.5? Thanks Re: FreeMaster 3.2 not working with S32k344 Can anyone get the issue.
記事全体を表示
iMX RT700 EVK 访问 SDIO 卡 尝试访问 RT700 EVK 上的 1.8V SDIO 卡。使用带调试语句的增强型示例,将跳线 JP65 和 JP66 设置为 1-2。 SDCARD fatfs freertos 示例。 已插卡。 SDCARD fatfs freertos 示例。 已插卡。 --- SD 卡初始化 --- SD 卡初始化失败!状态:1834 可能的原因: - 卡不支持 1.8V 信号 - 电压开关故障 - 卡通信错误 正在尝试基本的卡片检测... 过流调节(OCR):0x 0 标志:0x 0 Re: iMX RT700 EVK accessing SDIO Card 嗨,@MikeAtPhantom、 非常感谢您关注我们的产品并使用我们的社区。 请仔细查看自述文件。 我为你做了一个测试,SDK 演示运行正常。 硬件:MIMXRT700-EVKJP65 1-2 已连接 SW: mimxrt700evk_sdcard_fatfs_freertos_cm33_core0 SD: 闪迪至尊高速 32G mayliu1_0-1768795490345.png 请使用推荐的 SD 卡,并尝试重新运行示例。 顺祝商祺! MayLiu
記事全体を表示
S32K396-BGA-DC1 イーサネット コネクティビティ S32K396 でイーサネットを使用することを検討し、コネクテッドのオプションを調査しています。 S32X-MB で利用可能な T1S PHY を使用できるという前提で、S32K396-BGA-DC1 を S32X-MB とともに購入しましたが、S32K396-BGA-DC1 はデフォルトで PHY 信号を MB コネクタではなく別の PHY 接続に配線するため、偶然にも SPI などの提供されている例の多くも破壊されてしまいます。 S32K396-BGA-DC1 ボード上のストラップ抵抗器が、代わりに MB 接続を使用するために再配線される場所にあるかどうかは完全には明らかではありません。デザインリソースではガーバーのみが提供されており、ネットとコンポーネントの情報が欠落しているため、ボード設計の操作が不必要に困難になっています。ボード用の、もっと簡単に理解できるデザインリソースはありますか? あるいは、S32K396-BGA-DC1 の PHY コネクタで動作する PHY ボードはどれですか? Re: S32K396-BGA-DC1 ethernet connectivity はい、100BASE-T1 を意味しました。 抵抗器を見つけることができました。検索可能なメタデータがない状態でボードを視覚的に検索する必要がある場合、非常に時間がかかります。 TJA1103-SDBR ボードの入手可能性は少し低いです。MACSEC を使用していない場合でも、TJA1104-SDBR は動作すると思われます。 Re: S32K396-BGA-DC1 ethernet connectivity こんにちは@Henrik-Wiresさん、 念のためお伝えしますが、 S32X-MBにはT1S PHYはありません。100BASE-T1のTJA1103が搭載されています。 はい、S32K396 の EMAC はデフォルトで SABRE コネクタにルーティングされます。PCBに関しては、利用できるファイルはもうありません。ただし、PCB 上の白いラベルのおかげで、ストラップ抵抗器の位置を特定することができます。 または、 https://www.nxp.com/part/TJA1103-SDBRS32K396-BGA-DC1 の SABRE コネクタに適合します。 PavelL_0-1768555252868.png TJA1103-SDBR は、TXC でクロックを生成するために rev-RMII モードにする必要があります -> ジャンパー 2-3 を CONFIG4 に追加します。 PavelL_1-1768555489363.png よろしくお願いいたします。 パベル Re: S32K396-BGA-DC1 ethernet connectivity こんにちは@Henrik-Wiresさん、 はい、 TJA1104-SDBR は TJA1103-SDBR と同様に動作するはずです。 よろしくお願いいたします。 パベル Re: S32K396-BGA-DC1 ethernet connectivity CONFIG を確認するようお知らせいただきありがとうございます。配信時のデフォルト構成は「異なります」。
記事全体を表示
HSEデータは複数回のソフトリセット後にのみメモリに反映されます 実行した手順: 1. HSE ELFファイル(HSEメモリ位置にプログラムされたHSEデータバイトを含む)をCycloneイメージ作成者に提供します。 2. Cyclone .sapを作成するHSE を有効にしてプログラムするためのファイル。 3. .sapをフラッシュするJTAG 経由で Cyclone デバッガーを使用して S32K312 ボード上のファイルを実行します。 4. 電源を入れ直します。 5. ワークスペースをロードし、メモリ内の HSE データを検証します。 6. デバッガーを介して複数のソフト リセットを実行します。 観察された動作: • 最初の電源サイクル後、HSE データはすぐにはメモリに反映されません。 • HSE データは、複数回のソフト リセット後にのみメモリに表示されます。(問題) • 遅延を許可しようとしましたが、それでも同じ動作でした 質問: • HSE データをメモリに反映するには、なぜ複数のソフト リセットが必要なのでしょうか? • 推奨される回避策はありますか (例: リセット シーケンス、構成の変更)? Re: HSE data reflected in memory only after multiple soft resets こんにちは@abdul_rahiman_csg まず、「HSE ELF ファイル (HSE メモリ位置にプログラムされた HSE データ バイトを含む) を提供する」とはどういう意味ですか? HSE ファームウェアがインストールされている場合、HSE セキュア メモリ (HSE ファームウェア、HSE データ) への排他的アクセス権は HSE のみに与えられます。セキュア メモリはメモリ マップから削除され、ユーザーはまったくアクセスできなくなります。 よろしくお願いいたします。 ルーカス Re: HSE data reflected in memory only after multiple soft resets abdul_rahiman_csg_2-1768208452453.png abdul_rahiman_csg_1-1768208292577.png このELFには、アドレス範囲にプログラムされたHSEデータが含まれています。 0x004D2000~0x004D2060および 0x1B000000~0x1B000360 Re: HSE data reflected in memory only after multiple soft resets こんにちは@abdul_rahiman_csg これはマイクロコントローラの観点からは意味がありません。ツールに関係しているようです。この件について、Pemicro と直接話し合ってみてはいかがでしょうか? https://www.pemicro.com/support/index.cfm よろしくお願いいたします。 ルーカス
記事全体を表示
eIQ Neutron NPU 实验室指南 这些实验室指南提供了详细的分步说明,介绍了如何制作量化的 TensorFlow Lite 模型,以及如何使用eIQ 工具包中的中子转换工具,将模型转换为可在 MCX N 设备上的 eIQ 中子核处理器上运行的格式。《eIQ Neutron NPU for MCUs 实验室指南——第 1 部分——Mobilenet》文档重点介绍了如何使用 eIQ Toolkit GUI 方法转换模型,随后将转换后的模型导入 eIQ MCUXpresso SDK 示例中。建议您首先完成这个实验。根据 MCUXpresso SDK 的下载方式,存在两个版本:一个版本可从MCUXpresso SDK Builder 网站下载为 zip 文件,另一个版本可从NXP GitHub 仓库下载。 《eIQ Neutron NPU for MCUs 实验室指南 - 第 2 部分 - 人脸检测.pdf》文档重点介绍了如何使用 eIQ 工具包的命令行工具将模型转换为 eIQ Neutron NPU 格式,并将转换后的模型集成到 Face Detect demo 中,该演示可在 Application Code Hub 中找到。这两个实验室均设计为在 FRDM-MCXN947 上运行,但相同的概念也适用于其他 MCX N 系列开发板,以及搭载 eIQ Neutron 神经处理单元的其他设备,如 i.MX RT700。另外,请务必查看入门社区帖子,以获取有关 eIQ Neutron 神经处理单元的更多详细信息。 ---更新于 2025 年 4 月,适用于 eIQ Toolkit 1.15 MCXN NPU|ML
記事全体を表示
MCXA153 读出保护 Ⅰ、Introduction MCXA153支持读出保护(ROP),以防止设备内部闪存中的代码被读取。此读出保护机制允许用户在系统中启用不同级别的保护。本文详细解释了四个ROP级别的配置,以及不同级别之间的关系和相应的生命周期。 Ⅱ、四级读出保护(ROP) ROP 由 ROP_STATE 位控制,它是一个存储在 IFR0 中的 32位字段。它可以由客户编程。 以下是对四个ROP级别的介绍: 1.ROP_LEVEL0 ROP_STATE = 0xFFFF_FFFF(已擦除的 FLASH 值), 无ROP。默认状态为空白。 2.ROP_LEVEL1 ROP_STATE = 0x0000_0003 调试被禁用和解锁,但客户可以对其进行修改,仅有有限的调试邮箱命令可供使用。 3 .ROP_LEVEL2 ROP_STATE = 0x0000_0001 调试被禁用和锁定,客户无法对其进行修改,仅有有限的调试邮箱命令可供使用。 4.ROP_LEVEL3 ROP_STATE = 0x0000_0000 调试被禁用和锁定,客户无法对其进行修改,也没有可用的调试邮箱命令。 注意:其他任何内容 = 类似 ROP3 的行为(调试已禁用/锁定,ISP 已禁用)。 当ROP级别为0时,我们可以通过修改IFR0中的ROP_STATE值,将ROP级别更改为1、2和3。当ROP级别为1或2时,我们可以通过ISP或DM-AP命令将ROP级别更改为0。ROP 3级操作不可逆,请谨慎执行。下图展示了四个层级之间的关系:   Ⅲ、生命周期和ROP 当芯片从NXP交付给客户时,其生命周期处于“NXP配置”阶段,我们也可以称之为“OEM Open”、“OEM Field Return”或“NXP Field Return”。因为此时芯片完全空白,并且允许ISP和调试功能。当然,此时的ROP级别为0。在此生命周期中,客户可以进行开发和调试。 在客户生产过程中,客户可根据自身需求通过ROP对ISP和调试设置特定限制。客户可选择ROP级别1或ROP级别2。此时的生命周期状态为“OEM Closed”。在此生命周期中,当出现质量问题时,客户可通过ISP或DM-AP命令擦除整个芯片,或使用DM-AP命令“set FA”将芯片生命周期恢复至初始状态,并将其送回NXP工厂进行分析,且不会存储任何知识产权资产。 在某些情况下,客户可能需要完全禁用ISP和调试功能。在这种情况下,客户可以将ROP级别设置为3,芯片生命周期为 “OEM No Return”。请注意,目前即使是恩智浦也无法恢复该芯片。因此,一旦出现CQC问题,我们的工厂无法进行进一步的分析。 此外,我们可以在任何生命周期内将芯片转移到“Bricked”状态。在“Bricked”生命周期中,该芯片将无法启动并彻底砖块化。下表显示了生命周期与ROP之间的关系: Ⅳ。不同 ROP 水平对 SWD 和 ISP 的影响 支持的SWD和ISP命令在不同的ROP级别是不同的。 从ROP0到ROP3,支持的命令越来越少。下图显示了SWD和ISP在不同ROP级别下支持的命令。 ROP0-ROP3支持的ISP命令:   ROP0-ROP3支持的SWD DM-AP命令:   五、使用 SEC 工具配置 ROP 我们可以通过MCUXpresso安全配置(SEC)工具配置ROP。MCUXpresso安全配置工具是一款基于GUI的应用程序,用于简化在恩智浦MCU上生成和配置可启动的可执行文件。 硬件需求:FRDM-MCXA153板、Type-C USB线 软件要求:MCUXpresso Secure Provisioning (MCUXpresso Secure Provisioning v8_b240110 或更高版本。) 配置步骤: 第1步.创建新工作区 打开软件后,点击File->New Workspace,选择“MCX A14x/A15x”->MCXA153->点击“create”。请参考下图: 步骤 2.目标处理器连接 进入ISP模式:按住SW3(ISP键)=> 按下并松开SW1(RESET键)=> 松开SW3 进入工作区后点击 "Target" -> Connection,打开目标处理器连接窗口。此处通过 UART 建立连接,需选择端口号与波特率。参考下图: 我们可以点击 “Test connection” 来检查连接是否成功。如果连接成功,结果将显示“OK”。我们还可以看到当前电路板的生命周期:OEM Open。请参考下图: 第3步:选择生命周期设置ROP 点击工具栏上的“OEM Open” 根据要求,选择合适的ROP,在本例中选择ROP 2。 注意:使用ROP 3时需谨慎。 请参考下图: 步骤 4.构建镜像 完成上述操作后,需将 MCUXpresso IDE 生成的 .s19或 .hex文件加载至 Source executable image。 文件加载完成后,系统会自动识别起始地址。如果起始地址不是0x00000000,则无法“built image”。然后点击“build image”。请参考下图: 镜像构建完成后将显示 "SUCCESS: built image",点击 "close"。参考下图: 步骤 5.写入镜像 我们可以看到所需的.bin文件已在“write image”中自动生成,也可以通过“import”导入我们编写的相应的.bin文件。镜像路径文件将自动加载。 点击“write image”会弹出确认窗口,然后点击“ok”以自动运行脚本。文件成功写入后,显示消息“SUCCESS: write image”。请参考下图: 第6步.检查 完成ROP 2配置后,可以通过“PFR configuration”来查看寄存器的状态。已使用的寄存器无法读出,显示未知,如下图所示: 最后,按下电路板上的 RESET 键以退出 ISP 模式。此时,电路板已进入 ROP 2,调试功能已禁用。进入其他 ROP 级别的方法是相同的。 那么,我们如何回到其他ROP级别呢? ROP 2状态调试已禁用,甚至IDE也无法运行,我们只能使用ISP命令和SWD命令进行操作。SEC工具集成了SWD批量擦除命令,可将系统恢复至ROP 0。不过,我们也可以使用blhost软件来使用ISP命令,进入ISP模式,输入“blhost -p comxx -- flash-erase-all”,返回ROP 0。 接下来,我们将研究如何使用SWD整体擦除命令。 点击工具栏“Dbg”: 此时将显示Select Debug Probe(选择调试探针) 窗口。请参考下图: 选择“Probe: ”并点击“erase”。擦除成功后,显示以下消息:Flash整体擦除成功!我们已成功返回ROP 0。 Ⅶ、总结 ROP功能可保护芯片的安全性,用户可根据自身应用需求设置不同级别的ROP。MCUXpresso Secure Provisionin简化了ROP配置过程。配置不同的ROP需要修改CMPA 中 ROP_STAT和ROP_STAT_DP的状态位。SEC工具帮助我们通过GUI接口自动执行这项工作。                                启动 ROM | 启动配置 | 闪存 MCXA
記事全体を表示
最新の SDK_25_12_00 ではデバッグ ツールがグレー表示され、古い SDK_25_03_00 では正常に動作します MCUXpresso IDE V25.6.136 を実行中+ SDK_25_12_00 を搭載した evkmimxrt685 ボード。デバッグが開始されると、すべてのデバッグ ツール (再開 ..) がグレー表示され、プロジェクトを実行できなくなります。古い SDK_25_03_00 では正常に動作しますが、SDK_25_06_00 および SDK_25_09_00 でも同じ問題が発生します。デバッグツールを復元するにはどうすればいいですか Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 こんにちは、カルロス。これは、Hello World を含むすべての例で発生します。常に「void ResetISR(void)関数の最初の行、つまりstartup_mimxrt685s.cの行__asm volatile ("cpsid i") (行番号381)で停止します。スタートアップディレクトリ内のファイル。evkmimxrt685_dsp_mu_polling_cm33 を実行しようとしています。この例は 25.03 バージョンでは正常に動作します。以降のすべてのバージョン (06、09、12) でこの問題が発生します。24.03 以降の SDK バージョンでは IDE に何か変更を加える必要がありますか?スクリーンショットはあるのですが、どうやって投稿すればいいですか。ありがとう@bobvr Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 こんにちは、カルロス。スクリーンショットを投稿します。 Hello Worldを含むすべてのサンプルで発生します。常に「void ResetISR(void)」関数の最初の行、つまりスタートアップディレクトリのstartup_mimxrt685s.cファイルの__asm volatile ("cpsid i")行(行番号381)で停止します。main()関数が実行されず、実行が開始されません。evkmimxrt685_dsp_mu_polling_ cm33を実行しようとしています。このサンプルはバージョン25.03では正常に動作します。それ以降のバージョン(06、09、12)ではこの問題が発生しています。24.03以降のSDKバージョンでは、IDEに何か変更を加える必要があるでしょうか?bobvrさん、ありがとうございます。 Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 こんにちは@bobvr お使いのコンピュータにインストールされている OS を教えていただけますか?Linux、Windows 10、Windows 11? EVK の BOOT_SEL が正しく選択されているか確認してください。 Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 こんにちは@bobvr セットアップの詳細を共有していただきありがとうございます。 フラッシュを一括消去して、デバッグを再試行してください。 これを行うには、クイックスタートパネルでリンクサーバーアクションを変更してください。 carlos_o_0-1767979142309.png その後、LinkServer プローブを使用してデバッグに戻します。 プロセス中にエラー メッセージが表示された場合は、スクリーンショットを共有してください。 Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Dell Alder Lake デスクトップで Windows 11 を実行しています。ブート ジャンパー (JP1) は開いています。これは、マニュアル (MIMXRT685-AUD-EVKUM Rev 3 - 2023 年 7 月 21 日) によるとデフォルトです。これが「EVK の BOOT_SEL を確認する」という意味だと思います。ありがとうbobvr Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 カルロス、ありがとう。これを実行する前に、私は常に SEGGER J-Link プローブを使用しており、「SEGGER J-Link プローブを使用したフラッシュ アクションの消去」メニュー オプションがあることをお知らせしたいと思います。それを使用して消去する必要がありますか、それとも上記のようにリンク サーバー プローブを使用して消去する必要がありますか。 Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 カルロス、リンク サーバーで一括消去を試みましたが、エラー メッセージが表示されました - スクリーンショットを添付します。ありがとう Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 こんにちは、カルロス。Segger J-Link プローブを使用してフラッシュを削除しました (リンク サーバー プローブは Segger ファームウェアによって上書きされているため、リンク サーバー プローブではありません)。ARM コアと HiFi4 DSP の両方をデバッグするには、Segger プローブを使用する必要があることを理解しています。また、Segger ファームウェアを最新バージョン 8.98 にアップデートしました。デバッグ起動ファイルを削除し、起動時に新しいワークスペースを生成するためにワークスペースを削除し、ボードの電源を入れ直しました。まだ同じ問題です。デバッグセッションが実行中であると表示されますが、デバッグできません。前述したように、これは 03 以降のすべてのバージョン (06、09、12) で発生します。startup_mimxrt685s.c で停止します以前と同じようにファイルします。デバッガー コンソールに警告メッセージが表示されますが、これはおそらく無害です。「警告: 'main' をホスト エンコーディング (CP1252) から UTF-32 に変換できませんでした。 通常、このようなことは起きませんので、バグレポートを提出してください。 モニター実行 SetRestartOnClose=1 次のステップについてアドバイスをお願いします。ありがとう、bobvr。 Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 こんにちは@bobvr ご利用いただいていることを共有いただきありがとうございます。 リンク サーバーでデバッグを試みても問題は解決しませんか?エラーメッセージが表示された場合は、それを共有してください。
記事全体を表示
MCUXpresso Config Tool for MCUXpresso IDE Clone an Example Project from MCUXpresso IDE The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a CTimer to generate a PWM signal and change between two LEDs. Find the Quickstart Panel in the lower left-hand corner and click on Import SDK example(s) Sabina_Bruce_14-1767120564749.png Click on the FRDM-MCXN947 board to select that you want to import an example that can run on that board, and then click on Next Sabina_Bruce_15-1767120575767.png Use the arrow button to expand the  driver_examples  category, then expand the ctimer examples, click on the check box next to  ctimer_match_interrupt_example  to select it. To use the UART for printing (instead of the default semihosting), Select UART as the SDK Debug Console checkbox under the project options. Then, click on Finish Sabina_Bruce_16-1767120587691.png Click on the  “frdmmcxn947_ctimer_match_interrupt_example”  project in the Project Explorer View and build, compile, and run the demo as described in the previous section Sabina_Bruce_17-1767120603466.png You should see the BLUE and RED LED changing back and forth Terminate the debug session Use MCUXpresso IDE Pins Tools to Modify Example Note: Previously, you had to clone an SDK project like in the previous step. Open the pins tool by selecting “ConfigTools” on the top right hand of the file explorer window and then select “ Open Pins” Sabina_Bruce_2-1767120490131.png The pins tool should now display the pin configuration for the ctimer project Sabina_Bruce_3-1767120490074.png In the Pins view deselect “Show dedicated pins” and “Show no routed pins” checkboxes to see only the routed pins. Routed pins have a check in a green box next to the pin name. The functions selected for each routed pin are highlighted in green Sabina_Bruce_4-1767120490861.png In the current configuration, PIO3_2 and PIO3_3 are routed as the outputs of the CTimer. Let’s add a third Ctimer Match output and enable the Green LED Select “Show no routed pins” to see the other options. To enable the third Ctimer Match Output, browse the column for Ctimer and select and output. In this example, we will select, Ctimer4 Match 2 on PIO3_6. Select the item in the Ctimer column to enable Sabina_Bruce_5-1767120490102.png Now, let’s route the Green LED. In the search box type “green” so that the routed pin for this LED is shown. Finally, click the box under the GPIO column. The box will highlight in green, and a check will appear next to the pin Sabina_Bruce_6-1767120489892.png Next configure the GPIO pin as an output in the “Routing Details” window Sabina_Bruce_7-1767120490064.png Now it’s time to implement these changes into the project by exporting the new updated pin_mux.c and pin_mux.h files that are generated by the Pins tool. Click on Update Project in the menu bar Sabina_Bruce_8-1767120490018.png The screen that pops up will show the files that are changing and you can click on “diff” to see the difference between the current file and the new file generated by the Pins tool. Click on “OK” to overwrite the new files into your project Sabina_Bruce_9-1767120490120.png Let’s add some additional code to the example. Open  simple_match_interrupt.c  file and add the following macros for the third ctimer output. Sabina_Bruce_10-1767120489936.png Add the Green LED functions as well. Sabina_Bruce_11-1767120491994.png Some additional code to be implemented will be the third ctimer’s callback, this can be copied from  ctimer_match1_callback  and modify the content to match2. To be able to visually identify the new ctimer, we will remove one of the previous ctimers as shown Sabina_Bruce_12-1767120492171.png The main function will need to include the initialization of both the Green LED and the Ctimer Sabina_Bruce_13-1767120490811.png Build and download the project as done in the previous section Run the application. You should now see the Green and Blue LED blinking back and forth Terminate the debug session
記事全体を表示
D1が赤く点灯しているため、S32K146EVB-Q144ボードをフラッシュできません 当初は正常に動作していた S32K146EVB-Q144 評価ボードを持っています。 Lin スタックを実装したデバッグ セッション中に、動作が停止しました。 コントローラをリセットすると、D1 の赤いライトが点灯し続け、他の 2 つの緑のライトも点灯したままになります。 USB ソースからの電源を選択するために、位置 2-3 の J10 と J107 を使用し、OpenSDA アプリのフラッシュ モードを選択するために、位置 2-3 の J104 を使用しました。 現在、私のコントローラは S32DS によってまったく検出されません。 症状はまったく同じであるように思われたので、以下の投稿に記載されている手順を試してみました。 Re: S32K144 D2 赤色 LED が常時点灯 - NXP コミュニティ ここで、P&E Kinetics Recovery Tool を使用して OpenSDA でプロセッサを停止できましたが、それでも新しいアプリケーションをフラッシュすることはできませんでした。 停止に成功しても再度点滅させることができず、赤色のライトが点灯したままになります。 コントローラはジャンパー J104 を調整することでブートローダーモードに入ることもでき、実際にブートローダーアプリをフラッシュすることもできました。しかし、どういうわけか私は再びフラッシュを書き込むことができず、サンプルの.srecをフラッシュしようとするとファイルでは、D2 は定期的に点滅し続けます (通常、正常に点滅すると 1 回点滅してからアプリの実行が開始されます)。 つまり、簡単に言うと: - コントローラがメインに到達できない、または継続的にリセットされる - コントローラはフラッシュに再度書き込むことができません (セキュリティ上の問題である可能性があります)。 私はデバッグ プローブを持っていないため、SEGGER-JLINK に関連するものを除き、上記の Thread で言及されているテクニックを試しました。私は PE Multilink Universal を持っていますが、フラッシュを回復/消去することはできません。 ボードの詳細は次のとおりです。 ボード名: S32K146EVB-Q144 MicroBootカーネルバージョン: 1.08 ブートローダーのバージョンは: 1.13 インストールされたアプリケーション: PEMicro EVB-S32K144 マスストレージ/デバッグアプリ アプリケーションのバージョン: 1.25 DUID は: 39A33939-91818199-37539805-F97AE678 EUID は: 4141A238-1BDB8733-1854BA22-D38368D6 TUID: 74823938-47328196-8576CC9B-0242983E TOAは次のとおりです: 86B6E505-56F042E0-79B2A114-62BA758F TOA2 は: 86B6E505-EB1A8A7C-AF6E54B6-43532420 SUID は: 86B6E505-5BA18877-37239804-8003EC65 MCU は永久にロックされますか? そうでない場合、どうすればボードを回復できますか? ハードウェアに障害があると思われますか?(参考までに、D2とD3が緑色に点灯しているのは、5Vと3.3Vの電源レールが正常に動作していることを意味していると思います) 物理的に大量消去する方法はありますか?(ボードがまったく検出されないため、S32DS 緊急キネティクス オプションは使用できません)。 OpenSDA チップの任意のピンを接地すると、フラッシュ メモリが消去されますか? Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red クリスマス休暇期間中は、サポートの応答時間は通常より長くなる場合がありますのでご了承ください。場合によっては、ご要望への対応が新年以降になることもあります。ご理解のほどよろしくお願いいたします。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red ハイ P&E リカバリ ユーティリティがMCU を停止したら、ツールを閉じます。 次にステップ3に進みます または ステップ4 S32K146 を再プログラムします。 これが原因かどうかは分かりませんが、 アプリケーションのバージョン: 1.25 。リセットボタンSW5を押したまま、USBケーブルを挿入して MSD-DEBUG-S32K146EVB-Q144_Pemicro_v121.SDA BOOTLOADER ドライブに挿入します。これにより、 アプリケーションバージョンを1.21に。 また添付しました lpit_periodic_interrupt_s32k146.srec 。 ちなみに、外付けのSegger J-Linkは必要ありません。ステップ6に従う場合: SW5を押しながらJ7を挿入すると、OpenSDAがブートローダーモードになります。そして、 SEGGER J-Linkアプリケーションファームウェア( OpenSDA_V1.bin )をOpenSDA_V1.binにコピーします。 オンボード デバッガーは J-Link になります。 よろしくお願いします、 ロビン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red こんにちは、ロビン。 迅速なご返信ありがとうございます。MSD -DEBUG-S32K146EVB-Q144_Pemicro_v121.SDAにロールバックしてみましたが、 同じように動作します。ブートローダーアプリはフラッシュされますが、D1はまだ赤く点灯しており、.srecをフラッシュできません。kinetis 回復ツールを使用して停止した後のファイル。コントローラが srec をフラッシュしようとしているが、D2 が定期的に点滅するため失敗していることがわかります (通常は 3 ~ 4 回だけ点滅し、アプリがフラッシュされます)。 その後、ブートローダーをOpenSDA_V1.bin に切り替えて、その後 J-Link コマンダーを使用して接続を試みましたが、次のログが表示されました。 SEGGER J-Link Commander V8.94 (2025年12月10日 14:50:47 にコンパイル) DLLバージョンV8.94、2025年12月10日14:49:54にコンパイル USB経由でJ-Linkに接続しています...OK ファームウェア: J-Link OpenSDA コンパイル日: 2023年1月31日 13:42:36 ハードウェアバージョン: V1.00 J-Link の稼働時間(起動以降): 0d 00h 00m 28s シリアル番号: 621000000 VTref=3.300V ターゲット接続を確立するには「connect」と入力し、ヘルプを表示するには「?」と入力します J-Link>接続 デバイス/コアを指定してください。 : S32K146 選択ダイアログに「?」と入力してください デバイス>S32K146 ターゲットインターフェースを指定してください: J) JTAG (デフォルト) S) SWD T) cJTAG TIF>SWD 対象インターフェース速度[kHz]を指定します。 : 4000 kHz 速度>100 デバイス「S32K146」が選択されました。 SWD経由でターゲットに接続する ConfigTargetSettings() の開始 ConfigTargetSettings() 終了 - 22us かかりました InitTarget() 開始 SWDが選択されました。JTAG -> SWD 切り替えシーケンスを実行しています。 CPU の停止中にタイムアウトが発生しました。 InitTarget() 終了 - 392 ミリ秒かかりました ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 APマップをスキャンして利用可能なすべてのAPを見つける AP[2]: APマップの終端に達したため、APスキャンを停止しました AP[0]: AHB-AP (IDR: 0x24770011, ADDR: 0x00000000) AP[1]: JTAG-AP (IDR: 0x001C0000, ADDR: 0x01000000) APマップを反復処理して使用するAHB-APを見つける AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 FPUnit: 6 つのコード (BP) スロットと 2 つのリテラル スロット CoreSight コンポーネント: ROMTbl[0] @ E00FF000 [0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7 [0][1]: E0001000 CID B105E00D PID 003BB002 DWT [0][2]: E0002000 CID B105E00D PID 002BB003 FPB [0][3]: E0000000 CID B105E00D PID 003BB001 ITM [0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU 126976バイトの作業用RAM(0x1FFF0000)を初期化しています リセットタイプ: NORMAL ( https://kb.segger.com/J-Link_Reset_Strategies ) リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: 失敗しました。リセット ピンを切り替えてリセット戦略を再度試します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした CPUを停止できませんでした CPUを停止できませんでした ****** エラー: CPU を停止できませんでした。 メモリゾーン: ゾーン: 「デフォルト」 説明: デフォルトのアクセスモード Cortex-M4 が識別されました。 J-Link> Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red オシロスコープを使用してリセットピンの波形を観察し、波形を送信してリセット期間とハイレベル幅を教えてください。場合によっては回復不可能となり、S32K1 チップを交換しなければならないこともあります。   接続戦略と回復手順: 目標: デバッガーにコアを停止し、問題のあるファームウェアを無効にする機会を与えます。 A. SWD速度を下げる + 「リセット時に接続」 J-Link Commanderの場合: J-Link> device S32K146 J-Link> if SWD J-Link> speed 1000 ; start at 1 MHz; if still failing, drop to 100 kHz J-Link> connect それでも失敗する場合は、手動の connect‑under‑reset を使用します。 RESET_b を外部的に低く保持し、ボードに電源を投入します。 Commander で connect を実行します。 リセットを解除し、直ちに次の操作を実行します。 J-Link> r J-Link> h J-Link> halt 特に 100 kHz SWD 速度ではタイミングが重要になる可能性があるため、何度か試してください。 B. J-Linkリセット戦略の変更 リセット戦略の値によって動作が異なります。Commander の場合 (正確な ID はバージョンによって異なる場合があります): J-Link> SetResetType = 3 ; a common “connect under reset / halt after reset”; Try 2 / 4 / 12 etc. depending on your J-Link version J-Link> r J-Link> halt または、J-Link Commander で「リセット状態で接続」を選択してみてください。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red S32K146EVB-SPF-29844-RB.pdfによると: J104 1-2 OpenSDAからのリセット信号 J10 2-3 P5V0 外部の 9V または 12V 電源がある場合は、 J107 1-2 P5V_SBC を接続することもできます。PEMicro Multilinkなどの外部デバッガーをお持ちの場合は、それを使用して、S32K146 用のプログラムをダウンロードできるかどうかを確認してください。 最後にダウンロードされたプロジェクトは何ですか?CSEc は有効になっていますか? 前回の質問に答えて、オシロスコープを使用して測定したリセット信号を提供してください。
記事全体を表示