Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
NXP S32K3x4EVB-Q172のPILシミュレーションエラー こんにちは、 S32K3シリーズ用MBDTバージョン1.1.0を使用して、簡単なPILシミュレーションを試しています。Matlab 2021b 上で動作します。私が作業しているボードはNXP S32K3x4EVB-Q172です。Simulink SIL/PILを使用して、PILに移行する前にSILを正常に実行することができました。SimulinkでPILを実行すると、以下のエラーが発生します。画像に示されているように、データを受信するのではなく、ボードに送信するエラーが発生することもあります。 また、MBDTに付属しているUART用のモデル例(例えば「S32K344_uart_async_s32ct」)をデプロイしてみました。モデルは展開されますが、再びパティ端末で通信は起こりません。 どうすれば解決できるか、アドバイスをください。 よろしくお願い申し上げます。 Simple_PIL_project_issue_cc.pngSimple_PIL_project_issue_cc.png   Re: PIL simulation error for NXP S32K3x4EVB-Q172 @mariuslucianand PILで動作させるために、S32K344EVB-T172ボードでUSB2SerialとしてのOpenSDA機能は有効になっていますか?? PILの例モデルを実行しようとしています。PILの設定を指定しましたが、モデルは正常にビルドされるのですが、シリアルポートが開かないことが確認できます(添付のエラーログと設定をご参照ください)。 この問題を解決する方法について、何かアドバイスをいただけると大変ありがたいです。 ありがとうございます Re: PIL simulation error for NXP S32K3x4EVB-Q172 こんにちは、 @Saurabh9 さん。 S32K3 MCU用に作成されたすべてのSimulinkモデルに対して、当社のツールボックスにはS32 CTまたはEBのtresos構成プロジェクトが関連付けられており、これによりボードの設定が保持され、後のコンパイルプロセスでSimulinkモデルで使用される構成Cコードを生成します。デフォルトでは、S32K3ツールボックスは評価ボードであるS32K344_Q257向けに設定されたS32CT/EBTプロジェクトを関連付けます。 S32K3x4-Q257 EVBとS32K3x4-Q172 EVBの主な違いは、前者がLPUART13を使用するのに対し、後者はLPUART6を使用する点です。 ここでは2つの選択肢があります。 1.外部設定ツールを開き、パッケージをQ257からQ172に変更し、LPUART6の依存関係(ピン、割り込み)をすべて設定できます。 2.S32CTの設定ファイルをs32k344_q172.mexに置き換えることができます。このスレッドに添付されています(.mexここでいう拡張子はMATLABの拡張子とは全く関係なく、S32CT形式です。 そのためには、ハードウェア実装のハードウェアに行き、下記のようにデフォルト構成テンプレートを変更する必要があります。 mariuslucianand_0-1648251474071.pngmariuslucianand_0-1648251474071.png どちらの場合も、どのLPUARTを使うか、PCのCOMポート、ボーレートを指定する必要があります。そのためには、ハードウェア実装、PIL のセクションに進む必要があります。私の場合はCOM31でしたが、これはあなたの環境設定によって異なるでしょう。 mariuslucianand_1-1648251582058.pngmariuslucianand_1-1648251582058.png サンプルも添付しました。 この特定の基板では、USB2SerialとしてのOpenSDA機能はまだ完全には機能していないため、PILを動作させるにはJ44ヘッダーにコネクテッドした外部USB2Serialコンバータ(1からTX、2からRXへ)を使う必要があります。Simulinkは生成されたelfファイルをOSDA上で展開し、PILは外部のUSB2Serialコンバーターを介して通信します。 mariuslucianand_2-1648252183459.pngmariuslucianand_2-1648252183459.png サンプルをテストするには、k344_q172_h_s32ct.mdl を開いてください。参照されている設定ファイルを開き、使用しているUAB2SerialのCOMポート番号を入力してください。 ボードの回路図はすべてこちらにあります。https://www.nxp.com/design/development-boards/automotive-development-platforms/s32k-mcu-platforms/s32k3x4-q172-general-purpose-development-board :S32K3X4EVB-Q172 お役に立てば幸いです。 マリウス
記事全体を表示
Is SmartMX2 the right choice for my project? Hi all, I'm evaluating secure element options for a standalone contactless payment device (not a phone) that would need to hold several tokenized payment card applets on one chip, with the ability to select which applet is active/exposed to a terminal before each transaction. A couple of specific questions on SmartMX2: 1. Roughly how many separate payment applets / GlobalPlatform Security Domains can a single SmartMX2 chip realistically support? 2. Does the platform support runtime AID selection triggered by an external host command — i.e., can host-side firmware tell the chip which provisioned applet to expose before a tap, rather than the chip always presenting a static/priority-ordered AID list? 3. Is SmartMX2 still the right product line for this kind of banking/payment use case, or is there a newer NXP family better suited to it? Any pointers to public documentation, dev kits, or the right internal team to talk to would be appreciated. Thanks! Re: Is SmartMX2 the right choice for my project? Hello @Javiergg  Please see the comments on your questions: 1. The NXP SmartMX2 product page on nxp.com is a good starting point for public datasheets and overview documentation. - For deeper technical specs, the product's reference manual (available under NDA) would cover GlobalPlatform SD limits and AID management. 2. For dev kits and direct engagement with the right team, reaching out through NXP's official sales or FAE (Field Application Engineer) channel is recommended, as they can connect you with the secure element specialists for banking/payment applications. 3. Regarding whether SmartMX2 is still the right fit vs. a newer family — NXP's SE050 or SN100 series are also worth exploring depending on your interface and form factor requirements, and an FAE can help compare options for your specific use case.
記事全体を表示
SmartMX2 适合我的项目吗? 大家好, 我正在评估独立非接触式支付设备(不是手机)的安全元件选项,该设备需要在一个芯片上存储多个令牌化的支付卡小程序,并且能够在每次交易之前选择哪个小程序处于活动状态/对终端公开。 关于 SmartMX2,我有几个具体问题: 1. 单个 SmartMX2 芯片实际能够支持多少个独立的支付小程序/GlobalPlatform 安全域? 2. 该平台是否支持由外部主机命令触发的运行时 AID 选择——也就是说,主机端固件能否在执行 tap 操作之前告诉芯片要公开哪个已配置的小程序,而不是芯片始终呈现一个静态/优先级排序的 AID 列表? 3. SmartMX2 是否仍然是此类银行/支付用例的合适产品线,还是 NXP 有更新的产品系列更适合它? 任何关于公开文档、开发工具包或相关内部团队的线索都将不胜感激。谢谢! Re: Is SmartMX2 the right choice for my project? 你好@Javiergg 请查看您问题的评论: 1.NXP.com 上的 NXP SmartMX2 产品页面是获取公开数据表和概述文档的良好起点。 - 有关更深入的技术规格,请参阅产品参考手册(根据保密协议提供),其中涵盖了 GlobalPlatform SD 限制和 AID 管理。 2. 对于开发套件和与合适的团队直接接触,建议通过 NXP 的官方销售或 FAE(现场应用工程师)渠道联系,因为他们可以将您与银行/支付应用的安全元件专家联系起来。 3. 关于 SmartMX2 是否仍然适合与更新的系列进行比较——NXP 的 SE050 或 SN100 系列也值得考虑,具体取决于您的接口和外形尺寸要求,现场应用工程师 (FAE) 可以帮助您比较针对您具体使用情况的各种选项。
記事全体を表示
Wi-FiチップセットMCU制御 こんにちは、みんな、 AP+STA機能を備えたWi-Fiモジュールを探していました。例えば、NXP、Microchip、Infineonなどのモジュールを見つけました。しかし、ほとんどのモジュールはPCIe経由でWiFiインターフェースを使えず、高度なOSでしか対応していません。 しかし、InfineonのAIROC CYW55X(シリーズ)というMCU+WiFiモジュールのセットを見つけました。 こういったタイプのモジュールの統合や制御に関する経験はありますか?もしそうなら、これまでに使っていて外部MCUとうまく統合できた他のモジュールを教えてもらえますか?私の意図は、データをマイクロコントローラにオフロードするのではなく、例えばメッシュやAPの機能を制御することです。 Wi-Fiモジュールを制御しながら基本的なAIモデルに対して推論を行うために、MCU(例えばSTM)を使っています。 ありがとう、みんな Re: Wi-Fi Chipset MCU Control こんにちは、 ホストMCUとしてSTM32を使う予定なら、Wi-Fiデバイスとして IW612 か IW416 を使うことをおすすめします。その場合、製品ウェブページのソフトウェアセクションにあるSTM32 CMSIS-Packドライバを使用できます。 これらのデバイスは、Wi-FiにはSDIOを、BluetoothにはUARTを使用します。IW612の場合、もし802.15.4を使う予定なら、ホストインターフェースはSPIです。 もう一つの選択肢としては 、RW612 をネットワークコプロセッサ(NCP)として使用することです。RW612はワイヤレスMCUであるため、外部MCUがアプリケーションに集中する間、無線接続スタックを処理できます。 よろしくお願いいたします。 ダニエル Re: Wi-Fi Chipset MCU Control ダニエルが述べたように、RW612は良い解決策となるでしょう。 3-ラジオ対応で、ネットワーク対応アプリケーションの作成に理想的なイーサネットMACも内蔵しています。 RW612はAP+STA対応が可能です。つまり、そのMCUはネットワーク制御とAI機能の両方に使えます。 Web UIと組み込みOTAを備えたすぐに構築できるプロジェクトをお探しなら、 https://mongoose.ws/wizard/をご覧ください。 プロジェクトを開始し、空のディレクトリを選択し、ボードターゲットとしてFRDM-RW612を選択し、WiFiオプションを設定し、「生成」をクリックし、Xpressoでプロジェクトを開き、ビルドとフラッシュを実行し、シリアルコンソールを接続すれば、すぐに動作させることができます。 具体的に何を作っているのか、もう少し詳しく教えてもらえますか?
記事全体を表示
将以太网协议栈添加到基础固件中 我正在使用 S32K396 MCSPTR2AK396 三相永磁同步电机控制开发套件。我安装了以下软件包: S32DS_3.6.5_RFP_win32 S32K3_ETPU_SW_4.9_2.0.1_D2512 SW32K3_S32M27x_RTD_R23-11_7.0.0_QLP03_D2512 SW32K3_FreeMASTER_Driver_1.5.0_D2512 S32K3xx_AMMCLIB_RTM_1_1_45_BIN MCSPTR2AK396_SW GCC 版本 10.2。 SW32K3_FreeRTOS_11.1.0_0.8.0_CD1_D2603 SW32K3_TCPIP_STACK_4.0.0_D2512 我分别测试了两个项目。基本电机控制项目(MCSPTR2AK396_PMSM_FOC_3Sh_SwRes_ll_M7_0_0)运行完美。使用以太网的示例项目(lwip_baremetal_s32k396)也能正常工作,并且板可以成功 ping 通。 接下来,我想把这两个项目结合起来,这样在控制电机的同时,我就可以通过以太网传输数据。这听起来像是一个合乎逻辑的延续,但我遇到了一些困难。 在电机项目中,使用了 POWER 模块,当我添加以太网驱动程序 (Eth_43_GMAC) 时,它开始需要 Mcu 模块。当我添加 MCU 时,配置程序报错——MCU 和 POWER 不能共存。 现在我尝试了不同的方法:我尝试用 MCU 替换 POWER,尝试传输时钟设置,但这导致了很多其他错误。目前还不清楚还会出现多少其他不兼容问题。 所以我的主要问题是:这真的可行吗?我这样做是在浪费时间吗?这两件事从根本上来说就是相互矛盾的吗?或者我的想法有误,遗漏了什么? 如果有人成功地在 S32K396 上同时运行电机和以太网,请分享您的经验。或许已经有现成的例子或成熟的配置方法。非常感谢您提供的任何信息。 Anna_Anna_1-1787238162573.png Anna_Anna_3-1787238893017.png  
記事全体を表示
S32K116 Motor Control add throttle (potentiometer) for speed control I want to add ADC channel ADC0_SE13 to measure potentiometer voltage. To control speed of motor. I tried lot of things but unable to set it in PDB block properly. ADC properly configured in ProcessorExpert and then I have configured PDB0. I tried lot of combination but every time I am getting PDB0 Error in MCAT tool. What I should do in below files? I am using k116 FOC 2sh example code. 1. What is proper settings required to achieve this. 2. ADC configuration in processor expert? 3. PDB configuration in processor expert? 4. code modification in periferals_config.c ? 5. code modification in main.c ? 6. code modifications in meas_s32k.c? Objective: 1. Connect potentiometer as throttle control for speed. 2. Trigger ADC through PDB back to back. 3. Read ADC value in interrupt routine. Where current and Voltages are measured using meas.c. 4. Set speed according to throttle demand. In ADC interrupt routine. Which variable have speed? This is configuration code where I am modifying few lines. and Processor expert. void McuPdbConfig(void) { /* PDB0 module initialization */ PDB_DRV_Init(INST_PDB0, &pdb0_InitConfig0); /* PDB0 CH0 pre-trigger initialization */ PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig0); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig1); PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig2); >>>>>//PDB_DRV_ConfigAdcPreTrigger(INST_PDB0, 0, &pdb0_AdcTrigInitConfig3);   /* Set PDB0 modulus value */ PDB_DRV_SetTimerModulusValue(INST_PDB0, 7800); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 0, 0); PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 1, 1200); >>>>//PDB_DRV_SetAdcPreTriggerDelayValue(INST_PDB0, 0, 2, 2400); Screenshot from 2023-09-27 11-57-05.pngScreenshot from 2023-09-27 11-57-05.png Re: S32K116 Motor Control add throttle (potentiometer) for speed control To add a potentiometer throttle via ADC0_SE13 using the PDB block in your S32K1xx motor control project, the core issue in the MCAT tool stems from channel allocation conflicts or misaligned pre-trigger sequence counts. In motor control (FOC 2-shunt), PDB channel 0 is typically heavily utilized for precise current sampling synchronized with the PWM reload. Adding a slow throttle measurement requires either a separate PDB channel (if available) or adding it as an independent pre-trigger sequence without disrupting the main PWM hardware triggers. Re: S32K116 Motor Control add throttle (potentiometer) for speed control Solved issue, I forget to read the ADC value to clear the COCO flag.
記事全体を表示
MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hello, I am investigating WUU wake-up behavior from Deep Power-Down mode on the FRDM-MCXA266 board. Environment: - MCU: MCXA266 - Board: FRDM-MCXA266 - SDK Example project: frdmmcxa266_power_mode_switch_ll_mcxa - SDK version: 26.6.000 - Development environment: MCUXpressoIDE_25.6.136 I added the following code near the beginning of main() to read the reset and wake-up status before BOARD_InitHardware() is called. /******************************************************************************* * Variables ******************************************************************************/ char *const g_modeNameArray[] = APP_POWER_MODE_NAME; char *const g_modeDescArray[] = APP_POWER_MODE_DESC; uint32_t resetCount; uint32_t resetStatus; uint32_t resetStickyStatus; uint32_t wakeupResource; uint32_t wuuWakeupPinsFlag; /******************************************************************************* * Code ******************************************************************************/ int main(void) { uint32_t freq; app_power_mode_t targetPowerMode; bool needSetWakeup = false; // --- START ADDED CODE --- resetStatus = CMC_GetSystemResetStatus(CMC); resetStickyStatus = CMC_GetStickySystemResetStatus(CMC); CMC_ClearStickySystemResetStatus(CMC, resetStickyStatus); wakeupResource = CMC_GetWakeupSource(CMC); wuuWakeupPinsFlag = WUU_GetExternalWakeUpPinsFlag(WUU0); WUU_ClearExternalWakeUpPinsFlag(WUU0, wuuWakeupPinsFlag); // --- END ADDED CODE --- BOARD_InitHardware(); // --- START ADDED CODE --- DbgConsole_Printf("CMC_GetSystemResetStatus(CMC) = 0x%x\r\n", resetStatus); DbgConsole_Printf("CMC_GetStickySystemResetStatus(CMC) = 0x%x\r\n", resetStickyStatus); DbgConsole_Printf("CMC_GetWakeupSource(CMC) = 0x%x\r\n", wakeupResource); DbgConsole_Printf("WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x%x\r\n", wuuWakeupPinsFlag); // --- END ADDED CODE --- APP_SetVBATConfiguration(); APP_SetSPCConfiguration(); APP_InitWaketimer(); The complete relevant output is: ``` Normal Boot. ########################### Power Mode Switch Demo ########################### Core Clock = 240000000Hz Power mode: Active Select the desired operation Press A to enter: Active mode Press B to enter: Sleep mode Press C to enter: DeepSleep mode Press D to enter: PowerDown mode Press E to enter: DeepPowerDown mode Waiting for power mode select... Deep Power Down: The whole VDD_CORE voltage domain is power gated. Please select wakeup source: Press A to select TIMER as wakeup source; Press B to select WAKE-UP-BUTTON as wakeup source; Waiting for wakeup source select... Wakeup Button Selected As Wakeup Source. Please press SW2 to wakeup. Isolate power domains: VDD_USB. CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 Normal Boot. ``` At the initial startup, the following values were printed: CMC_GetSystemResetStatus(CMC) = 0x110 CMC_GetStickySystemResetStatus(CMC) = 0x110 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 I then selected Deep Power-Down mode, selected WAKE-UP-BUTTON as the wake-up source, and pressed SW2. The MCU successfully woke up, and the application restarted, but the following values were printed: CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 My interpretation of the CMC reset status is: - 0x00004010: Software Reset + Warm Reset - 0x00004011: Software Reset + Warm Reset + Deep Power-Down Wake-up Reset If this interpretation is correct, the sticky status appears to indicate that a Deep Power-Down wake-up reset occurred first, followed by a software warm reset. I checked the application startup code, system_MCXA266.c, and the example sources, but I could not find NVIC_SystemReset(), SYSRESETREQ, or an SCB->AIRCR write. I also added a counter to SystemInitHook() using a retained NOLOAD variable. SystemInitHook() was executed only once after wake-up, so I could not find evidence of a software reset after SystemInit(). My questions are: Is SRS = 0x4010 and SSRS = 0x4011 expected after a WUU wake-up from Deep Power-Down? Does the MCXA266 Boot ROM or Extended Bootloader issue a software warm reset before the application starts? What is the recommended method for identifying which WUU pin caused the Deep Power-Down wake-up? My current interpretation of the CMC reset status is as follows, but please correct me if I have misunderstood the bit definitions: English is not my first language, so please let me know if any part of my explanation is unclear. Thank you. MCXA Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hello @ka-2020  Thanks for your question. I will reproduce the test on my side using the same setup and investigate the behavior. Once I have the results, I will get back to you with my findings and answers to all of your questions. Thank you for your patience and support. BR Alice Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hello  @Alice_Yang  Thank you for looking into this issue. I performed an additional test using another WUU external wake-up pin and wanted to share the result. I added the following configuration in addition to the original wake-up button configuration: WUU_SetExternalWakeUpPinsConfig(APP_WUU, 0, &wakeupButtonConfig); I then woke the device from Deep Power-Down using the pin assigned to WUU pin 0. The device woke up successfully, but I observed the same result as before: CMC_GetSystemResetStatus(CMC) = 0x4010 CMC_GetStickySystemResetStatus(CMC) = 0x4011 CMC_GetWakeupSource(CMC) = 0x0 WUU_GetExternalWakeUpPinsFlag(WUU0) = 0x0 Therefore, this behavior does not seem to be specific to the original SW2 WUU pin. Do you have any updates on the investigation? Please let me know if you need any additional logs, source code, register values, or test results from my side. Thank you. Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hello @ka-2020  Thanks for your reply and patience. I have tested this on my side according to your requirements and have also discussed it with our internal team. Since clarification regarding the ROM behavior requires confirmation from the ROM team, it took some additional time to investigate. I apologize for the delayed response and appreciate your understanding. 1. Is SRS = 0x4010 and SSRS = 0x4011 expected after a WUU wake-up from Deep Power-Down? ->> Yes.   SSRS: Stores all sources of system reset that has generated a system reset since the last MAIN cold reset and that you have not cleared. SSRS does not update following a core software reset.  SRS: Updates on every MAIN warm reset to indicate the type/source of the most recent reset. 2. Does the MCXA266 Boot ROM or Extended Bootloader issue a software warm reset before the application starts? ->> NO.  3. What is the recommended method for identifying which WUU pin caused the Deep Power-Down wake-up? ->>  For identifying the wake-up source pin, WUU_GetExternalWakeUpPinsFlag() is suitable for Power Down mode, where the WUU interrupt service routine  can execute normally. However, it  is can not used after a Deep Power-Down wake-up, because the device restarts through a reset sequence and the WUU flags have already been cleared. By the way, are you using only one wake-up pin, or do you have multiple wake-up pins enabled? Thank you. BR Alice Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hi @ka-2020  Thanks for your reply. I have escalated this issue and your requirement to our internal SE team with high priority. We fully understand the importance of this request and are actively following up on it. Please give us some time to investigate further. I will keep you updated and get back to you as soon as possible. Thank you for your patience and understanding. BR Alice Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hello @Alice_Yang,  Thank you for looking into this and for the clarification. Based on your explanation, it seems that the WUU flags are cleared during the Deep Power-Down reset sequence before the application starts. In my test, two WUU external wake-up pins were enabled: the original SW2 wake-up pin and WUU external wake-up pin 0. Just to confirm, does this mean that there is no software method to identify which WUU pin caused the wake-up after Deep Power-Down? Thank you. Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hi @ka-2020  Thank you for your patience. The root cause has been identified, and a fix will be implemented in future sample chip revisions. We apologize for any inconvenience caused and appreciate your understanding. Thank you. BR Alice Re: MCXA266: WUU wake-up flags are 0 after Deep Power-Down wake-up (SRS=0x4010, SSRS=0x4011) Hello @Alice_Yang , Thank you for the update. I understand that the fix is planned for a future sample chip revision. Thank you for your support.
記事全体を表示
S32K3 RTD 7.0.1 中的两个问题:未配对括号语法错误和缺少加密 XML 文件 我正在使用 RTD 版本S32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206 。运行时日志报告了一个与 featureDefined(`FEATURE_MEM_INFLS_HEADER`) 相关的未配对括号错误。两行原生 RTD 元器件存在语法错误,语句 getFeature(`FEATURE_MEM_INFLS_HEADER`) == `S32K388` 缺少右括号。 错误位置 这两行错误代码都包含 getFeature(`FEATURE_MEM_INFLS_HEADER`) == `S32K388`,并且缺少末尾的右括号: 文件路径及第 1 行:eclipse/mcu_data/components/PlatformSDK_S32K3/C40_Ip/C40_Ip.元器件第 603 行 文件路径及第 2 行:eclipse/mcu_data/components/PlatformSDK_S32K3/Mem_43_INFLS/Mem_43_INFLS.元器件第 905 行 这些语法错误存在于官方原始 RTD 组件文件中,会导致运行时功能定义解析失败。   第二个问题:加密模块文件缺失错误 我正在使用 RTD 版本S32K3_RTD_7_0_1_D2606_ASR_REL_4_9_REV_0000_20260814 ,搭配 ArchLinux 和 S32DS。eclipse/mcu_data/processors 目录下的 Crypto 模块中缺少文件。 并非所有 MCU 型号都包含两个必需的加密配置文件:PlatformSDK_S32K3/common/sdk_features_rtd_crypto.xml 和 PlatformSDK_S32K3/[MCU_MODEL]_[PACKAGE_TYPE]/resource_tables/RTD_CRYPTO/rtd_crypto_Crypto.xml。 当选择不包含上述两个文件的 MCU 型号并添加Crypto_43_HSE模块时,会触发 S32DS UI 异常和代码生成失败。手动将这两个完整的 XML 文件从其他受支持的 MCU 模型目录复制到目标模型目录,可以彻底解决此错误。 Re: Two Issues in S32K3 RTD 7.0.1: Unpaired Parenthesis Syntax Error and Missing Crypto XML Files 嗨@chenwilsoft 第一期: 谢谢你指出这一点。您说得对,C40_Ip.元器件 和 Mem_43_INFLS.元器件 文件中的`FEATURE_MEM_INFLS_HEADER`部分都存在拼写错误。 以`FEATURE_MEM_INFLS_SUPPORTBLOCK4PIPESELECT`部分为参考,似乎在featureDefined之前无意中添加了一个额外的左括号 "(" 。 作为权宜之计,您能否执行以下操作之一: 在表达式末尾添加缺失的右括号“)”“”,或者 删除featureDefined 前面多余的左括号(这将使语法与文件中其他地方使用的格式保持一致)。 由此给您带来的不便,我们深表歉意。 第二问题: 由于您正在使用 S32K3 实时驱动程序 AUTOSAR R23-11 版本 7.0.1 QLP05,请注意,此版本仅适用于 S32K3x4 和 S32K388 设备,如软件发行说明中所述。 下图高亮显示了两个不同 S32DS 3.6.x 版本中的sdk_features_rtd_crypto.xml文件。安装: Orange:安装了 RTD 7.0.1 QLP05 的 S32DS 实例。 紫色:安装了 RTD 7.0.1 P02 的 S32DS 实例。 VaneB_0-1787259680399.pngVaneB_0-1787259680399.png RTD 7.0.1 P02 代码包支持所有 S32K3 衍生产品,而 RTD 7.0.1 QLP05 是专门为 S32K3x4 和 S32K388 设备设计和验证的。 同样的道理也适用于rtd_crypto_Crypto.xml文件。7.0.1 QLP05 版本并未为所有 S32K3 衍生产品提供这些文件,因为对这些设备的支持超出了此软件包的范围。 BR,VaneB
記事全体を表示
S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on specific Device: S32K312 Toolchain: Green Hills ELXR (compiler) HSE Firmware: s32k312_hse_fw_0.13.0_2.55.0_pb250129.bin Debugger: Lauterbach TRACE32 Software: AUTOSAR RTD-based Bootloader (FBL) + Application (APP), two-image structure ISSUE SUMMARY On a subset of production units, the CPU hangs immediately after a Functional (software) reset. The same units always boot correctly after a Destructive (power-on) reset. The hang does not reproduce on our reference/known-good units. EVIDENCE THAT AN NMI OCCURS BEFORE ANY APPLICATION CODE EXECUTES 1) CPU context captured at the hang point (auto-stacked exception frame): - R0-R3 = 0x00000000, R12 = 0x00000000 - LR = 0xFFFFFFFF (reset default -> no BL has executed yet) - PC = 0x00416904 (the very first instruction address of our Reset_Handler) - xPSR = 0x01000000 2) SCB->ICSR = 0x00000802 Chibeom_3-1785136456875.pngChibeom_3-1785136456875.pngChibeom_3-1785136456875.png - VECTACTIVE[8:0] = 2 -> NMI is the currently active exception - RETTOBASE = 1 This confirms the CPU is currently executing inside the NMI handler. 3) Our vector table entry for the NMI offset correctly points to our own default exception handler, so this is a genuine NMI event, not vector table corruption. REGISTERS CHECKED AT THE SAME HANG STATE (all read as clean / inactive) - MC_RGM_DES = 0x00000000 (not a destructive reset) - MC_RGM_FES = 0x20000000 (bit 29 only) (only "software functional reset" flag set, no other functional reset source flagged) - FCCU: STAT, N2AF_STATUS, A2FF_STATUS, N2FF_STATUS, NCF_S0, IRQ_STAT all = 0x00000000 - CMU_FC instances 0, 3, 4: SR = 0x00000000 (no frequency high/low fault) - PMC LVSC = 0x00000000 (no LVD/HVD flag, latched or live) - ERM (0x4025C000): could not be read on either good or failing units (likely clock-gated in our configuration), so ERM status is unverified. QUESTIONS 1. Are there any NMI sources -- other than FCCU / CMU_FC / PMC / MC_RGM -- that could fire before the application's Reset_Handler executes its first instruction? 2. Since the HSE subsystem runs independently of the application core, is it possible for an application-core Functional reset (which does not reset HSE) to create a state mismatch that triggers an NMI on the application core? 3. Is there a known errata for S32K312 matching this symptom (NMI only on functional/software reset, never on power-on reset)? Any guidance on additional registers to check, or documentation covering NMI sources outside FCCU / ERM / CMU_FC / PMC, would be greatly appreciated. Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @Chibeom, Could you please read registers MU_0.MUB CSSR0 and MU_1.MUB CSSR0 at the hang state, and confirm whether bit 0 (NMIC) is set in either of them? Thank you Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @danielmartynek , Thank you for pointing us to MU_0.MUB / MU_1.MUB CSSR0. CSSR0 (bit 0, NMIC) on both MU_0.MUB and MU_1.MUB reads 0x00000000 on the failing unit at the hang state, so the MU->NMI request path (CCR0[NMI] / CSSR0[NMIC]) does not appear to be pending. However, while comparing MU registers between a known-good unit and a failing unit (both captured at the identical hang-state address range), we found a consistent difference:                                Good unit Failing unit MU_0.MUB VER 0x0300000F 0x0300000F (identical) MU_0.MUB PAR 0x20200404 0x20200404 (identical) MU_0.MUB CR 0x00000000 0x00000000 (identical) MU_0.MUB SR 0x00000000 0x00000002 <- MURIP set MU_1.MUB VER/PAR/CR: identical between good and failing units MU_1.MUB SR 0x00000000 0x00000002 <- MURIP set So on BOTH MU instances, SR bit 1 (MURIP) is set only on the failing unit, consistently. Per the reference manual, MURIP indicates that "processor A" has issued an MU reset, and can only be cleared by a system reset (not by an MU reset). Since the CPU is frozen inside the NMI handler before executing any application code, it could not have cleared this flag itself, so it must have been set prior to (or as part of) this boot sequence. We'd appreciate your input on the following: 1. For MU_0.MUB and MU_1.MUB, which processor is "processor A" (i.e. who sets MURIP)? Our header only exposes the "MUB" register block at the application-core-accessible address -- does this imply the application core is always "processor B" and HSE is "processor A" for these instances? 2. Does "system reset" (required to clear MURIP) include a Functional/SW reset of the application core, or only a Destructive/POR reset? If MURIP is not cleared by our functional reset, that would explain why it stays set across SW reset while it is clear after power-on. 3. Independent of the NMI question: is a set/stuck MURIP flag itself expected or considered anomalous during normal operation? 4. Since CSSR0[NMIC] currently reads 0, is it possible for hardware to auto-clear NMIC upon NMI exception entry, or does it only clear via an explicit software write (in which case NMIC=0 would mean the MU->NMI channel was never asserted in the first place)? Thanks again for your help so far. Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @Chibeom, I'm sorry for the delay. I was out of office for two days. 1. Yes, the HSE_B core controls the MUA interfaces of MU_0 and MU_1. 2. Any system reset should reset MURIP. 3. I would consider this an anomaly, as I do not have much information about it. 4. It requires an explicit write, as it is a W1C register. Can you make sure that HSE_B is inactive at the time the functional reset is triggered? Also, what is the state of HSE_B while the application is stuck in the NMI handler? Can you read the standard HSE GPR (0x4039_C028), FSR, and GSR registers on the MU_0 B side? Do you use the NMI pin in the application? Regards, Daniel Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi Daniel, Please find three combined register-dump screenshots attached, followed by our findings organized by your questions. -------------------------------------------------------- ATTACHMENTS -------------------------------------------------------- Attachment 1: GOOD unit (Secure Debug enabled, running normally) Chibeom_3-1785730814252.pngChibeom_3-1785730814252.pngChibeom_3-1785730814252.png Attachment 2: FAILING unit, immediately BEFORE the functional reset is triggered (normal operation) Chibeom_4-1785730831377.pngChibeom_4-1785730831377.pngChibeom_4-1785730831377.png Attachment 3: FAILING unit, AFTER the functional reset, stuck in the NMI handler (hang state) Chibeom_5-1785730838688.pngChibeom_5-1785730838688.pngChibeom_5-1785730838688.png -------------------------------------------------------- FINDINGS 1) HSE_B activity at the time the functional reset is triggered, and 2) state of HSE_B while stuck in the NMI handler: Comparing Attachment 2 (before reset) and Attachment 3 (after reset, hang state) on the failing unit, every register we checked reads IDENTICALLY before and after the reset: - MU_0.MUB / MU_1.MUB TSR = 0x0000000F, RSR = 0x00000000 (no pending messages on transmit/receive channels, unchanged by the reset) - MU_0.MUB GSR = 0x00000000 (unchanged) - MU_0.MUB FSR = 0x03600000 (unchanged) - HSE GPR (0x4039C028) = 0x000001C1 (unchanged) - MU_0.MUB / MU_1.MUB SR bit 1 (MURIP) = 0x00000002 -- already set BEFORE the reset is triggered, and remains set, unchanged, after the reset So MURIP was already set prior to this reset cycle, and the functional reset itself does not change any of these HSE-related registers. For reference, on a good unit with the same Secure Debug configuration (Attachment 1), MURIP reads 0x00000000 on both MU_0.MUB and MU_1.MUB, while HSE GPR and WKPU NCR read the same values as the failing unit. 3) Regarding whether a set/stuck MURIP is anomalous: Understood, thank you for confirming. 4) NMI pin usage: We do not use the WKPU-routed NMI path (WKPU_IP_USED is not enabled; no WKPU driver code is compiled into either our bootloader or application image). WKPU NCR (0x402B4008) = 0x60000000 identically across all three attachments. NSR = 0x00000000 in all cases. Since this is unchanged across all units and conditions, we don't believe an external/WKPU-routed NMI source is involved. SUMMARY OF FINDINGS SO FAR MURIP (MU_0.MUB and MU_1.MUB SR bit 1) is already set on the failing unit BEFORE the functional reset is even triggered, and remains unchanged throughout the hang. It reads 0 on a good unit with the same Secure Debug configuration. This is the only consistent, reproducible difference we have found across every register we've compared (FCCU, CMU_FC, PMC, WKPU, and MU CSSR0/GSR/TSR/RSR/GPR/FSR). Since MURIP is set by "processor A" (HSE_B) and should be cleared by "any system reset" per your answer, and since it is already set before our functional reset is triggered (and the reset itself does not appear to change it), this suggests HSE_B issued an MU reset at some earlier point that was never cleared by a "system reset" recognized by HSE_B. QUESTIONS 1. Is there a way to determine, from the HSE side, what would cause HSE_B (processor A) to issue an MU reset in the first place? We'd like to understand why MURIP gets set at all. 2. Is there a recommended way for us to trigger a reset that HSE_B recognizes as a "system reset" (to clear MURIP) from application software, short of a full power cycle? 3. Could a stuck MURIP flag on the application-core side be related to the NMI we are observing, or are these more likely two independent symptoms of the same earlier event? Thanks again for your continued help with this. Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hello @Chibeom, Thank you for the detailed register dumps. I have escalated the questions around MURIP behavior and the potential NMI path between HSE_B and CM7_0 to our internal HSE team, as this seems to be not documented. I will get back to you once I have their input. Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hello @danielmartynek,  Thank you for the update, and for escalating the MURIP / NMI path question to your internal HSE team. We appreciate it, and we'll wait for their input. In the meantime, we found an additional data point that may be relevant, so we wanted to share it now rather than wait. While comparing OTP fields in the UTEST Flash area between a good unit and a failing unit, we found a difference in the Lifecycle slots. CUST_DEL (0x1B000220-22F) and OEM_PROD (0x1B000230-23F) are identically programmed (0x55AA50AF across all words) on both the good unit and the failing unit. The difference is in the IN_FIELD slot (0x1B000240-24F): - Good unit: begins being programmed Chibeom_2-1786069927793.pngChibeom_2-1786069927793.pngChibeom_2-1786069927793.png - Failing unit: reads as unprogrammed (0xFFFFFFFF) Chibeom_1-1786069910918.pngChibeom_1-1786069910918.pngChibeom_1-1786069910918.png We are still double-checking the exact byte pattern within the IN_FIELD slot on our side, but the good/failing difference at this slot appears consistent. Could you clarify: 1. Does this suggest that the failing unit's configuration became corrupted or incomplete partway through the transition into IN_FIELD? 2. Could an incomplete or missing lifecycle advancement to IN_FIELD explain the NMI/hang behavior we have been investigating in this thread? 3. Is there a safe way to check or complete this lifecycle advancement on the failing units, without a full production re-flow? Thanks again for your help. Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @Chibeom, Based on the memory view, OEM_PROD = Inactive, IN_FIELD = Erased. Can you please first read the DCM registers: RM, rev.12, Section 39.3.1 DCM memory map. And Section 38.2.3 Read-Only GPR On Destructive Reset 3 (DCMROD3)? You can also use the HSE_FW APIs to get the LC attribute? Thank you Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @danielmartynek , Thank you for pointing us to the DCM memory map and DCMROD3. We captured DCMSTAT (0h), DCMLCS (8h), DCMLCS_2 (80h), and DCMROD3 (208h) on both units, and decoded them against RM rev.9. ---------------------------------------------------- CAPTURED VALUES ---------------------------------------------------- Good unit: Chibeom_0-1786500129171.pngChibeom_0-1786500129171.pngChibeom_0-1786500129171.png - DCMSTAT (0h) = 0x00000E11 - DCMLCS (8h) = 0x00000000 - DCMLCS_2 (80h) = 0x00000000 - DCMROD3 (208h) = 0x00000000 Failing unit: Chibeom_1-1786500144600.pngChibeom_1-1786500144600.pngChibeom_1-1786500144600.png - DCMSTAT (0h) = 0x00000E03 - DCMLCS (8h) = 0x06184104 - DCMLCS_2 (80h) = 0x00000006 - DCMROD3 (208h) = 0x00400000 ---------------------------------------------------- DECODED FIELDS (FAILING UNIT ONLY, since good unit reads all-zero) ---------------------------------------------------- DCMSTAT: - bit1 DCMERR = 1 (DCM completed with error) -- good unit has this bit = 0 - bit4 DCMLCST = 0 (LC scanning status not "completed successfully") -- good unit has this bit = 1 DCMLCS: - bits 21-19 DCMLCC4 (IN_FIELD Marking) = 011b = "Region is erased/virgin" - bits 15-13 DCMLCC3 (OEM_PROD Marking) = 010b = "Marked as inactive" - bits 27-25 DCMLCC5 (Pre-FA Marking) = 011b = "erased/virgin" - All associated *_ECE/*_CFE/*_CSS bits = 0. DCMLCS_2: - bits 3-1 DCMLCC6 (FA Marking) = 011b = "erased/virgin" DCMROD3: - bit22 LC_ERR = 1 ("Error In Life Cycle Scanning") This is consistent with the UTEST OTP dump we shared earlier: the IN_FIELD slot on the failing unit reads as erased/virgin. ---------------------------------------------------- HSE_FW API RESULT (HseReadLifecycle) ON THE FAILING UNIT ---------------------------------------------------- HseReadLifecycle() returns 0x10 = HSE_LC_IN_FIELD. So from the HSE firmware's point of view, the current lifecycle is already IN_FIELD. This appears to conflict with the DCM/OTP data above: DCM's DCMLCC4 field reads IN_FIELD marking as "erased/virgin," and the UTEST OTP IN_FIELD slot (0x1B000240h onward) reads as unprogrammed (0xFFFFFFFF), yet the HSE API reports the lifecycle as confirmed IN_FIELD. We wanted to share this as-is rather than draw a conclusion, since we don't know whether HSE tracks lifecycle through a separate/secure store independent of the DCM flash marking, or whether this indicates the marking itself is the problem. Regards, Chibeom Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hello @Chibeom, Thanks for the data. Since the IN_FIELD slot is still in the erased state, could you try setting the attribute again to advance it? As I mentioned, the case is currently under internal discussion. I will update this thread as soon as I have any new information. Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @Chibeom, Probably the HSE service responsible for advancing the Life Cycle (LC) was interrupted, leaving the LC in this state. The LC and LC Control (DCMLCC) register reports 0x77 (IN_FIELD) as the HSE_FW does, but the UTEST area is not programmed correctly. In theory, you could program the UTEST IN_FIELD slot using a debugger, which should clear the DCM error.  Regards, Daniel Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hello @danielmartynek  We tried setting the IN_FIELD attribute again on the failing unit, as suggested. Result: HSE_SRV_RSP_NOT_ALLOWED (0xAA55A21C) Regards, Chibeom Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @danielmartynek  Thank you for the suggestion to program the UTEST IN_FIELD slot using a debugger. We checked our internal OTP field reference table, and the IN_FIELD lifecycle slot (1B00_0240-024F) is listed as write-protected for any master except HSE once LC > MCU_PROD (OEM_PROD). Since HseReadLifecycle() on this unit already reports IN_FIELD, this LC condition appears to already be met. Could you clarify how a debugger write to this slot would be expected to succeed under this protection rule? Is there a specific procedure, mode, or authentication step required for the debugger to be treated as an allowed master in this case? Separately, do you have any findings yet on why the LC advancement to IN_FIELD was left in this partial state in the first place? We'd like to understand the root cause, not just the recovery step, if that analysis is available. Thank you, Chibeom Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci Hi @Chibeom, Thank you for the information. It seems there is no option to recover the MCU at this point. One possibility is that the HSE set attribute service request to advance the LC was interrupted by a system reset (I understand the LC was not advanced using the LCW within the IVT).: Do you read the HSE response of the service request? Do you log whether there was an error? Before triggering the service, do you verify that HSE_STATUS_INIT_OK is set? How many boards/MCUs are affected by this issue? Is it limited to a few units, or have you observed it across a larger number of devices? Thank you, Daniel
記事全体を表示
PIL simulation error for NXP S32K3x4EVB-Q172 Hello,  I am trying out a simple PIL simulation using the MBDT for S32K3 series version 1.1.0 on Matlab 2021b. The board I am working on is NXP S32K3x4EVB-Q172. Using SImulink SIL/PIL I was able to run a SIL successfully before going to PIL. During PIL I get the following error in Simulink. Sometimes, it also gives me an error about sending the data to board instead of receiving it as shown in the image. I also tried deploying model examples for UART provided with the MBDT such as 'S32K344_uart_async_s32ct'. The model gets deployed but on putty terminal again, no communication happens.  Please provide guidance on how I can resolve this. Thank you Simple_PIL_project_issue_cc.pngSimple_PIL_project_issue_cc.png   Re: PIL simulation error for NXP S32K3x4EVB-Q172 @mariuslucianand Is OpenSDA functionality as USB2Serial active on S32K344EVB-T172 board for running in PIL. ? I am trying to run the PIL example model, I specified the PIL configuration, model builds fine but it fails to open the serial port (please see attached error log and configuration settings).  I would really appreciate any guidance on how to resolve this.  Thanks, Re: PIL simulation error for NXP S32K3x4EVB-Q172 Hello @Saurabh9, For every Simulink model created for S32K3 MCU, our toolbox associates an S32 CT or EB tresos configuration project, which holds the board's settings and generates the configuration C code, used by the Simulink model later on, during the compile process. By default, the S32K3 toolbox associates an S32CT/EBT project, configured for the S32K344_Q257, the other evaluation board. The main difference between the S32K3x4-Q257 EVB and the S32K3x4-Q172 EVB is that the first one uses the LPUART13 while the second one, uses the LPUART6. You have two options here: 1. You can open the external configuration tools, change the package from Q257 to Q172 and configure the LPUART6, with all its dependencies( pins, interrupts) 2. You can replace the S32CT configuration file, with the s32k344_q172.mex, attached to this thread (the .mex extension here has nothing to do with the one from MATLAB, it's an S32CT format). To do so, you have to go to Hardware Implementation, Hardware and change the Default Configuration template, as shown below. mariuslucianand_0-1648251474071.pngmariuslucianand_0-1648251474071.png In both cases, you also need to specify the PIL configuration which LPUART to use, the COM port on your PC, and the Baudrate. For this, you have to go to Hardware Implementation, PIL. For me it was COM31, but this will be different on your configuration. mariuslucianand_1-1648251582058.pngmariuslucianand_1-1648251582058.png I have also attached an example. On this specific board, the OpenSDA functionality as USB2Serial is not yet fully functional, so you need to use an external USB2Serial Converter connected to the J44(1 to TX, 2 to RX) header in order for PIL to work. Simulink will deploy the generated elf file over the OSDA, and will communicate for PIL over the external USB2Serial converter.  mariuslucianand_2-1648252183459.pngmariuslucianand_2-1648252183459.png To test the example, please open the k344_q172_h_s32ct.mdl, open the referenced configuration and type your COM port for the UAB2Serial you are using. Please find all the board's schematics here https://www.nxp.com/design/development-boards/automotive-development-platforms/s32k-mcu-platforms/s32k3x4-q172-general-purpose-development-board:S32K3X4EVB-Q172  Hope this helps, Marius
記事全体を表示
Profinet演示 我想开发一款基于RT1180的Profinet设备。PROFINET协议栈库、工业通信创建器(ICC)、ICE和PROFINET评估二进制文件已下载。 ICE for ICC 有用户指南,但我找不到 Profinet 堆栈的用户指南。Stack 库中有项目演示吗?我应该把文件“goal_appl.c”和“goal_config.h”放在哪个项目中?ICC 生成的数据有哪些?如何修改 Profinet 设备项目的循环数据? Re: Profinet demo 亲爱的@wlfworld , PROFINET 指南文档可在以下位置找到: PROFINET-Stack-Library.zip\ProfiNet\Documents ShellyZhang_0-1785807755309.pngShellyZhang_0-1785807755309.pngShellyZhang_0-1785807755309.pngShellyZhang_0-1785807755309.pngShellyZhang_0-1785807755309.pngShellyZhang_0-1785807755309.pngShellyZhang_0-1785807755309.pngShellyZhang_0-1785807755309.png 请特别注意文档中规定的环境和软件版本要求,因为该堆栈的正常运行依赖于特定的工具链和软件版本。 您可以参考视频教程(使用 VS Code 在 RT1180-EVK 上构建映像.mp4)来了解如何在 VS Code 中构建 PROFINET 项目。   顺祝商祺! 雪莉 Re: Profinet demo UG10361 是使用 VS Code 构建镜像的用户指南。10320 是用于刷写二进制文件的用户指南。 我需要 Profinet Stack 库的用户指南。例如,如何设置输入数据和输出数据。 Re: Profinet demo 嗨@wlfworld , PROFINET 协议栈库的专用用户指南尚未发布,目前正在开发中。 如果您关注的是PROFINET API,请参阅港口网站上提供的指南: 应用程序编程接口 - PROFINET - Confluence 此外,ICC 还可用于配置和修改特定应用程序的输入和输出数据。相关信息可在ICC帮助页面中找到。 如果您还有其他问题,请与我们联系。 顺祝商祺! 雪莉 Re: Profinet demo UG10361 是使用 VS Code 构建镜像的用户指南。UG_10320 是用于烧录二进制的用户指南。 我需要 Profinet Stack 库的用户指南。例如,如何设置输入数据并从 Profinet 堆栈获取输出数据。 Re: Profinet demo 1. 是否可以通过基于同一硬件(PHY)的不同固件来选择 Ethercat 和 PROFINET?我想开发一款可以作为 Ethercat 从设备或 PROFINET IO 的 IO 设备。演示中的PHY和RJ45是不同的。 2. RT1186JVJ8C 或 RT1186KVJ8C 何时上市?*JVM 或 KVM 对我们来说太大了(14*14)。 3. 是否可以基于FRDM-IMXRT1186 对 Profinet 进行估值? Re: Profinet demo 嗨@wlfworld , 1.您可以在最初分配给 EtherCAT 的 PHY 上运行 PROFINET。由于 EtherCAT 硬件仅支持 100 Mbps 操作,因此这些 PHY 上的 PROFINET 通信也将限制为 100 Mbps。需要对软件进行修改以支持此变更。 2. RT1186JVJ8C 和 RT1186KVJ8C 均可购买。请联系您当地的经销商或恩智浦销售代表了解订购详情。 3. 可按照AN15104:《工业以太网协议移植指南 | NXP 半导体》中提供的指导进行软件移植。 顺祝商祺! 雪莉 Re: Profinet demo @ShellyZhang谢谢你提供的信息。 3. 如果 PROFINET 可以在基于 IMXRT1186CVJ8C 的 FRDM-IMXRT1186 上进行评估,那么 IMXRT1186 C VJ8C 和 IMXRT1186 J VJ8C 之间有什么区别?我可以发布基于 IMXRT1186 C VJ8C 的固件吗? Re: Profinet demo 请从以下网址下载文件:https://www.nxp.com/docs/en/application-note-software/AN15104SW.zip Re: Profinet demo @ShellyZhang谢谢你的信息! 附件中包含一个补丁(AN15104.zip)。AN15104中提到过,但我找不到该文件。我也无法通过在网站www.nxp.com上搜索来获取该文件。能否提供下载链接? 顺祝商祺! Re: Profinet demo 嗨@wlfworld , ShellyZhang_0-1787016615574.pngShellyZhang_0-1787016615574.pngShellyZhang_0-1787016615574.png MIMXRT1186CVJ8C 不包含工业协议许可证。因此,您不能发布基于 MIMXRT1186CVJ8C 的用于工业协议应用的商业固件产品。   顺祝商祺! 雪莉 Re: Profinet demo @ShellyZhang谢谢你的支持。 我应用了该补丁,然后根据 AN15104 修改了以下项目。 1. .vscode/mcuxpresso-tools.json "boardId": "frdmimxrt1186" "deviceId": "MIMXRT1186xxxxx" 设备:MIMXRT1186 2. mcux_include.json “板”:“frdmimxrt1186” 3. rj.conf 添加:CONFIG_MCUX_COMPONENT_driver.trdc=y 4. #if (defined(CPU_MIMXRT1186CVJ8C_cm33).... 在 FreeRTOSconfig.h 中定义 configureENABLE_FPU(指南中未包含)。如果不进行修改,编译将会失败) rt1180_cm33_cm33.bin(422832 字节)已生成并下载到 FRDM-IMXRTt1186。将 J12 和 J18 跳线至 1-2 连接,并将 J60 设置为 100。ICE无法扫描它。 问题: 一、我漏掉了什么步骤吗? 2. 为什么 bin 超过 400K 字节?下载的PROFINET 评估二进制文件小于 70K。这有什么区别? 顺祝商祺!
記事全体を表示
PN7150:间歇性出现 DISCOVERY_FAILED (0x60 07) 错误,且使用 FeliCa Lite‑S (RC‑S966) 时 NDEF 数据被清零 您好,我正在使用PN7150读卡器IC,并观察到FeliCa Lite‑S (RC‑S966)标签存在不稳定行为。 即使将标签直接贴在天线上,我也会看到以下重复循环: 正确的UID帧 正确的 NDEF 帧 归零 NDEF 帧 空的 NDEF 帧 0x60 07(发现失败)通知 CAN 日志示例: UID (C040041): 01 2E 54 F7 C3 59 42 3E (始终稳定) NDEF (C060041):有时正确:D1 01 09 54 02 65 6E 48 / 65 6C 6C 6F 21;有时为零:00 00 00 00 00 00 00 00 / 00 00 00 00 00;有时为空 (DLC=0) 当标签稍远一些(仍在正常的 NFC 范围内)时,PN7150 会频繁报告 0x60 07 并重新开始发现。 我的问题是: 当 Lite‑S 暂时禁用轮询或射频场较弱时,PN7150 是否预期会报告 0x60 07? 禁用轮询是否会导致 PN7150 返回零或空的 NDEF 数据? 对于 PN7150 固件中的 Lite-S 轮询禁用行为,是否有推荐的处理方法? 例如,跳过存在性检查、延迟发现重启、重试策略 是否有专门针对 FeliCa Lite‑S 行为的 PN7150 应用笔记? canAnalyzer3 Mini 概览如下: “编号”;“时间(绝对值)”;“状态”;“ID(十六进制)”;“DLC”;“数据(十六进制)”;“ASCII” “3.261”;“34505.380”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.262”;“34505.381”;“E”;“C040041”;“2”;“00 F1”;“..” “3.263”;“34506.401”;“E”;“C060041”;“0”;“”;“” “3.264”;“34506.645”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.265”;“34506.646”;“E”;“C040041”;“2”;“00 F1”;“..” “3.266”;“34506.894”;“E”;“C060041”;“0”;“”;“” “3.267”;“34507.143”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.268”;“34507.143”;“E”;“C040041”;“2”;“00 F1”;“..” “3.269”;“34507.389”;“E”;“C060041”;“0”;“”;“” “3.270”;“34507.930”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.271”;“34507.931”;“E”;“C040041”;“2”;“00 F1”;“..” “3.272”;“34508.979”;“E”;“C060041”;“8”;“00 00 00 00 00 00 00 00”;“........” “3.273”;“34508.980”;“E”;“C060041”;“5”;“00 00 00 00 00”;“.....” “3.274”;“34509.222”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.275”;“34509.222”;“E”;“C040041”;“2”;“00 F1”;“..” “3.276”;“34509.467”;“E”;“C060041”;“8”;“00 00 00 00 00 00 00 00”;“........” “3.277”;“34509.468”;“E”;“C060041”;“5”;“00 00 00 00 00”;“.....” “3.278”;“34509.713”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.279”;“34509.714”;“E”;“C040041”;“2”;“00 F1”;“..” “3.280”;“34509.959”;“E”;“C060041”;“8”;“00 00 00 00 00 00 00 00”;“........” “3.281”;“34509.960”;“E”;“C060041”;“5”;“00 00 00 00 00”;“.....” “3.282”;“34510.495”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.283”;“34510.496”;“E”;“C040041”;“2”;“00 F1”;“..” "3.284";"34511.516";"E";"C060041";"0";"";"" “3.285”;“34511.759”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.286”;“34511.760”;“E”;“C040041”;“2”;“00 F1”;“..” “3.287”;“34512.005”;“E”;“C060041”;“0”;“”;“” “3.288”;“34512.251”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.289”;“34512.252”;“E”;“C040041”;“2”;“00 F1”;“..” “3.290”;“34512.497”;“E”;“C060041”;“0”;“”;“” “3.291”;“34512.739”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.292”;“34512.739”;“E”;“C040041”;“2”;“00 F1”;“..” "3.293";"34512.985";"E";"C060041";"8";"D1 01 09 54 02 65 6E 48";"...T.enH" “3.294”;“34512.986”;“E”;“C060041”;“5”;“65 6C 6C 6F 21”;“你好!“ “3.295”;“34513.231”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.296”;“34513.232”;“E”;“C040041”;“2”;“00 F1”;“..” "3.297";"34513.477";"E";"C060041";"8";"D1 01 09 54 02 65 6E 48";"...T.enH" “3.298”;“34513.478”;“E”;“C060041”;“5”;“65 6C 6C 6F 21”;“你好!” “3.299”;“34513.724”;“E”;“C040041”;“8”;“01 2E 54 F7 C3 59 42 3E”;“..T..YB>” “3.300”;“34513.724”;“E”;“C040041”;“2”;“00 F1”;“..”
記事全体を表示
imx93 m33 sdk ethosu_apps_rpmsg:如何获取模型结果? 在 SDK 版本 26 中。ethosu_apps_rpmsg 没有显示从 ethosu 获取结果的方法。 怎么做? InferenceProcess::InferenceJob job("job", networkModel, ifm, ofm, expectedOutput, pmuEventConfig, 0, &ethosu_drv, 0, nullptr, 0, 0, false); job.invalidate(); InferenceProcess::InferenceProcess inferenceprocess(inferenceProcessTensorArena, TENSOR_ARENA_SIZE); bool failed = inferenceprocess.runJob(job); job.clean(); 我该如何获得这个计算结果? Re: imx93 m33 sdk ethosu_apps_rpmsg: how to get the result of model? 推理结果位于传递给作业的OFM 缓冲区中——即构造函数中的 ofm。expectedOutput 仅适用于 SDK 示例的验证路径;它不是计算结果的返回位置。i.MX93 Ethos-U 流程将完成的推理结果写入输出特征图缓冲区,并且在 Linux/RPMSg 流程中,在 OFM 填充后将响应发送回 Cortex-A。 对于你的代码来说,最重要的部分是: InferenceProcess::InferenceJob job( “工作” 网络模型 ifm, ofm, // <-- 输出缓冲区 expectedOutput, // <-- 参考/验证数据,而非结果 pmuEventConfig, 0, &ethosu_drv, 0,     nullptr, 0, 0, 错误的); job.invalidate(); bool failed = inferenceprocess.runJob(job); job.clean(); 如果(!失败) { // 从 ofm 读取结果 } 从概念上讲: 复制 如果(!失败) {     // 输出张量 0 uint8_t *outputData = ofm[0].data(); size_t outputSize = ofm[0].size(); for (size_t i = 0; i < outputSize; i++)     { PRINTF("ofm[%u] = %d\r\n", i, outputData[i]);     } } 根据 ofm 的具体 SDK 类型,访问方式可能会略有不同,但规则相同:从传递给 InferenceJob 的同一个 ofm 缓冲区读取。 如果您的模型输出是量化的,则 ofm 中的字节通常是 int8_t 或 uint8_t,而不是最终的浮点值。使用输出张量的量化参数进行转换: float real_value = (quantized_value - zero_point) * scale; 例如,对于 int8 输出: int8_t *out = reinterpret_cast (ofm[0].data()); for (size_t i = 0; i < outputSize; i++) { float y = (static_cast (out[i]) - output_zero_point) * output_scale; PRINTF("out[%u] q=%d real=%f\r\n", i, out[i], y); } 以RPMsg为例,请记住 ethosu_apps_rpmsg 主要是一个 Cortex-M33 固件服务。它接收来自 Cortex-A 的请求,运行 Ethos-U 作业,将结果写入 OFM 缓冲区,并通过 RPMsg 返回响应。在 Cortex-A/Linux 端,记录的 API 路径是访问 OFM 缓冲区,例如 inf->getOfmBuffers()。 所以: M33 端直接测试: runJob() 成功完成后读取 ofm[0]。 A-core/Linux RPMsg 推理:从 Linux 端推理对象的 OFM 缓冲区获取输出,而不是从 ethosu_apps_rpmsg 控制台输出获取输出。 不要将 expectedOutput 用作结果;它只是样本用于比较正确性的黄金/参考输出。 您的计算结果已在 ofm 中;成功运行 runJob(job) 后,读取 ofm[0] 并根据模型的输出张量类型对其进行解释/反量化。
記事全体を表示
Wi-Fi Chipset MCU Control Hello everyone, I was browsing for some wifi modules with AP+STA functionalities. I found some modules from NXP, Microchip, and Infineon for example. However, most of the modules are only enabling wifi interface through PCIe and with advanced OS. However, I found a set of MCU+Wifi module from infineon called AIROC CYW55X (series). Do you have any experience integrating and controlling these type of modules? If so, can you share different modules that you have used before and were able successful to integrate with an external MCU? My intention is not to offload data to the microcontroller, only to control for example the mesh and AP capabilities. I want to use a MCU (STM for example) to perform some inference on some basic AI models while controlling the wifi module. Thanks guys Re: Wi-Fi Chipset MCU Control Hi, If you are planning to use an STM32 as the host MCU, I would recommend using an IW612 or IW416 as the Wi-Fi device. In that case, you can use the STM32 CMSIS-Pack drivers available in the Software section of the product webpage. These devices use SDIO for Wi‑Fi and UART for Bluetooth. For the IW612, if you also plan to use 802.15.4, the host interface is SPI. Another option is to use an RW612 as a Network Co-Processor (NCP). Since the RW612 is a wireless MCU, it can handle the wireless connectivity stack while the external MCU focuses on the application. Regards, Daniel Re: Wi-Fi Chipset MCU Control As Daniel mentioned, RW612 would be a good solition. It is  3-radio, and also has a built-in Ethernet MAC - ideal for making network enabled applications. RW612 can do AP+STA. So you can use that MCU for both network-control and your AI functionality. If you're looking for a ready-to-build project with Web UI and built-in OTA, take a look at https://mongoose.ws/wizard/ Start a project, choose empty directory, choose FRDM-RW612 as a board target,  set WiFi options, click "generate" , open project  in Xpresso, build & flash, attach your serial console, and you'll have it running in a minute. Could you elaborate more on what exactly you're building?
記事全体を表示
SJA1110: 適合性試験に合格しませんでした こんにちは、NXPコミュニティの皆さん、 現在、 SJA1110スイッチをgPTPブリッジとしてTSNネットワークの検証を行っています。 検証中に、2つのテストで予期せぬ結果が報告された。これらの結果がSJA1110構成、gPTPの実装、あるいは期待されるブリッジ挙動に関連しているのか、指針をいただけるとありがたいです。 GuilhermeS32G_0-1787109626023.pngGuilhermeS32G_0-1787109626023.pngGuilhermeS32G_0-1787109626023.png GuilhermeS32G_1-1787109759224.pngGuilhermeS32G_1-1787109759224.pngGuilhermeS32G_1-1787109759224.png GuilhermeS32G_2-1787109860338.pngGuilhermeS32G_2-1787109860338.pngGuilhermeS32G_2-1787109860338.png これらの結果をどのように解釈すればよいかについて、ご助言いただければ大変ありがたいです。 よろしくお願いします。 Re: SJA1110: Conformance tests not passing こんにちは、 @GuilhermeS32G さん、 お問い合わせはアプリケーションエンジニアに転送され、さらなる調査のため対応いたします。進捗状況については随時ご報告いたします。 次回からは、 https://support.nxp.com/s/?language= en_US でサポートチケットを開いてください。ここで二人きりで話し合うことができます。 よろしくお願いいたします。 パベル
記事全体を表示
JCOP4開発ツールとドキュメントを入手してください NXP JCOP4スマートカード向けのカスタムJava Cardアプレットの開発を開始します。 弊社が現在保有しているカードは以下のとおりです。 NXP S32 デバッグエントリ認証器 JCOP4 アプレットバージョン 01.04.01 私たちは、JCOP4プラットフォーム上で自社のJava Cardアプレットを構築、読み込み、インストール、テストするために必要な開発ツールとドキュメントを探しています。 具体的には、以下のアクセスを求めています: JCOPツール JCシェル JCOP4プラットフォームのエクスポートファイル Java Card開発ライブラリ サンプルアプレットプロジェクト CAPファイルの作成、ロード、インストール、および削除手順 GlobalPlatformカードマネージャー情報 サポートされているJava CardおよびGlobalPlatformバージョンの確認 NXPの Common JCOP Tools のトレーニング・マテリアルを見つけ ました。そこにはJCOP Tools EclipseプラグインとJCShellが参照されています。 https://www.nxp.com/design/design-center/training/TIP-SECURE-ELEMENT-COMMON-JCOP-TOOLS-PART-1 何かアドバイスをいただけますか: JCOP4開発用のJCOP Tools/JCShellパッケージをどのように入手できますか? 秘密保持契約(NDA)またはその他の承認は必要ですか? 対応するJCOP4開発ライブラリ、プラットフォームファイル、ドキュメントはどこで入手できますか? これらのリソースがNXPから直接提供されなくなった場合、それらを入手する推奨方法は何ですか? Re: Obtain JCOP4 development tools and documentation こんにちは、 @sameer_chawla さん。 あなたの調子が良いといいのですが。 申し訳ありませんが、これはJCOPデバイスに関する適切なサポートルートではありません。JCOPを支援するリソースは非常に限られているため、残念ながらセキュリティレベルの関係で情報にアクセスできません。 この部分についてさらにサポートが必要な場合は、 お近くの代理店にお問い合わせください。 ご迷惑をおかけして大変申し訳ございません。 よろしくお願いいたします。 エドゥアルド。
記事全体を表示
iMX95上のMIPI-DSIにはクロック出力がありません Software summary ------------------------------------------------------------ Bootloader: U-Boot Kernel version: 6.6.138-7.6.1-devel #1 SMP PREEMPT Fri May 8 12:46:27 UTC 2026 Kernel command line: root=PARTUUID=74fae1d2-02 ro rootwait console=tty1 console=ttyLP0,115200 Distro name: NAME="TDX Wayland with XWayland Upstream" Distro version: VERSION_ID=7.6.1-devel-20260728203137-build.0 Distro variant: - Hostname: bmr-verdin-imx95-08828817 ------------------------------------------------------------ Hardware info ------------------------------------------------------------ HW model: Toradex Verdin iMX95 WB on Verdin Development Board Toradex version: 0089 V1.0C Serial number: 08828817 Processor arch: aarch64 ------------------------------------------------------------ Toradex Verdin iMX95を搭載したカスタムキャリアボードをご用意しております。私たちはカスタマイズを施したToradexマルチメディアイメージを実行しています(ベースとなるデバイスツリーはimx95-verdin-wifi-dev.dtsです)。 YES Optoelectronicsのカスタムディスプレイ(7インチ、1024x600)があり、これはMIPI-DSI 4レーンインターフェースです。Raydium rm67191のデバイスツリーとドライバーモデルを出発点として使いました。起動時に電源のタイミングを正しく設定でき、バックライトも点灯し、BISTも動作します(ディスプレイにピンがあり、BIST用に高く引くことができます)ので、ディスプレイは動作していると思います。 4つのデータレーンはすべてシングルエンド動作を示しているが、CLKラインは0ボルトである。電源投入時、CLKラインは約200mVから始まり、その後少しの間1.2ボルトまで上昇しますが、その後0ボルトになり、0ボルトのままになります。 Verdin SoMが動作するのは、RVT70HSDNWCA0ディスプレイをMallowキャリアボードで動作させることができるからです。 ドライバーはプローブを経→てパネルを追加→モードを取得し→準備→有効にします。 もしかして、どこかで時計の電源を入れ忘れたり、設定し忘れたりしているのでしょうか? CLK信号(P信号とN信号の両方)が0ボルトの場合、それはどういう意味ですか? 私のオーバーレイはこんな感じです /dts-v1/; /plugin/; &mipi_dsi { status = "okay"; panel@0 { compatible = "yes,ytc700tlbd"; reg = <0>; reset-gpios = <&gpio2 17 1>;//GPIO_ACTIVE_HIGH>; power-supply = <&reg_vcc_disp_dvdd>; backlight = <&lvds_backlight>; dsi-lanes = <4>; port@0 { reg = <0>; panel1_in: endpoint { remote-endpoint = <&mipi1_panel_out>; }; }; }; ports { /delete-node/ port@1; port@1 { reg = <1>; mipi1_panel_out: endpoint { remote-endpoint = <&panel1_in>; }; }; }; }; &displaymix_irqsteer { status = "okay"; }; &dpu { assigned-clocks = <&scmi_clk 80>, //IMX95_CLK_DISP1PIX>, <&scmi_clk 18>, //IMX95_CLK_VIDEOPLL1_VCO>, <&scmi_clk 19>; //IMX95_CLK_VIDEOPLL1>; assigned-clock-parents = <&scmi_clk 19>; //IMX95_CLK_VIDEOPLL1>; assigned-clock-rates = <0>, <3360000000>, <420000000>; status = "okay"; }; &pixel_interleaver { #address-cells = <1>; #size-cells = <0>; status = "okay"; channel@0 { reg = <0>; status = "okay"; }; }; &display_pixel_link { status = "okay"; }; 誰か、iMX95でMIPI-DSIディスプレイを動作させられたか確認できますか? どんな助けでもいただければ幸いです! グラフィックスとディスプレイ Linux マルチメディア Re: MIPI-DSI on an iMX95 no clock output また、私の時計の概要は以下のようになっています。 cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb mipiphypllbypas 0 0 0 420000000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 46666666 0 0 50000 Y 4b400000.display-controller pix dispapb 4 5 0 133333333 0 0 50000 Y 4b400000.display-controller apb camapb 3 6 0 133333333 0 0 50000 Y 4acf0000.dsi pclk dispocram 1 1 0 400000000 0 0 50000 Y 4b400000.display-controller ocram dispaxi 1 1 0 800000000 0 0 50000 Y 4b400000.display-controller axi mipitestbyte 0 0 0 24000000 0 0 50000 Y deviceless no_connection_id mipiphypllref 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi ref mipiphycfg 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi cfg Re: MIPI-DSI on an iMX95 no clock output 目標ピクセルクロックは51.2MHzです。 Re: MIPI-DSI on an iMX95 no clock output こんにちは、 @dastotzさん 画面のピクセルクロックを共有してください。 よろしくお願いします、 志明 Re: MIPI-DSI on an iMX95 no clock output こんにちは、 @dastotzさん 51.2 MHzのピクセルクロックの場合、PLL VCOは1792 MHz 、PLL OUTは256 MHzである必要があります。デバイスツリーを更新してからログを確認し、PLL VCO、PLL OUT、ピクセルクロックが正しいか確認できます。 よろしくお願いします、 志明 Re: MIPI-DSI on an iMX95 no clock output 高速ビデオデータはまだ入手できていない。CLK信号は0ボルトのままであり、DATA信号はシングルエンド(差動出力なし)です。 MIPI-DSIインターフェースが高速モードに切り替わるには、ディスプレイがLPMコマンドに応答する必要があるのでしょうか? Re: MIPI-DSI on an iMX95 no clock output 更新した時計の概要は以下のとおりです。 cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display|video" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb videopll1_vco 1 1 0 2520000000 0 0 50000 Y deviceless no_connection_id videopll1 1 1 0 252000000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 50400000 0 0 50000 Y 4b400000.display-controller pix 4acf0000.dsi pix mipiphypllbypas 0 0 0 252000000 0 0 50000 Y deviceless no_connection_id dispapb 4 5 0 133333333 0 0 50000 Y 4b400000.display-controller apb camapb 3 6 0 133333333 0 0 50000 Y 4acf0000.dsi pclk dispocram 1 1 0 400000000 0 0 50000 Y 4b400000.display-controller ocram dispaxi 1 1 0 800000000 0 0 50000 Y 4b400000.display-controller axi mipitestbyte 0 0 0 24000000 0 0 50000 Y deviceless no_connection_id mipiphypllref 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi ref mipiphycfg 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi cfg Re: MIPI-DSI on an iMX95 no clock output こんにちは、 @dastotzさん 51.2MHzのピクセルクロックを得るには、この設定を試してみてください。 &dpu { assigned-clocks = <&scmi_clk IMX95_CLK_DISP1PIX>, <&scmi_clk IMX95_CLK_VIDEOPLL1_VCO>, <&scmi_clk IMX95_CLK_VIDEOPLL1>; assigned-clock-parents = <&scmi_clk IMX95_CLK_VIDEOPLL1>; assigned-clock-rates = <0>, <3276800000>, <409600000>; }; root@imx95evk:~# cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display|video" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb videopll1_vco 1 1 0 3276800000 0 0 50000 Y deviceless no_connection_id videopll1 1 1 0 409600000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 51200000 0 0 50000 Y 4b400000.display-controller pix 4acf0000.dsi pix しかし、NXPは1024x600の解像度を検証していません。NXPのlinux-imxリポジトリへの最近のコミットによると、NXPが検証したモードは以下の通りです。 3 static bool imx95_dsi_is_mode_clock_valid(unsigned int clock) 914 { 915 switch (clock) { 916 case 25200: /* 640x480@60Hz (VGA) */ 917 case 27000: /* [email protected], [email protected] (NTSC) */ 918 case 27027: /* 480p@60Hz, 720x480@60Hz */ 919 case 40000: /* 800x600@60Hz (SVGA) */ 920 case 54000: /* [email protected], 720x576@100Hz */ 921 case 54054: /* 480p@120Hz, 720x480@120Hz */ 922 case 65000: /* 1024x768@60Hz (XGA) */ 923 case 74176: /* [email protected], [email protected] */ 924 case 74250: /* 720p@60Hz, 1280x720@60Hz */ 925 case 108000: /* [email protected], 1280x1024@60Hz (SXGA) */ 926 case 108108: /* 480p@240Hz, 720x480@240Hz */ 927 case 132000: /* 1024x768@120Hz (XGA) */ 928 case 148352: /* [email protected], [email protected] */ 929 case 148500: /* 1080p@60Hz, 1920x1080@60Hz */ 930 case 297000: /* 2160p@30Hz, 1080p@120Hz, 3840x2160@30Hz (4K) */ 931 return true; 932 default: 933 return false; 934 } 935 } こちらの公開コードによると: https://github.com/nxp-imx/linux-imx/blob/lf-6.18.20-2.0.0/drivers/gpu/drm/bridge/imx/imx95-mipi-dsi.c#L883 クロックが検証済みクロックでない場合、DSIはクロックを生成しません。このラインを修正して、モード>クロック=51200の状態でMODE_OKに戻すように試みることもできます。 よろしくお願いします、 志明 Re: MIPI-DSI on an iMX95 no clock output おっしゃる通りです。まさにそれが問題でした!オシロスコープにクロック信号が表示されるかどうか試してみたくて、それらのクロックレートのうちの1つを選んでみたところ、ちゃんと表示されました!最終的な設定が確定し、希望するクロックレートに近づいたら、この投稿を更新してこれを解決策として承認します。ご助力ありがとうございます! Re: MIPI-DSI on an iMX95 no clock output 問題はimx95-mipi-dsi.cでした。私が使っていたドライバ(パッチがいくつか入っていない古いものでした)。ご提案いただいたドライバーにパッチを当て、DPUをご提案の設定に設定したら、51.2MHzのピクセルクロックを得ました。ご協力ありがとうございました!
記事全体を表示
iMX95 上的 MIPI-DSI 没有时钟输出 Software summary ------------------------------------------------------------ Bootloader: U-Boot Kernel version: 6.6.138-7.6.1-devel #1 SMP PREEMPT Fri May 8 12:46:27 UTC 2026 Kernel command line: root=PARTUUID=74fae1d2-02 ro rootwait console=tty1 console=ttyLP0,115200 Distro name: NAME="TDX Wayland with XWayland Upstream" Distro version: VERSION_ID=7.6.1-devel-20260728203137-build.0 Distro variant: - Hostname: bmr-verdin-imx95-08828817 ------------------------------------------------------------ Hardware info ------------------------------------------------------------ HW model: Toradex Verdin iMX95 WB on Verdin Development Board Toradex version: 0089 V1.0C Serial number: 08828817 Processor arch: aarch64 ------------------------------------------------------------ 我们有一块定制的载板,上面装有 Toradex Verdin iMX95。我们正在运行经过定制的 Toradex 多媒体映像(基本设备树为 imx95-verdin-wifi-dev.dts)。 我们有一块来自 YES Optoelectronics 的定制显示屏(7 英寸 1024x600),它采用 MIPI-DSI 4 通道接口。我以raydium rm67191的设备树和驱动程序模型为起点。我能够在启动时正确设置电源时序,背光灯会亮起,并且 BIST 功能正常(显示屏上有一个引脚可以拉高以启动 BIST),所以我认为显示屏是可以正常工作的。 所有四个数据通道均显示单端活动,但时钟线为 0 伏。上电时,CLK 线电压从大约 200mV 开始,然后短暂地升至 1.2 伏,但随后降至 0 伏并保持在 0 伏。 我知道 Verdin SoM 可以工作,因为我可以让 RVT70HSDNWCA0 显示屏在 Mallow 载板上工作。 驱动程序依次执行探测 → 添加面板 → 获取模式 → 准备 → 启用。 我是不是忘了打开或设置某个时钟? 当 CLK 信号(P 和 N 均为 0 伏)为 0 伏时,这意味着什么? 我的叠加层看起来像 /dts-v1/; /plugin/; &mipi_dsi { status = "okay"; panel@0 { compatible = "yes,ytc700tlbd"; reg = <0>; reset-gpios = <&gpio2 17 1>;//GPIO_ACTIVE_HIGH>; power-supply = <&reg_vcc_disp_dvdd>; backlight = <&lvds_backlight>; dsi-lanes = <4>; port@0 { reg = <0>; panel1_in: endpoint { remote-endpoint = <&mipi1_panel_out>; }; }; }; ports { /delete-node/ port@1; port@1 { reg = <1>; mipi1_panel_out: endpoint { remote-endpoint = <&panel1_in>; }; }; }; }; &displaymix_irqsteer { status = "okay"; }; &dpu { assigned-clocks = <&scmi_clk 80>, //IMX95_CLK_DISP1PIX>, <&scmi_clk 18>, //IMX95_CLK_VIDEOPLL1_VCO>, <&scmi_clk 19>; //IMX95_CLK_VIDEOPLL1>; assigned-clock-parents = <&scmi_clk 19>; //IMX95_CLK_VIDEOPLL1>; assigned-clock-rates = <0>, <3360000000>, <420000000>; status = "okay"; }; &pixel_interleaver { #address-cells = <1>; #size-cells = <0>; status = "okay"; channel@0 { reg = <0>; status = "okay"; }; }; &display_pixel_link { status = "okay"; }; 有人能确认一下他们是否成功让 MIPI-DSI 显示器与 iMX95 配合使用吗? 若能得到任何帮助,我将不胜感激! 图形与显示 Linux 多媒体 Re: MIPI-DSI on an iMX95 no clock output 另外,这是我的时钟概览。 cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb mipiphypllbypas 0 0 0 420000000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 46666666 0 0 50000 Y 4b400000.display-controller pix dispapb 4 5 0 133333333 0 0 50000 Y 4b400000.display-controller apb camapb 3 6 0 133333333 0 0 50000 Y 4acf0000.dsi pclk dispocram 1 1 0 400000000 0 0 50000 Y 4b400000.display-controller ocram dispaxi 1 1 0 800000000 0 0 50000 Y 4b400000.display-controller axi mipitestbyte 0 0 0 24000000 0 0 50000 Y deviceless no_connection_id mipiphypllref 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi ref mipiphycfg 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi cfg Re: MIPI-DSI on an iMX95 no clock output 目标像素时钟频率为 51.2MHz。 Re: MIPI-DSI on an iMX95 no clock output 嗨@dastotz 请分享一下屏幕像素时钟。 此致, 志明 Re: MIPI-DSI on an iMX95 no clock output 以下是我更新后的时钟汇总信息。 cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display|video" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb videopll1_vco 1 1 0 2520000000 0 0 50000 Y deviceless no_connection_id videopll1 1 1 0 252000000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 50400000 0 0 50000 Y 4b400000.display-controller pix 4acf0000.dsi pix mipiphypllbypas 0 0 0 252000000 0 0 50000 Y deviceless no_connection_id dispapb 4 5 0 133333333 0 0 50000 Y 4b400000.display-controller apb camapb 3 6 0 133333333 0 0 50000 Y 4acf0000.dsi pclk dispocram 1 1 0 400000000 0 0 50000 Y 4b400000.display-controller ocram dispaxi 1 1 0 800000000 0 0 50000 Y 4b400000.display-controller axi mipitestbyte 0 0 0 24000000 0 0 50000 Y deviceless no_connection_id mipiphypllref 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi ref mipiphycfg 1 1 0 24000000 0 0 50000 Y 4acf0000.dsi cfg Re: MIPI-DSI on an iMX95 no clock output 目前仍无高速视频数据。CLK 信号保持在 0 伏,DATA 信号为单端(无差分输出)。 MIPI-DSI 接口切换到高速模式时,显示器是否需要响应 LPM 命令? Re: MIPI-DSI on an iMX95 no clock output 嗨@dastotz 对于51.2 MHz像素时钟,PLL VCO 应为1792 MHz ,PLL OUT 应为256 MHz 。您可以尝试更新设备树,然后检查日志,看看 PLL VCO、PLL OUT 和像素时钟是否正确。 此致, 志明 Re: MIPI-DSI on an iMX95 no clock output 您说得完全正确,问题就在这里!我选择其中一个时钟频率只是想看看示波器能不能显示时钟信号,结果现在显示出来了!一旦我将时钟频率调整到接近理想值,我将更新此帖子并确认最终设置,并将其视为解决方案。非常感谢您的帮助! Re: MIPI-DSI on an iMX95 no clock output 嗨@dastotz 请尝试使用此配置以获得 51.2MHz 像素时钟。 &dpu { assigned-clocks = <&scmi_clk IMX95_CLK_DISP1PIX>, <&scmi_clk IMX95_CLK_VIDEOPLL1_VCO>, <&scmi_clk IMX95_CLK_VIDEOPLL1>; assigned-clock-parents = <&scmi_clk IMX95_CLK_VIDEOPLL1>; assigned-clock-rates = <0>, <3276800000>, <409600000>; }; root@imx95evk:~# cat /sys/kernel/debug/clk/clk_summary | grep -iE "mipi|dsi|dpu|display|video" ldbpll_vco 0 0 0 4800000000 0 0 50000 Y 4b400000.display-controller ldb_vco ldb_pll_div7 0 0 0 342857142 0 0 50000 Y 4b400000.display-controller ldb videopll1_vco 1 1 0 3276800000 0 0 50000 Y deviceless no_connection_id videopll1 1 1 0 409600000 0 0 50000 Y deviceless no_connection_id disp1pix 1 1 0 51200000 0 0 50000 Y 4b400000.display-controller pix 4acf0000.dsi pix 但恩智浦半导体并未验证1024x600分辨率。根据最近提交到 NXP linux-imx 代码库的内容,NXP 验证的模式如下: 3 static bool imx95_dsi_is_mode_clock_valid(unsigned int clock) 914 { 915 switch (clock) { 916 case 25200: /* 640x480@60Hz (VGA) */ 917 case 27000: /* [email protected], [email protected] (NTSC) */ 918 case 27027: /* 480p@60Hz, 720x480@60Hz */ 919 case 40000: /* 800x600@60Hz (SVGA) */ 920 case 54000: /* [email protected], 720x576@100Hz */ 921 case 54054: /* 480p@120Hz, 720x480@120Hz */ 922 case 65000: /* 1024x768@60Hz (XGA) */ 923 case 74176: /* [email protected], [email protected] */ 924 case 74250: /* 720p@60Hz, 1280x720@60Hz */ 925 case 108000: /* [email protected], 1280x1024@60Hz (SXGA) */ 926 case 108108: /* 480p@240Hz, 720x480@240Hz */ 927 case 132000: /* 1024x768@120Hz (XGA) */ 928 case 148352: /* [email protected], [email protected] */ 929 case 148500: /* 1080p@60Hz, 1920x1080@60Hz */ 930 case 297000: /* 2160p@30Hz, 1080p@120Hz, 3840x2160@30Hz (4K) */ 931 return true; 932 default: 933 return false; 934 } 935 } 根据此处的公开代码: https://github.com/nxp-imx/linux-imx/blob/lf-6.18.20-2.0.0/drivers/gpu/drm/bridge/imx/imx95-mipi-dsi.c#L883 如果时钟未经验证,DSI 将不会生成时钟。您可以尝试修改此行,使其在mode->clock = 51200时返回MODE_OK 。 此致, 志明 Re: MIPI-DSI on an iMX95 no clock output 问题出在 imx95-mipi-dsi.c 文件上。我之前用的驱动程序(版本比较旧,缺少一些补丁)。我按照你的建议安装了驱动程序,并将DPU设置调整为你建议的参数,最终获得了51.2MHz的像素时钟频率。谢谢你的帮助!
記事全体を表示
获取 JCOP4 开发工具和文档 我们正在为NXP JCOP4智能卡开发定制的Java Card小程序。 我们现有的卡片包括: NXP S32 调试输入验证芯片 联合行动计划4 小程序版本 01.04.01 我们正在寻找在 JCOP4 平台上构建、加载、安装和测试我们自己的 Java Card 小程序所需的开发工具和文档。 具体而言,我们需要获得以下权限: JCOP工具 JCShell JCOP4平台导出文件 Java Card 开发库 示例小程序项目 CAP 文件版本、加载、安装和删除说明 全球平台卡管理器信息 确认支持的 Java Card 和 GlobalPlatform 版本 我们找到了 NXP 提供的通用 JCOP 工具培训资料,其中提到了 JCOP 工具 Eclipse 插件和 JCShell: https://www.nxp.com/design/design-center/training/TIP-SECURE-ELEMENT-COMMON-JCOP-TOOLS-PART-1 请问您能否提供以下建议: 如何获取用于 JCOP4 开发的 JCOP Tools/JCShell 软件包? 是否需要签署保密协议或其他批准文件? 我们可以在哪里获取相应的 JCOP4 开发库、平台文件和文档? 如果这些资源不再由 NXP 直接提供,那么获取这些资源的推荐途径是什么? Re: Obtain JCOP4 development tools and documentation 你好@sameer_chawla , 希望你一切都好。 非常抱歉,这不是解决任何与 JCOP 设备相关问题的正确支持途径。由于支持 JCOP 的资源受到严格限制,很遗憾,由于安全级别的原因,我无法访问相关信息。 如需这方面的进一步支持,请联系您当地的代理商。 由此给您带来的不便,我深表歉意。 问候, 爱德华多。
記事全体を表示
SJA1110:一致性测试未通过 NXP社区的各位朋友,大家好! 我们目前正在验证使用SJA1110 交换机作为 gPTP 网桥的TSN 网络。 验证过程中,两项测试报告了意外结果。我们希望能得到一些指导,以了解这些结果是否与 SJA1110 配置、gPTP 实现或预期的桥接行为有关。 GuilhermeS32G_0-1787109626023.pngGuilhermeS32G_0-1787109626023.pngGuilhermeS32G_0-1787109626023.png GuilhermeS32G_1-1787109759224.pngGuilhermeS32G_1-1787109759224.pngGuilhermeS32G_1-1787109759224.png GuilhermeS32G_2-1787109860338.pngGuilhermeS32G_2-1787109860338.pngGuilhermeS32G_2-1787109860338.png 非常感谢您能就如何解读这些结果提供一些指导。 谢谢! Re: SJA1110: Conformance tests not passing 你好@GuilhermeS32G , 您的查询已转交给我们的应用工程师进行进一步调查。我会随时向您汇报进展情况。 下次请通过https://support.nxp.com/s/?language=en_US提交支持工单我们可以私下讨论的地方。 顺祝商祺! 帕维尔
記事全体を表示