Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
FreeRTOS system cannot run (cannot run immediately after creation) After my project program was built according to the specifications, I found that it could not run on the FreeRTOS system (I have investigated and it is not a memory shortage issue, nor should it be a priority issue). My S32DS compiler version is shown in the image below. The task failed to be created. Does this version not support FreeRTOS? Or are there any special configuration requirements? Re: freertos 系统跑不通问题(创建即跑不通) Hello @sunshine88 , The application is not actually stuck because of the sys_msleep(5000) call itself. The behavior indicates that the time base used by sys_now() is not incrementing. Therefore, the timeout condition inside sys_msleep() can never be reached. In the OSIF configuration screenshot, OsIfUseSystemTimer is enabled and the operating system type is set to FreeRTOS. However, the references under OsIfCounterConfig_0 , including the counter and system timer clock references, appear to be incomplete or empty. Adding the PIT component alone does not guarantee that the OSIF time base is correctly configured and initialized. Please do not modify the TCP/IP Stack source code or implement another delay workaround at this point. Instead, I recommend the following: Import the original lwip_FreeRTOS_s32K358 example from the installed TCP/IP Stack package. Build and run the original example without any modifications. Check whether sys_now() increments in the original example. Compare the FreeRTOS, BaseNXP/OSIF, PIT, clock, interrupt, and TCP/IP Stack configurations with your custom project. Verify that the generated initialization sequence includes the required BaseNXP/OSIF and timer initialization. We still need the information requested previously to analyze the custom project correctly: the exact MCU part number; the exact evaluation board or custom board; the original example or project type used as the starting point; whether the unmodified lwip_FreeRTOS_s32K358 example works on the same hardware; the generated implementation of sys_now() ; whether the FreeRTOS tick count returned by xTaskGetTickCount() is increasing. Please first check xTaskGetTickCount() . If it increases while sys_now() remains constant, the FreeRTOS scheduler and tick interrupt are running, and the problem is specifically in the OSIF time-base configuration or initialization. If xTaskGetTickCount() also remains constant, the problem is more fundamental and the FreeRTOS tick interrupt or scheduler configuration must be investigated. If possible, please also provide the complete project archive rather than configuration screenshots only. Without the generated configuration and initialization code, it is not possible to determine which timer or clock source is actually used by sys_now() . Best regards, Pavel Re: freertos 系统跑不通问题(创建即跑不通) Hello, I have created an LWIP program routine, but the Ethernet mainLoopTask task is stuck at sys_msleep(5000); unable to delay. When I step into this function, I find that startTime = sys_now(); the sys_now() function cannot count. My current configuration page is as follows. What could be causing this? I'm very confused. Re: freertos 系统跑不通问题(创建即跑不通) Hello @sunshine88 , The versions shown in your screenshots should support FreeRTOS. S32 Design Studio 3.5 Update 14, RTD 4.0.0, FreeRTOS 4.0.0, and TCP/IP Stack 1.0.4 appear to be the expected package combination, so this does not look like a general version compatibility issue. According to the code shown, the failure occurs directly in xTaskCreate(). Could you please provide the following information? The exact MCU part number and evaluation board or custom board being used. You previously mentioned S32K358, but please confirm the exact device and board. The name of the original example used as the starting point. The value returned by xTaskCreate(). The value printed by xPortGetFreeHeapSize() before and after the xTaskCreate() call. The configured values of configTOTAL_HEAP_SIZE, configSUPPORT_DYNAMIC_ALLOCATION, and the selected FreeRTOS heap implementation, for example heap_4.c. The exact point where the application stops, including the debugger call stack if it enters an assertion, exception, or HardFault handler. Please note that sufficient total MCU RAM does not necessarily mean that sufficient FreeRTOS heap is available. xTaskCreate() dynamically allocates both the task control block and the task stack from the FreeRTOS heap. Also, the 1024U stack-depth argument normally represents stack elements rather than bytes, so the actual allocation is larger than 1024 bytes on the Cortex-M7. As a baseline test, I recommend importing and running the original lwIP FreeRTOS example without modifications. Once the original example works, please add the additional task with a small stack, a normal priority, and a vTaskDelay() call inside its loop. This will help distinguish an environment or board configuration problem from an issue introduced by the additional task. I also noticed that your xTaskCreate() call uses a stack depth of 1024U, while the original working example uses 256U. Please restore the original value of 256U and test the unmodified example first. Note that this parameter specifies the number of stack elements, not the number of bytes, so using 1024U requires significantly more FreeRTOS heap.   Best regards, Pavel
View full article
Replacement of MIMX8QM6AVUFFAB with MIMX8QP6AVUFFAB Can we replace MIMX8QM6AVUFFAB with MIMX8QP6AVUFFAB Re: Replacement of MIMX8QM6AVUFFAB with MIMX8QP6AVUFFAB The replacement is practical if the design does not use the QuadMax-only compute/DSP resources and the QP-specific software and hardware checks pass.
View full article
I.MX6ULL ENET1 无法从物理层接收数据 I.M6ULL + 4.19.35 + KSZ 8081rnb  我们现场部署了300台这种设备。大多数情况下它们都能正常运行,业务/服务也能按预期运作。然而,我们偶尔会发现服务无法访问。经调查,我们发现 eth1 (ENET1) 停止接收数据包,即使其 LINK LED 指示灯常亮,ACT LED 指示灯有时闪烁。 此外,我们还验证了在 ENET1 上拔下并重新插入以太网电缆一次后,网络恢复正常。重启设备也能恢复它。请您帮忙分析一下可能的根本原因——是在物理层(PHY)还是媒体访问控制层(MAC)? 从该寄存器读取的值如下: 我们读取的寄存器列表包括 MAC 寄存器和 PHY 寄存器。由于篇幅较长,全文列于下一页。 命令: phy eth1 0x1读取 PHY 寄存器 1。 内存工具 i.MX6UL Linux Re: I.MX6ULL ENET1 can't recv data from phy 你好@240697273 我们读取的寄存器列表包括 MAC 寄存器和 PHY 寄存器。由于篇幅较长,全文列于下一页。 我找不到这些登记簿。请重新发送。 B,R
View full article
KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, I am trying to program the KW45B41Z-EVK using the kw45b41zevk_hello_world SDK example code. When I start debugging, the onboard debugger gets detected, but then I get the following error: 0 Available SWD Devices detected. Connect a device and try again. I have connected the USB cable to J14 and left JP22 open (to program using the onboard debugger itself). Also, JP28 pins 1 and 2 are shorted, as mentioned in the KW45UM. However, even after that, I am unable to program and debug the example. I have also tried the kw45b41zevk_led_blinky SDK example, but it behaves in the same way. I also tried using an external debugger to debug the board by shorting JP22, as mentioned in the KW45UM, but I am getting the same issue. I have attached a screenshot of the issue I am facing. I also tried to erase the flash and write the image using the Secure Provisioning Tool. First, I entered ISP mode by shorting JP25 to enable SW4, then long-pressed SW4 and Reset (SW3). Once the Test Connection passed, I erased the flash (location 0x00000000, size 0x100000) successfully. Then I used the following image: ${SPT_INSTALL_BIN}\data\sample_data\targets\KW45B41Z8\source_images\kw45b41zevk_led_blinky.s19 I was able to build and program the image successfully, and the intended RGB LED1 is also blinking indicating that KW45B41Z microcontroller is working fine. However, even after this, I am still unable to program or debug the board. Re: KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, @kaif1  Which IDE are you using?  MCUXpresso IDE or MCUXpresso for VS Code? Let me have a try on my side, then let you know the default jumper settings. Best regards, Christine. Re: KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, @kaif1  Please refer to my jumper settings, and I verified on my local side, I can flash hello_world example into the board successfully. And I am using MCUXpresso IDE with SDK 25.12.00. Please have a try with my jumper settings and then let me know whether it works for you . Best regards, Christine. Re: KW45B41Z EVK not programming over on board Debugger MCU Link. Since the Secure Provisioning Tool can successfully flash and run code on the chip, the physical hardware is completely fine, meaning the "0 SWD Devices detected" error stems from a communication mismatch between your IDE's debug probe server and the onboard MCU-Link firmware. This is usually resolved by updating the MCU-Link firmware to the latest version compatible with your IDE, or by manually holding down the reset button during the connection sequence to prevent a low-power application state from locking out the debug interface.
View full article
how to read lpddr5's mr with imx95 HI experts:      As title , how to read LPDDR5's MR register with imx95 ?  I have reference to the BSP of imx8mp and imx9,  and found the code " lpddr4_mr_read"  . But I found that they are difference, and there is no mention of how to read MR in reference manual. Best Regards. Yocto Project Re: how to read lpddr5's mr with imx95 HI db16122: I want to read the "manufacturer id" in imx-oei for difference DDR compatible.   Re: how to read lpddr5's mr with imx95 please refer to User Guide for Config Tools for i.MX.-Which MR is most important? Re: how to read lpddr5's mr with imx95 IMX95 DDR initialized in the oei/ddr. An only MR write is used, no read examples. DDRC->DDR_SDRAM_CFG |= DDRC_DDR_SDRAM_CFG_MEM_EN_MASK; Thanks
View full article
i.MX 95:M7とA55間の動的TRDC/システムマネージャーリソース割り当ておよびGPIO共有 こんにちは、チームのみなさん。 私たちは i.MX 95プラットフォームを開発しており、まずM7コアからMIPI DSIペリフェラルを使用し、その後実行時にリソースをA55コアに引き渡したいと考えています。 私たちの理解では、周辺リソースとその所有権は 、 System Managerツール を通じて生成・設定 された mx95evk.cfg ファイル内の各論理マシン/プロセッサごとに最初に定義されています。 以下の点について明確にしておきたいと思います。 動的リソースハンドオーバー: 実行時にM7からA55へMIPI DSIペリフェラルリソースを動的に移すことは可能でしょうか?例えば、M7は最初にMIPI DSIを所有・使用し、その後リリースし、その後A55が所有権を取得し同じペリフェラルを使用します。 動的リソース配分: ランタイムハンドオーバーがサポートされている場合、リソースの所有権やアクセス権限を動的に変更するための推奨されるメカニズムやAPIは何ですか?これはSystem Manager、TRDC、または他の仕組みで処理されるのでしょうか? GPIO共有: 同じGPIOポート/リソースをM7とA55の両方が同時にアクセスすることは可能でしょうか?もし可能なら、GPIOリソースを安全に共有するためにTRDCの設定要件やソフトウェア同期メカニズムを実装する必要がありますか? i.MX 95におけるM7とA55間の動的ペリフェラルハンドオーバーやリソース共有の実装方法について、推奨される方法についてのご指針をいただけるとありがたいです。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 こんにちは、 i.MX 95では、MIPI DSIリソースは当初M7で使用され、後にA55に引き継がれます。リソースアクセスと所有権はSystem Manager/TRDCの設定で設定し、実際のランタイムハンドオーバーはソフトウェアで処理すべきです。TRDCはどの論理マシン/ドメインが周辺機器にアクセスできるかを制御しますが、M7とA55間の同期は管理しません。したがって、M7はまずすべてのDSI操作を完了し、ペリフェラルの使用を停止し、A55が制御を取る前にMU/IPCなどのコア間機構を通じてA55に通知すべきです。同様に、GPIOリソースは適切なTRDC構成を通じてM7とA55の両方にアクセス可能ですが、同時アクセスはソフトウェアによる同期が必要です。DSIのユースケースでは、同時に1つのコアだけがペリフェラルをアクティブに使い、ハンドオーバーはMU/IPCで行うのが推奨されます。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 AEチームと話し合った結果、以下のアップデート内容をご参照ください。 i.MX 95では、リソース所有権とTRDC権限は、SM構成ファイル(mx95evk.cfg)でビルド時に静的に定義されます。→はconfig_.h)を生成し、MIXが起動するとシステムマネージャー(SM)によって適用されます。*実行時に周辺機器の所有権を論理マシン(LM)から別の論理マシンへ移すSCMI/SMメッセージはありません。 しかし、SMのドキュメントでは「ディスプレイを別のLMへ引き継ぐこと」がSM_SCMI_PERM_EXCLUSIVEモデルの正確な動機として挙げられています。したがって、引き継ぎは可能ですが、所有権を「移動」するだけでは不可能です。 Q1 & Q2 — MIPI DSI M7 → A55 ハンドオーバー:やり方 LMM(論理マシン管理)SCMIプロトコルは、LMの起動・リセット・シャットダウン・サスペンド・ウェイクのみを行い、RESOURCE_ASSIGNやメッセージOWNERSHIP_TRANSFERはありません。代わりに、時間分割ハンドオフを使用してください。 mx95evk.cfgで両方のLMに最初にアクセス権を付与してください。デフォルトでは、EVK の設定により、MIPI_DSI、MIPI_PHY、DC_DISPENG、BLK_CTRL_DISPLAYMIX、ディスプレイのクロック/電源 (PD_DISPLAY、CLK_DISP*)が AP (LM2) の所有者としてのみ割り当てられます。M7 を優先的に使用するには、これらを M7 LM (LM1) にも追加する必要があります。 SM管理リソース(クロック、電源、リセット)をSM_SCMI_PERM_EXCLUSIVE(api=all)としてマークし、2つのLMからのリクエストが静かに集約・上書きされないようにします。 ハンドオーバー時にM7はDSI/DCIFを静止し、アプリケーションレベルのIPC(MUメールボックスまたはSCMI通知)を通じてA55に信号を送ります。A55(Linux/DRM DSI+DPUスタック)は同じIPを表示します。 ハンドオフシーケンスはお客様のソフトウェア責任(時間的区分)です。SMは、両方のLMが事前にアクセス許可されているため、HWがどちら側からも運転可能であることを保証しています。TRDCの所有権は実行時に書き換えられず、SMプログラムのみがTRDCを実行し、MIX電源投入時の静的設定からのみ可能です。 これを制御するTRDC設定(.cfgファイルに記載): MDAC_am=... — マスタードメイン割り当て(バス・マスタをドメインIDにマッピング) MBC_am=s.b— メモリブロックチェック — ここでペリフェラルアクセスがゲートされます MRC_am=… — メモリ領域チェック(DDRなどの大規模メモリ領域) 各LMはDIDにバインドされます。例:SMは2、AP(LM2)は3、M7(LM1)は4でした。 Q3 — M7とA55の間でGPIOを共有 はい、TRDCはM7ドメインとA55ドメインの両方に同じGPIOインスタンスへの同時アクセスを許可できます(両方のDIDでMBCブロックを有効にすること)。しかし、重要な注意点と、支持される2つのパターンがあります。 注意点:i.MX 95 GPIOにはハードウェア仲裁機能がなく、PDR/DR/GDIRレジスタは物理的に共有されるため、両コアレースから非調整の読み書き・修正・書き込みが可能です。 パターンA(分離ピン+ソフトウェア同期):慣例に従って各コアに特定のピンを割り当てます(設定では既にLMごとにピンが分割されています)。データ/方向レジスタバンクは依然として共有されているため、ハードウェアセマフォ/MUを使用して同時RMWを保護するか、コアが同じレジスタバンクに同時にアクセスしないようにしてください。 パターンB(SM仲裁、真に共有されたインスタンスに推奨): SMが所有し、文書化された役割は 「共有アクセスの仲裁 」とされる常時接続 GPIO1 を経由します。IOMUXC/IOMUX_GPRも同様にSMによって調停されます。Pinmux/daisyは、エージェントごとの権限を持つSCMIピン制御プロトコルを介して設定されます。GPIOデータ操作は直接MMIOで行われます。 Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 チームの皆さん、こんにちは。 私たちは i.MX 95の19x19 EVK を使っており M7とA55/Linux 間のLVDSディスプレイハンドオーバーを以下のアーキテクチャで実装しようとしています。 M7: 当初はLVDSディスプレイを所有し、制御する。 A55/Linux: その後、Linux起動後にディスプレイの制御を奪います。 現在の実装 開発の初期段階として、LVDSディスプレイをM7によって初期化および制御するように設定しました。M7はディスプレイの初期化に成功し、フレームバッファを青色で埋め尽くし、それがLVDSパネルに正しく表示されます。 以下のリソースをデフォルトのA55所有権から M7に変更しつつ、A55へのアクセスは提供しました。 DC DC0 DC1 DC_CMDSEQ DC_DISPENG DC_DISPENG_INT DC_FL0 DC_FL1 DC_INT_CTL DC_PIXENGINE DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 BLK_CTRL_DISPLAYMIX LVDS MIPI_PHY LDB_PLL CLOCK_DISP1PIX ビデオPLL1 PIN_I2C2_SCL PIN_I2C2_SDA LPI2C2 観察された行動 現在の動作は以下のとおりです。 M7は起動し、ディスプレイの初期化に成功した。 青色で塗りつぶされたフレームバッファは、LVDSパネル上に正しく表示されます。 M7の動作中は、ディスプレイは表示されたままになります。 その後、A55/Linuxの起動プロセスが始まります。 Linuxカーネルが起動すると、ディスプレイが真っ白になります。 次のデバイスツリーを使用する場合:fdtファイル imx95-19x19-evk-it6263-lvds1.dtbLinuxはカーネル起動時に常に進行が止まります。 カーネルパニックやコンソール上の明確なエラーメッセージは確認されませんでした。起動プロセスが進行しなくなる。 資源所有権調査 私たちの理解によれば、リソース所有権は System Managerの設定 を通じて静的に設定されており、SCMIメッセージを通じて論理マシン間で所有権を動的に移譲することはできません。 そこで、表示資源をM7とA55の両方に割り当てられるかどうかを調査しました。 しかし、重要なDCリソースの中には、二重所有を支持していないものもあります。特に以下の通りです: DC DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 DC_FL0 DC_FL1 DC_2DBLIT これにより、LinuxがDRM/DPUやIT6263/LVDSの初期化時にM7専用の表示リソースにアクセスしようとしている可能性が示唆されます。 質問 以下の点を明確にしていただけますか? 1. DC 、 DC_XPC 、 DC_YUV *、 DC_FL* 、または DC_2DBLIT などのリソース がM7独占的に所有されている場合 、Linuxがハングすることは予想されます か?   2. Linuxの起動時およびDRM/DPU、IT6263/LVDSの初期化時にA55/Linuxがアクセスするディスプレイリソースは? 特に、以下の人々が正確にどのようなリソースにアクセスしているのかを理解したいと思います: LinuxのDRM/DPU ディスプレイコントローラ(DC) IT6263ドライバ LVDS/LDBドライバ ディスプレイクロック/PLL構成 3. 以下のシーケンスを可能にするサポートされたSystem マネージャのリソース所有設定はありますか? M7はLVDSディスプレイを初期化し、駆動します。 A55/Linuxは正常に起動します。 その後、A55/Linuxがディスプレイの制御を引き継ぎます。 両方の論理マシンはハンドオーバーに必要なリソースにアクセスできます。 4. DアドレスリソースがM7とA55間で共有できない場合、M7のディスプレイとA55/Linuxの共存またはディスプレイハンドオーバーの推奨アーキテクチャは何でしょうか?   5. A55/Linuxは、起動初期段階でディスプレイを積極的に駆動することを意図していなくても、DCリソース階層全体の所有権を必要とするのでしょうか?   6. このユースケースで、以下の部分で追加の構成変更が必要か? System マネージャリソース構成 TRDCの権限 SCMI構成 Linuxデバイスツリー ディスプレイ/LVDS構成 7. Linuxのブートハングは、特にIT6263/LVDSディスプレイパスの初期化時に、A55/LinuxがM7が所有するディスプレイリソースにアクセスしようとした際に起こる可能性はありますか?     現段階の主な目的は、 早期起動時やDRM/DPU、IT6263/LVDS初期化時にLinuxがアクセスする正確な表示リソース を特定し、それらのリソースがM7の所有権と共存できるかどうかを判断することです。 参照のために System Managerの設定ファイル(.cfg)とLinuxのブートログを添付しています 。 サポートされているリソース所有権構成、表示リソースの依存関係、または実装のための推奨アーキテクチャに関するガイダンス M7/A55 LVDSディスプレイの引き継ぎ 大変ありがたく思います。   よろしくお願いします。  
View full article
i.MX95 19x19 EVK – M2-JODY-W6 Wi-Fi 卡的可用性和相机模块兼容性 您好,NXP团队, 我们正在与 NXP i.MX95 19x19 EVK (IMX95LPD5EVK-19) 合作开发 Android Automotive OS 项目。 我们想就以下问题获得澄清: 1. M2-JODY-W6 无线网卡 我们的 i.MX95 EVK 套件中不包含 M2-JODY-W6 Wi-Fi 卡。 请问您能否提供以下信息: - M2-JODY-W6 Wi-Fi 卡的供货情况 - 我们如何获得/购买这张卡 - NXP是否提供样品或推荐的订购渠道 - i.MX95 19x19 EVK 所需的任何文档或兼容性信息 2. 摄像头模块兼容性 我们还希望获得有关 i.MX95 19x19 EVK 官方支持/验证的相机模块的信息。 请问您能否提供以下信息: - 推荐/已验证的摄像头模块 - 确切的模块/零件编号 - 使用的相机传感器 - 硬件连接/接口信息 相关文件 - Linux/Android 驱动程序或软件支持信息 - 任何可用的参考设计或配置信息 板: NXP i.MX95 19x19 EVK 零件编号:IMX95LPD5EVK-19 软件: Android Automotive OS 16 NXP BSP 希望您能就以上问题提供指导。 谢谢,此致敬礼! 格纳纳·普拉桑纳·古纳卡拉 Re: i.MX95 19x19 EVK – M2-JODY-W6 Wi-Fi Card Availability and Camera Module Compatibility 你好, 第一个问题请提交技术案例,第二个问题请参考以下应用笔记: https://www.nxp.com/docs/en/application-note/AN14853.pdf 此致问候
View full article
i.P-384秘密鍵/ブラックブロブの利用ケースにおけるMX8DXL CAAMカバーの制限 こんにちは、NXPチームの皆様、 私たちは、i.MX8DXL CAAMにおけるECDSA P-384ブラックキー/ブロブのサポートを評価しています。 観察された結果 P-256 外部から提供された平文のP-256秘密鍵から開始します。 プレーンテキストキー → カバー → 黒いキーの塊 黒い塊から黒い鍵を復元する ECDSAの署名/確認 結果:合格 P-384(CAAM生成の黒鍵) ECDSA秘密鍵をKEY_COLOR_BLACKとして生成する COVER操作なしで秘密鍵からブラックブロブを生成する 黒い塊から黒い鍵を復元する ECDSAの署名/確認 結果:合格 P-384(外部平文秘密鍵) 外部から提供された平文のP-384秘密鍵(48バイト)から開始します。 プレーンテキストキー → カバー → 黒いキーの塊 黒い塊から黒い鍵を復元する ECDSAの署名/確認 結果:失敗 追加の観察 NXPのパッチに以下のコメントがあることに気づきました。 https://github.com/nxp-imx-support/imx_sec_apps/blob/master/caam-ecdsa-blackkey/patch/0002-caam-black-key-blob-feature.patch /* * KEYコマンドは32バイトに制限されているようなので、ロードを使うべきです * コマンドは最大64バイトまで読み込み可能です。 * * TODO: KEYコマンドは、より大きなキーをロードできるようにする必要があることを示しています * 32バイトより小さいが、実際には機能しない * * TODO: LOAD コマンドは最大 96 までロードできるはずです * バイトキーは実際には機能せず、64バイトに制限されています */ 我々も同様の挙動を観察した。 KEYコマンドの代わりにLOADコマンドを使用することで、48バイトのP-384秘密鍵を含む、32バイトを超える鍵を扱うことができます。 しかし、これは上記の問題を解決するものではありません。鍵は覆ってブロブに保存できますが、復元された黒鍵はECDSA署名や検証に成功裏に使用できません。   私たちの質問: CAAM COVER操作において、32バイトを超えるECC秘密鍵に対する既知の制限事項はありますか? COVER経由で外部のP-384平文秘密鍵をインポートし、それをECDSAのブラックキーとして使うことはサポートされているユースケースでしょうか? 観測された動作は、CAAMハードウェアの制限によるものなのでしょうか? 外部生成されたP-384平文秘密鍵をインポートし、それをECDSA操作のブラックキーとして使う推奨されるCAAM方法はありますか? 何かアドバイスをいただければ幸いです。 ありがとうございます。よろしくお願いいたします。 ホジャメス。 Re: i.MX8DXL CAAM COVER limitation for P-384 private key / black blob use case 補足事項:   私たちの懸念はECDSAのユースケースに限られません。   COVERを介して外部のP-384秘密鍵をインポートすることがECDSAの標準ワークフローではないとしても、COVER操作自体の制限事項を理解しておきたいと考えています。   当社のアプリケーションでは、COVER操作はECDSA秘密鍵だけでなく、一般的な機密データの保護にも利用されることがあります。したがって、32バイトを超えるペイロードサイズのサポートは重要な考慮事項です。 我々のテストに基づくと、LOADコマンドの回避策を用いることで、32バイトを超えるペイロードを処理できることがわかった。約80バイト以下のペイロードは正常に動作するようですが、それより大きいサイズでは動作が不安定になります。これらの観察結果が、実際のCAAMの制限を反映しているのか、それとも実装上の問題を反映しているのかを理解したいと考えています。 また、ECDSAのユースケースとは独立して、COVER操作自体に文書化されたサイズ制限があるかどうかもNXPは明確にしていただけますか?   よろしくお願いします。 Re: i.MX8DXL CAAM COVER limitation for P-384 private key / black blob use case このCAAM機能をテストするための環境を構築する必要があります。結果が出次第、ご連絡いたします。 Re: i.MX8DXL CAAM COVER limitation for P-384 private key / black blob use case こんにちは、イーピンワンさん ご返信ありがとうございます。 >>この部分で、どのようなCAAMエラーが発生していましたか? >>エラーコードを教えてもらえますか? ECDSA関連のすべての操作には、以下のコードパッチを使用しています。 " https://github.com/nxp-imx-support/imx_sec_apps/blob/master/caam-ecdsa-blackkey/patch/0001-linux-imx-4.14.78_1.0.0_ga-ecdsa-primitives-using-caam.patch " 署名検証のために caam_ecdsa_verify() を呼び出すとき、 'ECDSA_VERIFY_FAIL (0)' を返します。 このエラーは「P-384 (external plaintext private key)」の場合のみ発生します。 >> アプリケーションノート「CAAMセキュアキーを用いた公開鍵暗号のAN12838強化」では、ブラックキーを用いたECDSA署名のデモが説明されていますが、同様の実装でテストしていますか? 私たちの成功例については、はい、似ています。 しかし、失敗したケース『P-384(外部平文秘密鍵)』については、 少し違います。鍵は外部から来ています。 よろしくお願いいたします。 Re: i.MX8DXL CAAM COVER limitation for P-384 private key / black blob use case 「プレーンテキストキー → カバー → 黒キーの塊」 黒い塊から黒い鍵を復元する ECDSAの署名/確認 結果:失敗 この部分で、どのようなCAAMエラーが発生していましたか?エラーコードを教えてもらえますか?アプリケーションノート「CAAMセキュアキーを用いた公開鍵暗号のAN12838強化」では、ブラックキーを用いたECDSA署名のデモが説明されていますが、同様の実装でテストされていますか?ありがとう。 KEYコマンドの制限については、現在も調査中です。 Re: i.MX8DXL CAAM COVER limitation for P-384 private key / black blob use case 失敗した場合、「KEY」コマンドと「FIFO STORE」コマンドを使って、平文の秘密鍵に基づいて黒鍵を生成していますか?失敗時に使われるCAAMの記述子(十六進形の単語)を捨てることは可能ですか?コマンドとパラメータを確認する方が簡単でしょう。ありがとう。 Re: i.MX8DXL CAAM COVER limitation for P-384 private key / black blob use case こんにちは、イーピンワンさん >>失敗したCASEのために、 >>「KEY」コマンドと「FIFO STORE」コマンドを使っていますか? >>平文の秘密鍵に基づいて黒鍵を生成するのですか? いいえ、KEYコマンドではなくLOADコマンドを使用しています。 この場合、キーは48バイト(P384)です。 < https://github.com/nxp-imx-support/imx_sec_apps/blob/master/caam-ecdsa-blackkey/patch/0002-caam-black-key-blob-feature.patch > に記載されているとおりです。 「KEYコマンドは32バイトに制限されているようだ。だからロードを使うべきだ * コマンドは最大64バイトまで読み込める。 KEYコマンドで48バイトのキーを使用すると、DECOエラーが報告されます。 ジョブリングステータス: 0x40000106、 DECO、06h - 無効なKEYコマンド そこで、上記のパッチコードと同じLOADコマンドを使うようにコードを変更しました。 ありがとうございます。よろしくお願いいたします。
View full article
如何使用 IMX95 读取 LPDDR5 的 MR HI专家: 如题,如何使用imx95读取LPDDR5的MR寄存器?我参考了 imx8mp 和 imx9 的 BSP,并找到了代码“lpddr4_mr_read”。但我发现它们之间存在差异,而且参考手册中也没有提及如何阅读 MR。 顺祝商祺! Yocto Project Re: how to read lpddr5's mr with imx95 嗨 db16122: 我想读取imx-oei文件中的“制造商ID”,以区分DDR内存是否兼容。 Re: how to read lpddr5's mr with imx95 请参阅 i.MX 配置工具用户指南。MR最重要吗? Re: how to read lpddr5's mr with imx95 IMX95 DDR 在 oei/ddr 中初始化。 仅使用 MR 写入,没有读取示例。 DDRC->DDR_SDRAM_CFG |= DDRC_DDR_SDRAM_CFG_MEM_EN_MASK; 谢谢!
View full article
i.MX95 19x19 EVK – M2-JODY-W6 Wi-Fiカードの入手可能性とカメラモジュールの互換性 NXPチームの皆様、こんにちは。 私たちはAndroid オートモーティブ OSプロジェクトのためにNXP i.MX95 19x19 EVK(IMX95LPD5EVK-19)を使用しています。 以下の点についてご説明をいただきたい。 1. M2-JODY-W6 Wi-Fiカード M2-JODY-W6 Wi-Fiカードは、当社のi.MX95 EVKキットには含まれていません。 以下の情報を教えていただけますか: - M2-JODY-W6 Wi-Fiカードの入手可能性 - カードの取得・購入方法 - NXPがサンプルまたは推奨ご注文チャネルを提供するかどうか - i.MX95 19x19 EVKに必要なドキュメントや互換性情報 2. カメラモジュールの互換性 i.MX95 19x19 EVKで公式にサポート/検証済みのカメラモジュールに関する情報も提供していただけると幸いです。 以下の情報を提供していただけますか: - 推奨/検証済みカメラモジュール - 正確なモジュール/部品番号 - 使用カメラセンサ - ハードウェア接続/インターフェース情報 - ドキュメント - Linux/Androidドライバまたはソフトウェアのサポート情報 - 利用可能なリファレンス・デザインや構成情報 ボード: NXP i.MX95 19x19 EVK 部品番号:IMX95LPD5EVK-19 ソフトウェア: Android オートモーティブ OS 16 NXP BSP 上記の質問について、ご助言いただければ幸いです。 よろしくお願いいたします。 グナナ・プラサンナ・グナカラ Re: i.MX95 19x19 EVK – M2-JODY-W6 Wi-Fi Card Availability and Camera Module Compatibility こんにちは、 最初の質問については技術的なケースを開いてください。2つ目の質問については以下のANを参照してください:https://www.nxp.com/docs/en/application-note/AN14853.pdf  よろしくお願いします。
View full article
ubuntu では、mcuxpresso-secure-provisioning パッケージを使用して、固 定ファイルに名前を付けて、コアシートに書き込みます。 まず、私が使用したチップはMCXN947です。 mcuxpresso-secure-provisioning-26.09-1_amd64-ubuntu26.debパッケージをUbuntuシステムにダウンロードしてインストールしました。 では、このソフトウェアを使って署名され暗号化されたSBフォーマットファイルをどうやって生成すればいいのでしょうか? 私はビデオを見て、bin ファイルに署名と暗号化を行い、Windows システムで sb ファイルをチップに正常に書き込みました。 Ubuntuシステムを操作する方法に関するビデオはありますか?バイナリファイルに署名および暗号化するためのコマンドラインに関するドキュメントはありますか? よろしくお願いします。 Re: 在ubuntu上,怎样使用 mcuxpresso-secure-provisioning 软件给固件签名加密并烧写到芯片 こんにちは、 @justdomyself ドキュメント:https://docs.mcuxpresso.nxp.com/secure/latest/ MCXNデバイスのワークフローを説明する章: https://docs.mcuxpresso.nxp.com/secure/latest/06_processor_specific_workflow.html#n23x-n24x-n52x-n53x-n54x-n94x-device-workflow コマンドラインサポート:https://docs.mcuxpresso.nxp.com/secure/latest/08_command_line_operations.html 関連項目 securep.exe print - cli - examples UbuntuとWindowsのユーザー体験は非常に似ています。問題が発生した場合は、トラブルシューティングのセクションを参照してください。https: //docs.mcuxpresso.nxp.com/secure/latest/09_troubleshooting.html
View full article
FreeRTOSシステムは実行できません(作成直後は実行できません)。 仕様書に従ってプロジェクトプログラムを作成した後、FreeRTOSシステム上で実行できないことがわかりました(調査の結果、メモリ不足の問題ではなく、優先度の高い問題でもないことがわかりました)。S32DSコンパイラのバージョンは、以下の画像に示されています。 タスクの作成に失敗しました。このバージョンはFreeRTOSをサポートしていないのでしょうか?それとも、特別な設定要件があるのでしょうか? Re: freertos 系统跑不通问题(创建即跑不通) こんにちは、@sunshine88 さん。 申請が sys_msleep(5000) コール自体のせいで止まっているわけではありません。この動作は、 sys_now() で使用されている時間ベースが増加していないことを示しています。したがって、 sys_msleep() 内のタイムアウト条件には決して到達できません。 OSIF構成のスクリーンショットでは、 OsIfUseSystemTimer が有効になっており、オペレーティングシステムの種類はFreeRTOSに設定されています。しかし、 OsIfCounterConfig_0 の下の参照、カウンタとシステムタイマークロックの参照を含め、不完全または空であるようです。PITコンポーネントを追加するだけでは、OSIFタイムベースが正しく構成および初期化されることを保証するものではありません。 現時点では、TCP/IPスタックのソースコードを変更したり、別の遅延回避策を実装したりしないでください。代わりに、私は以下のことをお勧めします。 インストールされたTCP/IPスタックパッケージから元の lwip_FreeRTOS_s32K358 例をインポートしてください。 元のサンプルを一切変更せずにビルドして実行してください。 元の例で sys_now() が増加するかどうかを確認してください。 FreeRTOS、BaseNXP/OSIF、PIT、クロック、割り込み、およびTCP/IPスタックの設定を、カスタムプロジェクトと比較してください。 生成された初期化シーケンスに、必要なBaseNXP/OSIFおよびタイマーの初期化が含まれていることを確認してください。 カスタムプロジェクトを正しく分析するためには、以前にご依頼した情報が引き続き必要です。 正確なMCU部品番号; 正確な評価ボードまたはカスタムボード; 出発点として使用された元の事例またはプロジェクトの種類。 変更されていない lwip_FreeRTOS_s32K358 の例が同じハードウェアで動作するかどうか。 sys_now() の生成された実装。 xTaskGetTickCount() によって返される FreeRTOS ティック カウントが増加しているかどうか。 まず xTaskGetTickCount() を確認してください。 sys_now() が一定のままでが増加する場合、FreeRTOSスケジューラとティック割り込みが実行されており、問題は具体的にはOSIFタイムベースの設定または初期化にあります。 xTaskGetTickCount() も一定のままであれば、問題はより根本的なものであり、FreeRTOSのティック割り込みまたはスケジューラ構成を調査する必要があります。 可能であれば、構成スクリーンショットだけでなく、プロジェクト全体のアーカイブも提供してください。生成された構成コードと初期化コードがないと、 sys_now() が実際にどのタイマーまたはクロックソースを使用しているかを判断することはできません。 よろしくお願いいたします。 パベル Re: freertos 系统跑不通问题(创建即跑不通) こんにちは。LWIPプログラムルーチンを作成しましたが、Ethernet mainLoopTaskタスクがsys_msleep(5000);で停止してしまい、遅延させることができません。この関数をステップ実行すると、startTime = sys_now(); と表示されますが、sys_now()関数はカウントできません。現在の設定ページは以下のとおりです。何が原因でしょうか?非常に困惑しています。 Re: freertos 系统跑不通问题(创建即跑不通) こんにちは、@sunshine88 さん。 スクリーンショットに表示されているバージョンはFreeRTOSをサポートしているはずです。S32 Design Studio 3.5 アップデート14、RTD 4.0.0、FreeRTOS 4.0.0、およびTCP/IPスタック1.0.4これは予想されるパッケージの組み合わせのようで、一般的なバージョン互換性の問題とは思えません。 示されているコードによると、エラーはxTaskCreate()関数内で直接発生しています。以下の情報を教えていただけますか? 正確なMCU部品番号と評価ボード、またはカスタムボードが使われているのです。以前S32K358とおっしゃっていましたが、正確なデバイス名と基板名をお知らせください。 出発点として使用された元の例の名前。 xTaskCreate() によって返される値。 xTaskCreate() 呼び出しの前後で xPortGetFreeHeapSize() によって出力される値。 configTOTAL_HEAP_SIZE、configSUPPORT_DYNAMIC_ALLOCATION の設定値、および選択された FreeRTOS ヒープ実装 (例: heap_4.c)。 アプリケーションが停止する正確なポイント、特にアサーション、例外、ハードフォールハンドラに入るデバッガ呼び出しスタックも含まれます。 十分なMCU RAMがあっても、必ずしも十分なFreeRTOSヒープが利用できるとは限りません。xTaskCreate() は、FreeRTOS ヒープからタスク制御ブロックとタスクスタックの両方を動的に割り当てます。また、1024Uのスタック深度引数は通常、バイトではなくスタック要素を表すため、Cortex-M7の実際の割り当ては1024バイトより大きいです。 ベースラインテストとして、オリジナルのlwIP FreeRTOSサンプルを修正せずにインポートして実行することをお勧めします。元のサンプルが正常に動作したら、小さなスタックサイズ、通常の優先度、そしてループ内にvTaskDelay()呼び出しを含む追加タスクを追加してください。これにより、環境やボード構成の問題と、追加タスクによって引き起こされた問題を区別するのに役立ちます。 また、あなたの xTaskCreate() 呼び出しではスタック深度が 1024U であるのに対し、元の動作例では 256U を使用していることに気づきました。まず、元の値である256Uに戻し、変更を加えていないサンプルをテストしてください。このパラメータはバイト数ではなくスタック要素数を指定するため、1024Uを使うには大幅に多くのFreeRTOSヒープが必要です。   よろしくお願いします、 パベル
View full article
ベンダーのツールに関する経験 皆さん、こんにちは。ベンダーのハードウェアを扱う際に、ベンダーのツールを使った経験についてお聞かせください。例えば、NXPのLayerscapeシリーズやSTM32MP1シリーズのような製品について話してみましょう。私はNXPのLayerscape SoCの一つをベースにしたボードを作っていましたが、唯一提供されているツールが例えば、DDRはEclipseをベースにした**ピー音**IDEです。このツールの品質を考えれば、無料で提供しても文句は言わないでしょうが、ライセンス料はかなり高いです。IDEを使ってこれやあれをやりたいですか?頑張ってください。「私にできる精一杯」は、ほとんど100%正確ではなく、古い部分的なドキュメント、必ず答えが得られるフォーラム、誰かが対応してくれる、そして画面の内容がほとんど見えない240p動画です。DDRの立ち上げと検証にのみ使用し、残りの作業はこのツールなしで済ませたいと思っています。他のベンダーとの取引経験はいかがですか?TIはどうでしょうか?STのツールもいくつか見たことがありますが、確かにずっとシンプルに見えました。ただ、実際に使った経験はありません。 Re: Experience with vendor's tools こんにちは、 Eclipse ベースは老朽化しており、DDR ツール (DDR ストレス テスト ツール) は機能的ですが扱いにくく、ライセンス コストとの比較。品質比率は組み込みコミュニティでよく見られる不満です。ドキュメントのギャップは現実的で、AN(アプリケーションノート)は公式のツールドキュメントよりも優れたリソースであることが多いです。多くのエンジニアは、計画通りDDR PHYの開始やトレーニングに専念して使い、その後は次に進みます。   NXP Layerscape DDRの立ち上げに関する実践的なヒント 今のところはこれしか選択肢がないので: DDRストレステストツールのスタンドアロンバイナリ(CodeWarriorとは別)が利用可能な場合があり、そちらの方が軽量です。 NXPの i.MX/Layerscape コミュニティ(GitHub)には、ツール誘導作業を省略できるリファレンスDDR設定があります。 LSDK(Layerscape SDK) スクリプトは、DDR initパラメータをIDEよりも透明に公開することがあります。 よろしくお願いします。
View full article
Ibis model for Lx2160a Hi guys  I'd like to know  how can i get a ibis model for lx2160a, can anybody can help me with it ? Thanks a lot Yuan Re: Ibis model for Lx2160a IBIS models are not public, please create case here:  https://support.nxp.com/s/?language=en_US  And share your NDA. Thanks
View full article
i.MX95 19x19 EVK – M2-JODY-W6 Wi-Fi Card Availability and Camera Module Compatibility Hello NXP Team, We are working with the NXP i.MX95 19x19 EVK (IMX95LPD5EVK-19) for an Android Automotive OS project. We would like to get clarification on the following: 1. M2-JODY-W6 Wi-Fi Card The M2-JODY-W6 Wi-Fi card is not included in our i.MX95 EVK kit. Could you please provide information on: - Availability of the M2-JODY-W6 Wi-Fi card - How we can obtain/purchase the card - Whether NXP provides a sample or recommended ordering channel - Any required documentation or compatibility information for the i.MX95 19x19 EVK 2. Camera Module Compatibility We would also like information about a camera module officially supported/validated with the i.MX95 19x19 EVK. Could you please provide: - Recommended/validated camera module - Exact module/part number - Camera sensor used - Hardware connection/interface information - Relevant documentation - Linux/Android driver or software support information - Any available reference design or configuration information Board: NXP i.MX95 19x19 EVK Part Number: IMX95LPD5EVK-19 Software: Android Automotive OS 16 NXP BSP We would appreciate your guidance on the above questions. Thanks and Regards, Gnana Prasanna Gunakala Re: i.MX95 19x19 EVK – M2-JODY-W6 Wi-Fi Card Availability and Camera Module Compatibility Hello,  For your first question please open a technical case, for the second question please refer to the following AN: https://www.nxp.com/docs/en/application-note/AN14853.pdf  Regards.
View full article
在ubuntu上,怎样使用 mcuxpresso-secure-provisioning 软件给固件签名加密并烧写到芯片 First, the chip I used is  MCXN947. I  have  downloaded and installed mcuxpresso-secure-provisioning-26.09-1_amd64-ubuntu26.deb  package in my ubuntu system。 So how to use this software  to  generare a sb formate file which has been signed and encrypted ? I  have watch the video  and  signed and encrypted  the  bin file ,   and write the sb  file  to the  chip sucsessfuly in windows system. Is there have  video to  operate on  ubuntu system?  Is there have the document about the  cmd line  to  signe and encryt  bin file   ? Thanks Re: 在ubuntu上,怎样使用 mcuxpresso-secure-provisioning 软件给固件签名加密并烧写到芯片 Hi @justdomyself  Documentation: https://docs.mcuxpresso.nxp.com/secure/latest/ Chapter describing workflow for MCXN devices: https://docs.mcuxpresso.nxp.com/secure/latest/06_processor_specific_workflow.html#n23x-n24x-n52x-n53x-n54x-n94x-device-workflow Command line support: https://docs.mcuxpresso.nxp.com/secure/latest/08_command_line_operations.html See also  securep.exe print-cli-examples User experience on Ubuntu and Windows are very similar. If you find any problem, refer to Troubleshooting section: https://docs.mcuxpresso.nxp.com/secure/latest/09_troubleshooting.html
View full article
Power ArchitectureのS32 Design Studio v2.1におけるPEmicro GDBローンチ失敗 こんにちは、 私がテストしている基板はMTRCKTSPS5744P(3相PMSMモーター制御開発キットとMPC5744P MCU)です。 何らかの理由で、ダウンロード処理がうまくいきません。 ダウンロードに失敗した後、デバッグボタンをクリックすると、このウィンドウが表示されます。 eunwoo_lee_0-1789496057004.png このエラーメッセージが表示されたウィンドウがポップアップします。 サービス開始順序の誤り PEmicro GDB起動失敗:GDBサーバーがターゲットプロセッサへの接続を確立できませんでした。接続と電源を確認してください。デバッグ構成の起動設定が正確であることを確認してください。 コンソールパネルにこのメッセージが表示されます。 127.0.0.1 から 127.0.0.1 を経由して接続します。ポート「53438」から7224への接続 PEエラー:警告。部品が稼働している間はレジスタが読み取れません。 PEエラー:警告。部品が稼働中はメモリを読み取れません。@0 (4バイト) PEエラー:警告。部品が稼働中はメモリを読み取れません。@0 (4バイト) PEエラー:警告。部品が稼働している間はレジスタが読み取れません。 PEエラー:警告。部品が稼働中はメモリを読み取れません。@0 (4バイト) PEエラー:警告。部品が稼働中はメモリを読み取れません。@0 (4バイト) PEエラー:警告。パートが実行中はバイナリを書けません。40001000 - 長さ: 0 - 値: バイナリデータ PEエラー:警告。パートが実行中はバイナリを書けません。40001000 - 長さ: 460 - 値: バイナリデータ PEエラー:警告。パートが実行中はバイナリを書けません。40001460 - 長さ: 460 - 値: バイナリデータ PEエラー:警告。パートが実行中はバイナリを書けません。400018c0 - 長さ: 460 - 値: バイナリデータ PEエラー:警告。パートが実行中はバイナリを書けません。40001d20 - 長さ:2e0 - 値:バイナリデータ PE-エラー:GDBクライアント処理:例外が発生しました:プログラム例外! 例外クラス: EIDCONNCLOSEDGRACEFULLY メッセージ:接続が正常に切断されました。 アドレス 0X0046EA89 127.0.0.1 経由で「127.0.0.1」から切断されました。ポート「53438」による7224からの切断 ターゲットとの接続が切断されました。 この問題に対する解決策をご存知ですか? ありがとうございます。 Re: PEmicro GDB Launch Failure in S32 Design Studio for Power Architecture v2.1 こんにちは、 この問題に対する解決策をご存知ですか? メッセージの通り、レジスタをその場で書き込む・読み取ることはできません。まずデバッガーでコードの実行を停止し、その後レジスタやメモリなどを修正できます。 MPC5744Pはユーザーコードを実行中で、P&Eプローブがデバイスを停止できないため、すべてのメモリ/レジスタアクセスが失敗し、ダウンロード操作が中止されます。 これはフラッシュプログラミングの問題というよりは、デバッガがダウンロード前にMPC5744Pを停止させることに失敗しているように見えます。 例えば、マイクロコントローラでSWT0を有効にしたSWはありますか? それとも、ソフトウェアが一切動作していない、まっさらなサンプルなのでしょうか? よろしくお願いいたします。 ピーター Re: PEmicro GDB Launch Failure in S32 Design Studio for Power Architecture v2.1 フラットリボンケーブルを交換することで、この問題を解決しました。ケーブルの接続性は良さそうに見えるが、デバッガーとの接続に失敗する。ケーブルがクロストークや線間ノイズの影響を受けやすいのだと思います。最終的には、ケーブルを短くすることで解決しました。
View full article
imx95でlpddr5のmrを読み取る方法 HIの専門家: タイトルにあるように、imx95でLPDDR5のMRレジスタを読み取る方法を教えてください。imx8mpとimx9のBSPを参照して、「lpddr4_mr_read」というコードを見つけました。しかし、私は違いがあり、リファレンス・マニュアルにはMRの読み方についての記述がありません。 よろしくお願いいたします。 Yocto Project Re: how to read lpddr5's mr with imx95 HI db16122: DDR互換性の違いを確認するために、imx-oeiの「製造元ID」を読み取りたい。 Re: how to read lpddr5's mr with imx95 i.MX.-Which の設定ツールに関するユーザーガイドをご参照くださいMRが最も重要ですか? Re: how to read lpddr5's mr with imx95 IMX95 DDRはoei/ddrで初期化されました。 MR書き込みのみを使用し、読み取りの例は示していません。 DDRC->DDR_SDRAM_CFG |= DDRC_DDR_SDRAM_CFG_MEM_EN_MASK; よろしくお願いします。
View full article
i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hi Team, We are working on an i.MX 95 platform and would like to use the MIPI DSI peripheral initially from the M7 core, and then hand over the resource to the A55 core at runtime. From our understanding, the peripheral resources and their ownership are initially defined for each Logical Machine/processor in the mx95evk.cfg file generated/configured through the System Manager tools. We would like to clarify the following: Dynamic Resource Handover: Is it possible to dynamically transfer the MIPI DSI peripheral resource from M7 to A55 at runtime? For example, M7 would initially own and use MIPI DSI, then release it, after which A55 would take ownership and use the same peripheral. Dynamic Resource Allocation: If runtime handover is supported, what is the recommended mechanism/API to change the resource ownership or access permissions dynamically? Is this handled through the System Manager, TRDC, or another mechanism? GPIO Sharing: Is it possible for the same GPIO port/resource to be accessed by both M7 and A55 simultaneously? If so, are there any TRDC configuration requirements or software synchronization mechanisms that need to be implemented to safely share the GPIO resource? We would appreciate any guidance on the recommended approach for implementing dynamic peripheral handover and/or resource sharing between M7 and A55 on the i.MX 95. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 I discussed with the AE team, please refer to the following update. On i.MX 95, resource ownership and TRDC permissions are defined statically at build time in the SM config (mx95evk.cfg → generated config_.h) and applied by the System Manager (SM) when a MIX powers up. *There is no SCMI/SM message that transfers ownership of a peripheral from one Logical Machine (LM) to another at runtime. However, SM documentation names "handing a display over from one LM to another" as the exact motivating use case for the SM_SCMI_PERM_EXCLUSIVE model. So the handover is achievable, just not by "moving" ownership. Q1 & Q2 — MIPI DSI M7 → A55 handover: how to do it The LMM (Logical Machine Management) SCMI protocol only boots / resets / shuts down / suspends / wakes LMs — it has no RESOURCE_ASSIGN or OWNERSHIP_TRANSFER message. Instead, use a temporal-division handoff: Grant BOTH LMs access up-front in mx95evk.cfg. By default the EVK config assigns MIPI_DSI, MIPI_PHY, DC_DISPENG, BLK_CTRL_DISPLAYMIX, the display clocks/power (PD_DISPLAY, CLK_DISP*) as OWNER of the AP (LM2) only — you must also add them to the M7 LM (LM1) to allow M7-first usage. Mark the SM-managed resources (clocks, power, reset) as SM_SCMI_PERM_EXCLUSIVE (api=all) so requests from the two LMs are not silently aggregated/overwritten. At handover, M7 quiesces DSI/DCIF, then signals A55 via application-level IPC (MU mailbox or SCMI notification). A55 (Linux/DRM DSI+DPU stack) then brings up the same IP. The handoff sequencing is the customer's software responsibility (temporal division). The SM only guarantees the HW is drivable from either side because both LMs were pre-granted access. TRDC ownership cannot be rewritten at runtime — only the SM programs TRDC, and only from the static config at MIX power-up. TRDC config that controls this (expressed in the .cfg): MDAC_am=… — Master-Domain Assignment (maps a bus master to a domain ID) MBC_am=s.b — Memory Block Check — this is where peripheral access is gated MRC_am=… — Memory Region Check (large memory regions like DDR) Each LM binds to a DID, e.g. SM did=2, AP(LM2) did=3, M7(LM1) did=4. Q3 — Shared GPIO between M7 and A55 Yes, TRDC can grant both the M7 domain and the A55 domain concurrent access to the same GPIO instance (enable its MBC block for both DIDs). But there is a critical caveat and two supported patterns: Caveat: i.MX 95 GPIO has no hardware arbitration — PDR/DR/GDIR registers are physically shared, so uncoordinated read-modify-write from both cores races. Pattern A (disjoint pins + SW sync): Assign specific pins to each core by convention (the config already splits pins per LM). Since the data/direction register banks are still shared, protect concurrent RMW with a hardware semaphore / MU, or ensure the cores never touch the same register bank concurrently. Pattern B (SM-arbitrated, recommended for truly shared instances): Route through the always-on GPIO1, which is owned by the SM and whose documented role is "arbitrates shared access." IOMUXC/IOMUX_GPR are likewise SM-arbitrated. Pinmux/daisy is set via the SCMI pin-control protocol with per-agent permissions; GPIO data ops are direct MMIO. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hello, On the i.MX 95, the MIPI DSI resource can be used by the M7 initially and later handed over to the A55. The resource access and ownership should be configured through the System Manager/TRDC configuration, while the actual runtime handover should be handled by software. TRDC controls which Logical Machine/domain is allowed to access the peripheral, but it does not manage synchronization between M7 and A55. Therefore, M7 should first complete all DSI operations, stop using the peripheral, and notify A55 through an inter-core mechanism such as MU/IPC before A55 takes control. Similarly, GPIO resources can be made accessible to both M7 and A55 through the appropriate TRDC configuration, but simultaneous access must be synchronized by software. For the DSI use case, the recommended approach is to have only one core actively use the peripheral at a time and use MU/IPC for the handover. Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55 Hi team, We are working with an i.MX 95 19x19 EVK and are trying to implement an LVDS display handover between the M7 and A55/Linux, with the following intended architecture: M7: Initially owns and drives the LVDS display. A55/Linux: Subsequently takes control of the display after Linux boots. Current Implementation As an initial phase of development, we have configured the LVDS display to be initialized and controlled by the M7. The M7 successfully initializes the display and fills the framebuffer with a blue color, which is correctly displayed on the LVDS panel. We modified the following resources from their default A55 ownership to M7 ownership, while providing access to A55: DC DC0 DC1 DC_CMDSEQ DC_DISPENG DC_DISPENG_INT DC_FL0 DC_FL1 DC_INT_CTL DC_PIXENGINE DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 BLK_CTRL_DISPLAYMIX LVDS MIPI_PHY LDB_PLL CLOCK_DISP1PIX VIDEO_PLL1 PIN_I2C2_SCL PIN_I2C2_SDA LPI2C2 Observed Behavior The behavior is currently as follows: The M7 boots and successfully initializes the display. The blue-filled framebuffer is displayed correctly on the LVDS panel. The display remains visible while the M7 is running. The A55/Linux boot process then starts. After the Linux kernel starts, the display goes blank. When using the following device tree:fdtfile imx95-19x19-evk-it6263-lvds1.dtb Linux consistently stops progressing during kernel boot. We do not observe an obvious kernel panic or a clear error message on the console. The boot process simply stops progressing. Resource Ownership Investigation Based on our understanding, resource ownership is statically configured through the System Manager configuration, and ownership cannot be dynamically transferred between Logical Machines through an SCMI message. We therefore investigated whether the display resources could be assigned to both the M7 and A55. However, some of the critical DC resources do not appear to support dual ownership, particularly: DC DC_XPC DC_YUV0 DC_YUV1 DC_YUV2 DC_YUV3 DC_FL0 DC_FL1 DC_2DBLIT This raises the possibility that Linux may be attempting to access one or more display resources that are exclusively owned by the M7 during its DRM/DPU or IT6263/LVDS initialization. Questions Could you please help us clarify the following? 1. Is it expected for Linux to hang if resources such as DC, DC_XPC, DC_YUV*, DC_FL*, or DC_2DBLIT are exclusively owned by the M7?   2. Which display resources are accessed by A55/Linux during Linux boot and during DRM/DPU and IT6263/LVDS initialization? In particular, we would like to understand the exact resources accessed by: Linux DRM/DPU Display Controller (DC) IT6263 driver LVDS/LDB driver Display clock/PLL configuration 3. Is there a supported System Manager resource ownership configuration that allows the following sequence? M7 initializes and drives the LVDS display. A55/Linux boots normally. A55/Linux subsequently takes control of the display. Both Logical Machines can access the resources required for the handover. 4. If the DC resources cannot be shared between the M7 and A55, what is the recommended architecture for M7 display and A55/Linux coexistence or display handover?   5. Does A55/Linux require ownership of the complete DC resource hierarchy even if Linux is not intended to actively drive the display during the initial stage of boot?   6. Are any additional configuration changes required in the following areas for this use case? System Manager resource configuration TRDC permissions SCMI configuration Linux device tree Display/LVDS configuration 7. Could the Linux boot hang be caused by A55/Linux attempting to access a display resource that is owned by the M7, particularly during initialization of the IT6263/LVDS display path?     Our primary objective at this stage is to identify the exact display resources that Linux accesses during early boot and during DRM/DPU and IT6263/LVDS initialization, and determine whether those resources can coexist with M7 ownership. We have attached the System Manager configuration (.cfg) file and Linux boot log for reference. Any guidance on the supported resource ownership configuration, display resource dependencies, or recommended architecture for implementing M7/A55 LVDS display handover would be greatly appreciated.   Thank you.  
View full article
MIMXRT700 EVK 电池连接和外部供电说明 嗨,团队、 我们目前正在开发 MIMXRT700 EVK,需要澄清电池连接和外部电路板加电。 我们注意到 PMIC IC 有一个 VBAT 输入,但我们无法确定 EVK 上可以直接连接电池的确切连接器/接头。 请您帮助我们解决以下问题: 请向我们指示 RT700 EVK 上可用的官方电池连接器/接头。 连接器/接头在主板上的确切位置 支持的电池类型/规格 推荐的连接器/部件号 我们还想了解使用外部电源适配器为 RT700 EVK 加电,同时仍支持闪存和调试的正确程序。 目前,我们正在通过 USB 调试端口为电路板供电和调试。我们想知道 从外部为电池和适配器供电时需要进行哪些更改/设置。在此设置中,通过USB/J-Link进行刷新和调试 是否将继续有效。 谢谢& , Suhas 评估板 Re: MIMXRT700 EVK Battery Connection and External Power Up Clarification 你好@suhas1503、 感谢您对 NXP MIMXRT 系列的关注! PMIC 支持电池供电,但在 EVK 上,默认设置为 DNP。您可以在电路图上找到 J37。 详细描述可以在 “MIMXRT700-EVK 板用户手册 [UM12188]” 中找到。请看一看。 Gavin_Jia_0-1779932324256.pngGavin_Jia_0-1779932324256.pngGavin_Jia_0-1779932324256.png Gavin_Jia_1-1779932333707.pngGavin_Jia_1-1779932333707.pngGavin_Jia_1-1779932333707.png 对于 RT700,没有关于 PMIC 电池选择的具体要求;您可以根据 PCA9422 数据表选择电池。 此外,RT700-EVK 支持外接电源适配器供电,并支持 5V 电源。它通过 J45 连接,通过短接 J2 上的针脚 1 和 2 选择电源。详细信息请参见 “MIMXRT700-EVK 板用户手册 [UM12188]” 第 2.2 节。 由外部电源供电时,板载调试器继续正常运行。 致以最诚挚的问候, Gavin Re: MIMXRT700 EVK Battery Connection and External Power Up Clarification 您好, 我正在使用 MIMXRT700-EVK,并将 Murata 2EL M.2 模块连接到 RT700-EVK 上的 M.2 插槽。 我正在测试 MCUXpresso SDK 中的不同示例。 硬件设置: - 主板:MIMXRT700-EVK - M.2 模块:村田 2EL M.2 模块 Murata 2EL 模块连接到 M.2 插槽 电源由JP37通过电池提供。 - MCUXpresso SDK:SDK_26_03_00_MIMXRT700-EVK 观察到的行为: 当 RT700-EVK 通过 JP37 使用电池供电时: 1.hello_world 示例运行正常。 2. xaf_record 示例运行正常。 3. edgefast_bluetooth_examples/peripheral_ht 示例构建和烧录成功,但应用程序在运行时初始化期间失败。 UART 日志如下: BLE外设HT演示开始…… [sdio] 错误:卡片初始化失败 [wifi_io] 错误:SDIO 驱动程序初始化失败。 断言错误“API_SUCCESS == result”: 文件“中间件/wireless/ethermind/port/pal/mcux/bluetooth/controller/controller_wifi_nxp.c” 第 120 行 但是,当我使用相同的 edgefast_bluetooth_examples/peripheral_ht 示例,并分别使用 J54 USB 调试端口和 J45 端口连接适配器时,该示例可以正常工作。 因此,EdgeFast Bluetooth 示例在 J54/J45 配置下可以正常工作,但当使用电池通过 JP37 为电路板供电时则会失败。 hello_world 和 xaf_record 示例在 JP37 电池配置下运行正常。 预期行为: 我希望当 RT700-EVK 通过 JP37 使用电池供电并且连接了 Murata 2EL M.2 模块时,edgefast_bluetooth_examples/peripheral_ht 示例能够成功初始化蓝牙控制器。 问题: 1. 使用 Murata 2EL M.2 模块运行 EdgeFast Bluetooth 示例时,JP37 电源配置是否受支持? 2. 当 JP37 与电池一起使用时,Murata 2EL M.2 模块是否需要任何额外的跳线、开关或电源配置? 3. 为什么在使用 JP37 电池配置时,应用程序会报告以下错误? [sdio] 错误:卡片初始化失败 [wifi_io] 错误:SDIO 驱动程序初始化失败。 4. 当使用 JP37 电池供电时,无线模块是否有任何电源时序或 M.2 电源使能配置要求? 5. 对于使用 Murata 2EL M.2 模块、EdgeFast 蓝牙示例和电池供电的情况,是否有推荐的 RT700-EVK 跳线和电源配置? 如果您需要任何其他信息,例如完整的 UART 日志、跳线配置、SDK 配置、原理图详情或功率测量,请告诉我。 谢谢! Bluetooth Example Fails with SDIO/Wi-Fi Initialization Error When Powered by Battery Through JP37 您好, 我正在使用 MIMXRT700-EVK,并将 Murata 2EL M.2 模块连接到 RT700-EVK 上的 M.2 插槽。 我正在测试 MCUXpresso SDK 中的不同示例。 硬件设置: - 主板:MIMXRT700-EVK - M.2 模块:村田 2EL M.2 模块 Murata 2EL 模块连接到 M.2 插槽 电源由JP37通过电池提供。 - MCUXpresso SDK:SDK_26_03_00_MIMXRT700-EVK 观察到的行为: 当 RT700-EVK 通过 JP37 使用电池供电时: 1.hello_world 示例运行正常。 2. xaf_record 示例运行正常。 3. edgefast_bluetooth_examples/peripheral_ht 示例构建和烧录成功,但应用程序在运行时初始化期间失败。 UART 日志如下: BLE外设HT演示开始…… [sdio] 错误:卡片初始化失败 [wifi_io] 错误:SDIO 驱动程序初始化失败。 断言错误“API_SUCCESS == result”: 文件“中间件/wireless/ethermind/port/pal/mcux/bluetooth/controller/controller_wifi_nxp.c” 第 120 行 但是,当我使用相同的 edgefast_bluetooth_examples/peripheral_ht 示例,并分别使用 J54 USB 调试端口和 J45 端口连接适配器时,该示例可以正常工作。 因此,EdgeFast Bluetooth 示例在 J54/J45 配置下可以正常工作,但当使用电池通过 JP37 为电路板供电时则会失败。 hello_world 和 xaf_record 示例在 JP37 电池配置下运行正常。 预期行为: 我希望当 RT700-EVK 通过 JP37 使用电池供电并且连接了 Murata 2EL M.2 模块时,edgefast_bluetooth_examples/peripheral_ht 示例能够成功初始化蓝牙控制器。 问题: 1. 使用 Murata 2EL M.2 模块运行 EdgeFast Bluetooth 示例时,JP37 电源配置是否受支持? 2. 当 JP37 与电池一起使用时,Murata 2EL M.2 模块是否需要任何额外的跳线、开关或电源配置? 3. 为什么在使用 JP37 电池配置时,应用程序会报告以下错误? [sdio] 错误:卡片初始化失败 [wifi_io] 错误:SDIO 驱动程序初始化失败。 4. 当使用 JP37 电池供电时,无线模块是否有任何电源时序或 M.2 电源使能配置要求? 5. 对于使用 Murata 2EL M.2 模块、EdgeFast 蓝牙示例和电池供电的情况,是否有推荐的 RT700-EVK 跳线和电源配置? 如果您需要任何其他信息,例如完整的 UART 日志、跳线配置、SDK 配置、原理图详情或功率测量,请告诉我。 谢谢! Re: Bluetooth Example Fails with SDIO/Wi-Fi Initialization Error When Powered by Battery Through JP3 你好@suhas1503、 我认为最可能的原因是 EVK 上的 M.2 所需的电源来自其他元器件,而不是 VBAT。我建议你看一下原理图。特别是第 5 页和第 6 页。 在第 5 页中,找出所有与 JP33 类似的跳线帽,并将它们从 SYS_5V0 切换到 VBAT。在表 6 中,找出所有与 JP11 类似的跳线帽,并将它们从 PMIC 切换到 DCDC_3V3。最终目标是使 VBAT 能够为相应的模块供电。从我粗略一看来看,关键是要确保 MCU_3V3 和 WL_3V3 的电源配置正确。 (如果您有新的问题,请随时提交新的工单或帖子。)已关闭帖子中的更新很容易被忽略。感谢您的理解与合作! 致以最诚挚的问候, Gavin Re: Bluetooth Example Fails with SDIO/Wi-Fi Initialization Error When Powered by Battery Through JP3 您好, 我按照您建议的跳线更改操作,并使用电池供电测试了 RT700-EVK。 我按如下方式更改了跳线设置: JP33 → 2–3 JP34 → 2–3 JP36 → 2–3 JP11 → 2–3 JP7 → 2–3 我将3.7V、500mAh 锂聚合物电池连接到 JP37 。 经过这些更改, BLE Peripheral HT 演示成功初始化,BLE 也按预期开始广播。 然而,运行一段时间后, RT700-EVK 开始不断重启。每次 RESET 后,应用程序都会重新启动,BLE 初始化,广播也会重新开始。 因此,跳线更改已启用电池供电下的 BLE 功能,但持续 RESET 问题仍然存在。 请问是什么原因导致电池供电期间反复重启?接下来我应该检查哪些方面?
View full article