Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
RCONからブート こんにちは、 現在SAF8444チップを使用しているのですが、RCONに関する詳細について確認する必要があります。リファレンス・マニュアルでは、Parallel RCONから起動できることがわかり、RCON[15:0]はBOOT_CFG1[15:0]と1対1に対応しています。しかし、マニュアルではRCON[7]とRCON[8]に対応するピンしか見つかりません。他のピンの定義が見つかりません。この情報はどこで探せばいいですか? 返信をお願いします。ありがとうございます! Re: Boot from RCON こんにちは、 SAF84xxはまだNPI(新製品導入)段階の試作機です。サポートをいただける場合は、NXPの担当者にご連絡ください。 一般公開されると、一般サポートが質問に答えることができます。 よろしくお願いいたします。 ピーター
View full article
TagInfoのオクトパスカードの現在の値 AndroidのTagInfoアプリを使ってOctopusの公共交通カードをスキャンしているのですが、現在の金額の計算方法にバグがあるのではないかと思います。 調べてみたところ、2017年10月以降、カードの入金金額が35ドルから50ドルに変更されることが関係しているようです。アプリはメモリ上に0x00000357を表示しますが、これは855 - 350 = 505、つまり50.5ドルです。しかし、実際の値は855 - 500 = 355、つまり35.5ドルです。 もしこの情報をアプリ開発者に転送して、将来のアップデートで計算結果を示せるようにしていただけるとありがたいです。ありがとう。 はじめに Re: TagInfo current value for Octopus cards こんにちは、 @chfoo さん、 ご意見ありがとうございます。残念ながら、これはNXPのポートフォリオに含まれていないサードパーティのアプリケーションや製品に関するものであり、当社のサポート範囲外です。 ご迷惑をおかけして申し訳ございません。 BR ハビブ
View full article
TagInfo current value for Octopus cards I am using the TagInfo app on Android to scan an Octopus public transport card and I think there may be a bug in how it calculates the current value. After doing some research, I think it involves the deposit amount changing from $35 to $50 for cards after October 2017. The app shows 0x00000357 in memory, which is 855 - 350 = 505 or $50.5, but the actual value is 855 - 500 = 355 or $35.5. If this info could be forwarded to the app developers so it can show the updated calculation in a future update, it would be appreciated. Thank you. Getting Started Re: TagInfo current value for Octopus cards Hello @chfoo, Thank you for your comments. Unfortunately, this concerns a third-party application and product that are not part of NXP's portfolio, therefore, this is outside the scope of the support we can provide. I apologize for any inconvenience this may cause. BR Habib
View full article
SPC5200CVR400B 的状态和可靠性查询 尊敬的恩智浦技术支持团队: 我们的产品中使用了SPC5200CVR400B集成电路。 请您确认一下: • SPC5200CVR400B 是处于活跃状态、过时状态还是已停产状态。 • 如果该设备仍在生产,是否有关于该设备数据/软件损坏的已知问题报告? • 预防或诊断此类损坏的推荐方法。 • 如果设备已过时或即将报废,则提供合适的替代/备用零件。 如果您能就可能的根本原因和纠正措施提供指导,我们将不胜感激。 感谢您的支持。 此致, 阿比吉特·索兰基 Re: Status and Reliability Inquiry for SPC5200CVR400B 你好, 基于 MPC5200 的功能集(Linux MPU、MMU、以太网、USB、CAN、工业级温度、中等性能): 最佳整体 ARM 替代品 LS1021A 工业网络/面向未来的LS1028A 成本最低的现代 ARM 迁移方案 i.MX93 顺祝商祺! Peter Re: Status and Reliability Inquiry for SPC5200CVR400B 请提供备用集成电路的零件编号。 Re: Status and Reliability Inquiry for SPC5200CVR400B 你好, SPC5200CVR400B 是处于活跃状态、过时状态还是已停产状态。 该产品已停产。 如果这款设备仍在生产的话。该设备是否已报告任何与数据/软件损坏相关的已知问题? 无 预防或诊断此类损坏的推荐方法。 我不知道有任何已发布的硅勘误表专门指出 SPC5200CVR400B 的通用数据或软件损坏机制。 要调查潜在的腐败问题,您可以: 使用校验和或 CRC 执行 RAM 和闪存完整性检查。 如果设备已过时或即将报废,则可使用合适的替代/备用零件。 i.MX 应用处理器 - 推荐用于需要持续产品支持的新设计。 顺祝商祺! Peter
View full article
SPC5200CVR400Bのステータスおよび信頼性に関する照会 親愛なるNXPサポートチームへ、 私たちは製品にSPC5200CVR400B ICを使用しています。 確認いただけますか: • SPC5200CVR400Bが現役、廃止、または廃止されているかどうか。 ・このデバイスがまだ製造中かどうか。このデバイスに関してデータやソフトウェア破損に関する既知の問題が報告されているかどうか。 ・このような腐敗を防止または診断するための推奨方法 ・機器が旧式化している場合、または耐用年数が近づいている場合は、適切な代替部品または交換部品を用意してください。 考えられる根本原因と是正措置についてのご助言をいただければ大変ありがたいです。 ご支援ありがとうございます。 よろしくお願いします、 アビジート・ソランキ Re: Status and Reliability Inquiry for SPC5200CVR400B こんにちは、 MPC5200機能セット(Linux MPU、MMU、イーサネット、USB、CAN、インダストリアル温度、適度な性能)に基づいて以下の通りです: Best overall ARM replacement                    LS1021A インダストリアル networking / future-proof           LS1028A Lowest cost modern ARM migration           i.MX93 よろしくお願いいたします。 ピーター Re: Status and Reliability Inquiry for SPC5200CVR400B 代替ICの部品番号を教えてください。 Re: Status and Reliability Inquiry for SPC5200CVR400B こんにちは、 SPC5200CVR400Bが現在も使用されているか、旧式化されているか、製造中止になっているか。 この製品は寿命切れです。 この機器がまだ製造されている場合。このデバイスに関してデータやソフトウェア破損に関する既知の問題が報告されているかどうか。 なし このような破損を防止または診断するための推奨方法。 私は、SPC5200CVR400Bに関する公開されたシリコンエラタムで、一般的なデータまたはソフトウェア破損メカニズムを具体的に特定しているものについては存じません。 *(Note: The target text preserves the original polite nuance while accurately inserting "ソフトウェア" as requested by the glossary term, adjusting the surrounding phrasing minimally for grammatical coherence.)* Reintegrated target: 私は、このSPC5200CVR400Bに関する一般的なデータまたはソフトウェア破損メカニズムを特定したシリコンエラタムは知りません。 潜在的な汚職問題を調査するには、以下の方法があります: チェックサムまたはCRCを使用して、RAMとフラッシュメモリの整合性チェックを実行します。 機器が旧式化している場合、または耐用年数が近づいている場合に適した代替部品。 i.MXアプリケーション・プロセッサ - 継続的な製品サポートを必要とする新しいデザインへの推奨パス。 よろしくお願いいたします。 ピーター
View full article
PN7642 - ULPCD evaluation in NFC Cockpit This article describes how to evaluate ULPCD feature together with PN7642 EVK (OM27642EVK) and NFC Cockpit.  1// Disable DC-DC in EEPROM  OM27642EVK does not required any HW changes for ULPCD (**). User is only required to change the following settings in EEPROM  (disable DC-DC converter). Address: 0x0000 (Secure_Lib_Config) Value: 0x21  Reset the board after writing the value.  **Note: To ensure an accurate and reliable ULPCD evaluation—particularly for ULPCD current measurements. We strongly recommend implementing the following hardware modifications on the OM27642EVK. Note: New revision of the board already have R4=DNP, R8=0Ω. Kindly check this on your board. 2//Set required ULPCD settings in EEPROM  ULPCD VDDPA -> Typically 1.5V. If the HF attenuator is 0x00, increase e.g. to 1.8V. Since the detection range does not significantly depend on the power level, there is no need to set VDDPA above 2 V. Higher VDDPA results in increased current consumption in ULPCD, but does not significantly improve detection performance. RF On Guard time -> This value can be reduced to the minimum -> 5.2 us RSSI Guard time -> Recommended value is 20-25 Try different RSSI Guard Time settings and evaluate the RSSI jitter as described here. The objective is to identify the Guard Time that minimizes RSSI jitter, ideally achieving a variation of only 1 to 2 RSSI units. RSSI Threshold -> Typically 4~6 Number of RSSI samples -> Typically -> 0 (4 rounds) Important note: If VDDPA is set to a value other than 1.5 V, special consideration is required.   See an example bellow:  3// Perform "Reads HF Attenuator"  Once the required ULPCD settings is set (Guard times, Threshold....). Then User has to perform "Reads HF Attenuator". Make sure that the "HF Attenuator" option is checked.  As written above, the value must not be 0x00. If so, increase VDDPA. 4// Perform ULPCD Calibration and check RSSI Value  For OM27642EVK, the RSSI value for unloaded antenna is typically around 1400dec - 1600dec. 5//Enter ULPCD mode  User can enter the ULPCD mode. The board will again be connected once the load change is detected (e.g. NFC card or smartphone in the antenna proximity). 6// Typical detection performance for 65 mm x 65 mm Antenna tuned to 35Ω. MIFARE DESFire EV3: Class 1 Antenna  ICODE SLIX: Class 1 Antenna  ICODE 3: Class 6 Antenna  NFC Controller Solutions
View full article
Solution to FRDM-A-S32K144 and FRDM-A-S32K144N not detected during initial USB-C connection Overview The FRDM-A-S32K144 and FRDM-A-S32K144N boards ship with a factory-programmed demonstration application that showcases USB Power Delivery functionality through an RGB LED example. Under certain USB-C host and cable combinations, the factory application may prevent the on-board OpenSDA/K20 debugger from completing its initialization sequence and becoming available to the host system. When this occurs, the board may appear unresponsive and cannot be programmed through the standard OpenSDA interface. This article describes how to identify the condition and provides a simple one-time recovery procedure. This behavior is limited to the following boards: FRDM-A-S32K144 FRDM-A-S32K144N No other FRDM boards are affected. Symptoms The behavior is typically observed during the initial programming session while the factory application is still present. During the first use of the board, users may observe the following: The board is connected using a USB-C to USB-C cable. The operating system does not detect the board. No OpenSDA programming interface appears. Debugging and programming tools cannot establish communication. The OpenSDA/K20 status LED (D4) remains OFF. Although the board may not be detected by the host computer, the factory application may continue running on the target MCU. FRDM-A-S32K144 OpenSDA/K20 debugger status LED (D4) not working as expectedFRDM-A-S32K144 OpenSDA/K20 debugger status LED (D4) not working as expected     Issue The factory image included on the affected boards performs USB Power Delivery negotiation during startup. On certain USB-C host configurations, this initialization sequence may prevent the on-board OpenSDA/K20 debugger from reaching its operational state. As a result, the debugger does not enumerate on the host PC and programming access is not available. Once the factory image is replaced with a user application, the startup sequence changes and the OpenSDA/K20 debugger initializes normally. Workaround Materials required FRDM-A-S32K144 or FRDM-A-S32K144N board USB-A to USB-C data cable Host computer with an available USB port S32 Design Studio IDE 3.6.5 or above Any valid S32K144 application image If the board is not detected through a USB-C to USB-C connection during the initial programming session: Disconnect the board from the host PC Reconnect the board using a USB-A to USB-C cable Verify that the D4 LED is illuminated solid orange Program in S32 Design Studio any valid application to the S32K144 MCU, such as: S32K144 GPIO LED Blink example Any S32K144 Application Code Hub demonstration project Any S32K144 custom user application Wait for the programming operation to complete successfully The newly programmed application replaces the factory image and restores normal debugger operation.   Expected operation Once the workaround described above is applied successfully, the board LED D4 is illuminated with a solid orange light, and the device manager operating system detects the board as a COM port and a PEMicro OpenSDA Debug Driver. FRDM-A-S32K144 OpenSDA/K20 debugger status LED (D4) working as expectedFRDM-A-S32K144 OpenSDA/K20 debugger status LED (D4) working as expected FRDM-A-S32K144 correctly detected by Windows device managerFRDM-A-S32K144 correctly detected by Windows device manager After a successful programming session: USB-C to USB-C cables can be used normally. Debugging functions operate as expected. Programming functions operate as expected. No additional configuration is required. The recovery process only needs to be performed once. Subsequent application updates can be performed using either USB-C to USB-C or USB-A to USB-C connections (if no PD is needed). Troubleshooting checklist If D4 is OFF, the OpenSDA/K20 debugger has not completed initialization. Check the next list before applying the turnaround again:  Verify that D4 is solid orange. Confirm the USB cable supports data transfer. Check that the operating system detects the OpenSDA device. Reprogram the board using a USB-A to USB-C connection. Test with an alternative USB port or host PC. Choose another project application to flash. If D4 is still OFF, the OpenSDA/K20 debugger may be damaged or present another error. Please review the S32K Knowledge Base or the FRDM community for more information. Any support, information, and technology (“Materials”) provided by NXP are provided AS IS, without any warranty express or implied, and NXP disclaims all direct and indirect liability and damages in connection with the Material to the maximum extent permitted by the applicable law. NXP accepts no liability for any assistance with applications or product design. Materials may only be used in connection with NXP products. Any feedback provided to NXP regarding the Materials may be used by NXP without restriction. If your FRDM-A-S32K144 or FRDM-A-S32K144N is not detected during its first USB-C connection, this article explains the cause, how to verify OpenSDA/K20 status, and the steps to quickly enable normal operation.
View full article
MCX-N9XX 评估板 1.8V 电源存在问题。 我有一个 MCXN9XX 评估板,需要从 P1_16 (J17) 和 P1_17 (J18) 焊盘上获得 1.8V 输出,以便与工作电压为 1.8V 的外部 I3C 集线器进行 I3C 通信。为了在焊盘上获得 1.8V 电压,我重新排列了跳线,以便在 MCU_PWR 轨上获得 1.8V 电压,该轨也为 VDD_MCU 供电。执行此配置后,“MCUXpresso”工具无法发现目标设备,并显示“无法与内核通信”(屏幕截图附后)。 请问谁能帮我确定正确的跳线设置,以便在烧录代码的同时,能够在 IO 焊盘 J16 和 J17 上获得 1.8V 电压? 错误截图: 电路板设计 FRDM 培训 HW-开源 MCX N
View full article
S32k322マイクロコントローラにHSEファームウェアをインストールします。 NXPサポートチームの皆さん、こんにちは。 私は S32K322 マイクロコントローラのセキュリティ実装に取り組んでおり、AESのセキュリティ運用と乱数生成(TRNG)のためにHSE(ハードウェアセキュリティエンジン)モジュールを活用する必要があります。 以下の情報を提供していただけますか: S32K322 (2MBフラッシュメモリ搭載)専用に構成された、公式HSEファームウェアインストール例プロジェクト。 S32K322 HSEファームウェアのセットアップに必要な標準リンカスクリプト(.ld)、IVTオフセット、およびメモリ境界設定。 S32K322派生製品と互換性のある正確なHSE-Bファームウェアのバイナリパッケージバージョンの確認。 Re: HSE Firmware install in S32k322 microcontroller . こんにちは、 @Ranjith_kumar HSEデモ事例をご紹介します。 https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples プロジェクト S32K344_HSE_FW_INSTALL は他の S32K3 派生モデルに簡単に移植可能です。 しかし、どのプロジェクトでもHSEファームウェアをインストールできます。以下の手順を実行するだけで済みます。 - OTP UTEST メモリの 0x1B00_0000 に HSE 機能フラグをプログラムします。これは通常のフラッシュプログラミングで「手動」で行うこともできます(前述のS32K344_HSE_FW_INSTALLで示されています)。または、ブート設定ワードでビットを設定しFW_USAGE_FLAG_PROGRAM SBAFによって自動的に行うこともできます。この自動プログラミング機能は、SBAFバージョン0.15.0以降でのみ利用可能ですのでご注意ください。非常に古い機器をお持ちの場合は、動作しない可能性があり、手動でのプログラミングが必要になります。 ピンク色のファイルをフラッシュメモリのどこかに書き込み、オフセット0x2CにあるIVTにピンク色のファイルへのポインタを追加する。 その後、MCUをリセットするだけです(FULL_MEMファームウェアの場合は2回、AB_SWAPファームウェアなら3回)で完了です。 低レベルでは、次のようになります。 これは、いくつかのアプリケーションのIVTであり(複数の場所が使用可能で、この場合はデータフラッシュが使用されます)、FW_USAGE_FLAG_PROGRAMが設定され、FWイメージへのポインタが含まれています。 ピンク色のファイルには0x480000がプログラムされています。 リセット後、UTESTでフィーチャーフラグが自動的にプログラムされ、HSEファームウェアがインストールされます(HSE GPRレジスタのビット0(アドレス0x4039_C028)が設定されます)。 S32K344_HSE_FW_INSTALLでは、機能フラグはソフトウェアによってプログラムされます(main.cファイルを参照)。 ポインタは、ファイル boot_header.c 内の IVT に追加されます。 ピンク色のファイルは、S32K344_flash_full_mem.ld または S32K344_flash_ab_swap.ld 内のプロジェクトにリンクされています。必要な構成によって異なります。 詳細については、HSE-Bファームウェアリファレンスマニュアルの以下のリソースをご覧ください。2.8: 表17.BCWコンテンツ 表119。BCWビットマッピング 表118。IVT構造 表143。HSE_CONFIG_GPR3 (0x4039C028) のステータスビット 標準RTDプロジェクトをお持ちの場合、プロジェクトにこれを実装する方法は次のとおりです。 - startup_cm7.s を開くファイルと、オフセット0x2Cにあるピンク色のファイルへのポインタを追加します。 - オフセット0x4のIVT内にあるブート構成ワードのビット9を設定します。 そして、リンカーファイル(例えば「linker_flash_s32k322.ld」)に移動します。そしてProject S32K344_HSE_FW_INSTALLで見られるのと同じ方法でピンクファイルをリンクしてください。 それだけです。プロジェクトをビルドしてMCUに読み込み、デバイスを何度かリセットするだけです。 S32K322用HSEファームウェアの最新製品版を入手する方法: S32K3標準ソフトウェアへ進む: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D 「オートモーティブ SW - S32K3 - HSEファームウェア」を選択してください ここでS32K3x2およびS32K3x4の0.2.55.0を検索してください: HSE_FW_S32K342_0.2.55.0_D2512.exe をダウンロードしてください。このバージョンは S32K322 にも対応しています。 最後に、LauterbachのTrace32を使うと、添付スクリプトを使ってファームウェアをインストールできます。デフォルトの位置情報方法を使っています。 よろしくお願いいたします。 ルーカス Re: HSE Firmware install in S32k322 microcontroller . こんにちは、 @lukaszadrapa さん。 サポートありがとうございます。ご指示いただいた通り、S32K322デバイスにHSEファームウェアを正常にインストールすることができました。 新しいピンク色のファイルを使用してHSEファームウェアを新しいバージョンにアップデートする必要があるのですが、問題が発生しています。私のコードはHSEファームウェアアップデートフロー(HSE_SRV_ID_FIRMWARE_UPDATE)に基づいており、サービスは以下を返します。 HSE_SRV_RSP_VERIFY_FAILED (0x55A5A164) 設定の詳細: - デバイス:S32K322 - ファームウェアバリアント: FULL_MEM - 現在インストールされているHSE FWバージョン:添付画像 - 新しいピンク色のファイル: リンカーファイルに追加 - 更新モード: ONE_SHOT - 新しいピンク色の画像の位置: 0x00400000 HSEファームウェアを更新するための例コードがあれば教えてもらえますか? #define HSE_SRV_RSP_VERIFY_FAILED ((hseSrvResponse_t)0x55A5A164UL)
View full article
Grypto用のS32K312mcal構成が、対応するメモリに存在しません。 こんにちは: このコードは、ドライバとしてmcal(RTD 5.0)とHSE(HyperSE 0.6.0)を使用しています。mcalによって生成されたコードを使用してgryptoサービスを呼び出すと、すべて応答が返されます。 #define HSE_SRV_RSP_NOT_SUPPORTED (( hseSrvResponse_t ) 0xAA55A11EUL ) /**< @brief サポートされていない操作または機能です。 */ 次に、HSEインターフェースを直接呼び出してみたところ、問題なく動作しました。なぜでしょうか?対応するデータは「no」フィールドに格納されるべきではないでしょうか? キャッシュ可能な場所を地図上で確認したところ… これがこのセクションに何も表示されない理由でしょうか?また、これは私が普段使っているものとは違います。 それは重要ですか? このメッセージをご覧になった方は、私の質問にお答えいただき、mcalコードを正しく使用する方法についての解決策をご提示ください。 どうもありがとうございます。 Re: S32K312mcal配置Grypto不在对应的内存 こんにちは、@li5920o Crypto_43_HSE_MemMap.h によると、CRYPTO_43_HSE_START_SEC_VAR_SHARED_CLEARED_UNSPECIFIED_NO_CACHEABLE は変数を .mcal_shared_bss に強制的に書き込むはずです。 マップファイルによると、そのようなセクションはリンカーファイルに存在します。 コンパイラの設定に何らかの問題があるようです。すべてのコンパイラ設定のスクリーンショットを撮ってもらえますか?特に: Cコンパイラ - 最適化 Cコンパイラ - その他 Cコンパイラ - プリプロセッサ コンソールからのビルドログや、プロジェクト内の*.argsファイルも送ってもらえますか?ビルド前にプロジェクトをクリーンアップしてください。ありがとう。 よろしくお願いいたします。 ルーカス Re: S32K312mcal配置Grypto不在对应的内存 こんにちは、ご返信ありがとうございます。 添付ファイルには、引数ファイルとスクリーンショットが含まれています。 ビルドログは/console_logフォルダにあります。 構成設定は基本的に変更されていません。唯一の変更点はおそらくGCCのバージョンです(変更の理由:最初にダウンロードしたとき、GCCバージョン11.4をインストールするとコンパイルされたファイルの実行に頻繁に問題が生じたため、代わりにバージョン10.2をダウンロードしました)。 ご返信いただき、改めてありがとうございました。 Re: S32K312mcal配置Grypto不在对应的内存 こんにちは、ご返信ありがとうございます。 ご提案いただいたとおりOSの最適化を有効にしましたが、問題は解決しませんでした。 そこで、以下の2つの設定オプションを無効にしようとしていたところ、偶然にも`-fdata-sections`を無効にすることで正しいデータ設定が得られることを発見しました。CMAC署名と検証は既にテスト済みで、成功しています。 さて、もう一つ疑問なのは、このオプションを無効にすることが解決策だとしたら、システム全体に他に何か影響が出るだろうか、ということです。 デフォルトで有効になっているようです。 ご返信いただき、誠にありがとうございます。 Re: S32K312mcal配置Grypto不在对应的内存 こんにちは、@li5920o 返信が遅れて申し訳ありません。こちらでは祝日がありました。 最適化レベル-O0を使っているのがわかります。しかし、RTDは-Osレベルで開発およびテストされました。 -Os オプションの使用を強くお勧めします。-O0が似たような問題を引き起こす可能性があることはすでに見ました。この構成が効果があるか試してみていただけますか? よろしくお願いいたします。 ルーカス
View full article
LX2160ARDB: SDカードブート こんにちは、 「DIMMスロットを備えた標準LX2160ARDBの場合、DDRレジスタは、TF-A BL2ステージ(ddr_init.c)によって処理される、インストールされているDIMMからSPDを読み取ることによって自動的に構成されます。」U-Bootではありません。LX2160ARDBでカスタムDIMMを使用する場合のみ、ATFソースを変更する必要があります。 私たちはRDBに付属のDIMMを使用しています。 SDカードからのブートのために、以下のコマンドを使用してbl2_sd.pblとfip.binというファイルを生成しました。 bl2_sd.pbl $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make PLAT=lx2160ardb bl2 BOOT_MODE=sd pbl RCW=../rcw/lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2200_750_3200_19_5_2.bin fip.bin $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make PLAT=lx2160ardb fip BOOT_MODE=sd BL33=u-boot/u-boot.bin デフォルトの ddr_init.c を atf フォルダに生成し、ブート用に bl2_sd.pbl ファイルを SD カードの blk 8 に、fip.bin ファイルを blk 800 にロードしました。 ログは以下のとおりです。 => qixis_reset sd => 注意: BL2: v2.4(リリース):LSDK-21.08-0-g340b20bcb お知らせ:BL2:ビルド日時:2026年8月5日 11:29:23 注意:UDIMM 18ADF2G72AZ-3G2E1 注意:DDR PMUハードウェアバージョン-0x1210 エラー: ファームウェア33の読み込みに失敗しました。 エラー:ファームウェアの読み込みに失敗しました(エラーコード -2) エラー: DDR PHYレジスタの計算に失敗しました。 PHYハンドシェイクタイムアウト、ddr_dsr2 = 0 エラー:トレーニングエラーを検出:0x100 エラー:エラー:タイムアウトD_INIT待っています。 エラー: DDRレジスタへの書き込みに失敗しました エラー: DDRCプログラミングエラー エラー: DDR初期化に失敗しました。 注意: platform_def.h で定義されている DRAM0 のサイズが間違っています。 エラー:BL2:画像ID 3(-2)の読み込みに失敗しました 認証失敗 DDR初期化のためにDDR関連のファームウェアファイルをロードしたり、bl2ソースに何らかの変更を加えたりする必要があるでしょうか? どうぞご指導ください。 よろしくお願い申し上げます。 評価ボード Re: LX2160ARDB: SD Card Booting fip_ddr_all.bin:8つのDDR4 PHYトレーニングバイナリ全てを含みます:UDIMM 1D/2D IMEM+DMEMおよびRDIMM 1D/2D IMEM+DMEM fip_ddr.bin:UDIMM+RDIMMのフルコレクションではなく、より限定された/選択されたDDR PHYファームウェアセットを備えたDDR FIP。具体的な選択は、LSDK/TF-Aのビルド構成によって異なります。   カスタムボードの場合、DDR PHYファームウェアを再利用できますが、そのボードのメモリとレイアウトに合わせてDDRを設定する必要があります。 Re: LX2160ARDB: SD Card Booting こんにちは、イーピンさん ご指導ありがとうございます。DDR fipイメージをSDカードの0x4000番地に展開し、DDRの初期化が正常に完了しました。 LSDKには、 distro/build_lx2160ardb-rev2/tmp/deploy/images/lx2160ardb-rev2/ddr-phy/の下にfip_ddr_binとfip_ddr_all.binというデフォルトイメージがあります。これらをロードしてDDR初期化が行われることを確認しました。 両方の画像の違いと、なぜそれが必要なのか説明していただけますか? カスタムボードを使う場合、DDRの初期化に同じイメージを使うことはできますか? Re: LX2160ARDB: SD Card Booting DDR PHYファームウェアイメージをSDカードに展開してください。 まず、以下の手順に従ってPHYファームウェアイメージを生成してください。 $ cd atf/tools/fiptool $ git clone https://github.com/NXP/ddr-phy-binary.git $ cd ddr-phy-binary/ $ git checkout LSDK-21.08 -b LSDK-21.08 $ cd .. $ ./fiptoolcreate --ddr-immem-udimm-1d ddr-phy-binary/lx2160a/ddr4_pmu_train_imem.bin --ddr-immem-udimm-2d ddr-phy-binary/lx2160a/ddr4_2d_pmu_train_imem.bin --ddr-dmmem-udimm-1d ddr-phy-binary/lx2160a/ddr4_pmu_train_dmem.bin --ddr-dmmem-udimm-2d ddr-phy-binary/lx2160a/ddr4_2d_pmu_train_dmem.bin --ddr-immem-rdimm-1d ddr-phy-binary/lx2160a/ddr4_rdimm_pmu_train_imem.bin --ddr-immem-rdimm-2d ddr-phy-binary/lx2160a/ddr4_rdimm2d_pmu_train_imem.bin --ddr-dmmem-rdimm-1d ddr-phy-binary/lx2160a/ddr4_rdimm_pmu_train_dmem.bin --ddr-dmmem-rdimm-2d ddr-phy-binary/lx2160a/ddr4_rdimm2d_pmu_train_dmem.bin fip_ddr_all.bin DDR fipイメージであるfip_ddr_all.binはatf/tools/fiptoolに生成されます。 fip_ddr_all.bin を SD カードの u-boot ディレクトリに配置してください。 => tftp 82000000 fip_ddr_all.bin => mmc write 82000000 0x04000 ここで、blk_cntは、ファイルサイズに応じて書き込む必要があるSDカード内のブロック数を指します。例えば、 TFTPサーバーからファイルをロードし、転送されたバイト数が1077157(106fa5 hex)の場合、blk_cntが計算されます。 1077157/512 = 2103 (837 16進数) この例では、mmc write コマンドは次のようになります。=> mmc write 82000000 0x04000 837 Re: LX2160ARDB: SD Card Booting こんにちは、イーピンさん 説明ありがとうございます。 LSDK 21.08をインストールしましたが、atf、rcw、u-boot、ddr-phyフォルダは既に存在しますが、ソースコードが利用できません。そこで、すべてのソースをgitでクローンしました。 SDカードの完全なブートのために、以下のファイルをデプロイしました。 1. bl2_sd.pbl        2. fip.bin                                       - 0x800 3.fip_ddr_all.bin                      - 0x4000 4. mc_lx2160a_10.40.0.itb         - 0x5000 5. dpc-usxgmii.dtb- 0x7000 6. fitImage--5.15.71+git0+95448dd0dc-r0-lx2160ardb-rev2-20260310070404.bin-  0x8000 SDカード(64GB)に以下のようにパーティションを作成しました。 1. /dev/mmcblk0p1 - セクター 409600 からセクター 42352640 2. /dev/mmcblk0p2 - セクター 42352640 からセクター 121534463 そして、u-boot の bootargs コマンドを使用して、rootfs "fsl-image-networking-full-lx2160ardb-rev2-20260310091147.rootfs.tar.gz" を /dev/mmcblk0p1 パーティションにマウントします。 => setenv bootcmd 'setenv bootargs root=/dev/mmcblk0p1 rw rootwait console=ttyAMA0,115200; mmc dev 0; mmc read 0x90000000 0x8000 0x14000; bootm 0x90000000' これは正しいやり方でしょうか?もっと良い方法があれば教えてください。 また、LSDK では、カーネルと dtb 用の fitImage バイナリ ファイルを生成する方法、例えば distro/build_lx2160ardb-rev2/tmp/deploy/images/lx2160ardb-rev2/ ディレクトリにある fitImage のようなファイルを生成する方法、例えば fitImage--5.15.71+git0+95448dd0dc-r0-lx2160ardb-rev2-20260310070404.bin のようなファイルを生成する方法。 Re: LX2160ARDB: SD Card Booting 新しい質問については新しいスレッドでお答えいただけますか? 同僚は私の休暇のおかげで引き続きあなたをサポートします。 Re: LX2160ARDB: SD Card Booting オーケーイーピン サポートありがとうございます
View full article
HSE Firmware install in S32k322 microcontroller . Hi NXP Support Team, I am working on a security implementation on the S32K322 microcontroller and need to utilize the HSE (Hardware Security Engine) module for AES security operations and random number generation (TRNG). Could you please provide: An official HSE firmware installation example project configured specifically for the S32K322 (2 MB Flash). The standard Linker Script (.ld), IVT offset, and memory boundary settings required for S32K322 HSE firmware setup. Confirmation on the exact HSE-B firmware binary package version compatible with the S32K322 derivative. Re: HSE Firmware install in S32k322 microcontroller . Hi @Ranjith_kumar  We provide HSE DemoExamples: https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples It contains project S32K344_HSE_FW_INSTALL which can be quite easily ported to other S32K3 derivatives. But you can use any project to install HSE firmware. It’s just necessary to do following steps: - program HSE feature flag in OTP UTEST memory at 0x1B00_0000. This can be done either “manually” by normal flash programming (this is shown in mentioned S32K344_HSE_FW_INSTALL) or this can be done automatically by SBAF if you set FW_USAGE_FLAG_PROGRAM bit in boot configuration word. Notice that this automatic programming feature is available only on SBAF version 0.15.0 and higher. If you have some very old device, it may not work and manual programming will be required. - program pink file somewhere to flash memory and add pointer to the pink file to IVT at offset 0x2C.   Then just reset the MCU (2x in case of FULL_MEM firmware, 3x in case of AB_SWAP firmware) and that’s it. At low level, it looks like this: This is IVT of some application (several locations can be used, data flash is used in this case) which has FW_USAGE_FLAG_PROGRAM set and which contains pointer to FW image: The pink file is programmed to 0x480000: After the resets, the feature flag is automatically programmed in the UTEST and HSE firmware is installed (bit 0 in HSE GPR register at 0x4039_C028 is set): In the S32K344_HSE_FW_INSTALL, the feature flag is programmed by the software – see main.c file. The pointer is added to IVT in file boot_header.c. And pink file is linked to the project in S32K344_flash_full_mem.ld or in S32K344_flash_ab_swap.ld, depending on required configuration. For details, see following resources in HSE-B firmware reference manual rev. 2.8: Table 17. BCW content Table 119. BCW bit mapping Table 118. IVT structure Table 143. Status Bits on HSE_CONFIG_GPR3 (0x4039C028) How to implement it in your project if you have standard RTD project: - open startup_cm7.s file and add pointer to pink file at offset 0x2C: - set bit 9 in Boot Configuration Word which is also in IVT at offset 0x4: - and then go to the linker file (like “linker_flash_s32k322.ld”) and link the pink file in the same way as you can see in project S32K344_HSE_FW_INSTALL. That’s all, just build the project, load it to MCU and reset the device several times. How to get latest production version of HSE firmware for S32K322: Go to S32K3 Standard Software: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D Select “Automotive SW - S32K3 - HSE Firmware” Here search for 0.2.55.0 for S32K3x2 and S32K3x4: Download HSE_FW_S32K342_0.2.55.0_D2512.exe – this one covers also S32K322. And the last thing - if you use Trace32 from Lauterbach, you can use attached script to install the firmware. It uses default location method.  Regards, Lukas Re: HSE Firmware install in S32k322 microcontroller . Hi @lukaszadrapa, Thank you for your support. Following your guidance, I was able to install the HSE firmware successfully on my S32K322 device. I now need to update the HSE firmware to a newer version using a new pink file, and I'm running into a problem. I based my code on the HSE firmware update flow (HSE_SRV_ID_FIRMWARE_UPDATE), and the service returns: HSE_SRV_RSP_VERIFY_FAILED (0x55A5A164) Setup details: - Device:S32K322 - Firmware variant: FULL_MEM  - Currently installed HSE FW version: Attached the image - New pink file: Add into linker file - Update mode: ONE_SHOT  - Location of the new pink image: 0x00400000 Is there any example code to update the HSE firmware can you give me the guidence. #define HSE_SRV_RSP_VERIFY_FAILED ((hseSrvResponse_t)0x55A5A164UL)
View full article
MCX-N9XX評価ボードの1.8V電源の問題。 MCXN9XX評価ボードを持っていて、P1_16(J17)とP1_17(J18)パッドで1.8Vの出力を得る必要があり、外部I3Cハブ(1.8V)と通信を行う必要があります。パッドで1.8Vを得るために、ジャンパーを再配置して、VDD_MCUにも電源を供給するMCU_PWRレールで1.8Vが得られるようにします。この設定を実行すると、「MCUXpresso」ツールはターゲットを検出できず、「コアと通信できません」というエラーメッセージが表示されます(スクリーンショットは下記参照)。 コードを同時にフラッシュしながら、IOパッドのJ16とJ17で1.8Vを出せるように、正しいジャンパー設定を教えていただけませんか? エラー画面のスクリーンショット: ボード設計 FRDMトレーニング HW-Open-Source MCX N
View full article
The S32K312mcal configuration for Grypto is not in the corresponding memory. Hello: The code uses mcal (RTD 5.0) and HSE (HyperSE 0.6.0) as the driver. All calls to the grypto service using the code generated by mcal return a response. #define HSE_SRV_RSP_NOT_SUPPORTED (( hseSrvResponse_t ) 0xAA55A11EUL ) /**< @brief The operation or feature not supported. */ Then I tried calling the HSE interface directly and it worked fine. Why is that? Shouldn't the corresponding data be in the "no" field? In the cacheable locations, I see in the map... Could this be the reason why there's nothing in this section? Also, this is different from what I'm using. Does it matter? If you see this, please answer my question and provide a solution for how to use the mcal code correctly. Thank you very much Re: S32K312mcal配置Grypto不在对应的内存 Hi @li5920o  According to Crypto_43_HSE_MemMap.h, CRYPTO_43_HSE_START_SEC_VAR_SHARED_CLEARED_UNSPECIFIED_NO_CACHEABLE should force a variable into .mcal_shared_bss. According to your map file, such section exists in the linker file. It looks like some problem in compiler settings. Could you take a screenshot of all compiler settings? especially: C Compiler - Optimization C Compiler - Miscellaneous C Compiler - Preprocessor Could you also send me build log from the console and also all *.args files from your project? Clean the project before the build. Thanks. Regards, Lukas Re: S32K312mcal配置Grypto不在对应的内存 Hello, thank you very much for your reply. The attachment contains the args file and screenshots. The build logs are located in the /console_log folder. The configuration settings were basically unchanged; the only change was likely the GCC version (reason for the change: when I first downloaded it, installing GCC version 11.4 frequently caused issues with the compiled files failing to run, so I downloaded version 10.2 instead ). Thank you again for your reply. Re: S32K312mcal配置Grypto不在对应的内存 Hello, thank you for your reply. After enabling OS optimization as you suggested, the problem was not resolved. So, while trying to disable the following two configuration options, I accidentally discovered that disabling `-fdata-sections` resulted in the correct data configuration. I've already tested CMAC signing and verification, and they are successful. Now another question is, if disabling this option is the solution, will it have any other impact on the entire system? Because it seems to be enabled by default. Thank you very much for your reply. Re: S32K312mcal配置Grypto不在对应的内存 Hi @li5920o  I'm sorry for delayed response, we had some public holiday here.  I can see you use optimization level -O0. However, RTD was developed and tested with -Os level: It's highly recommended to use -Os. I already saw that -O0 could cause similar issues. Could you please try if this configuration makes a difference? Regards, Lukas
View full article
ソフトウェアの起動中に「同期中止」エラーが発生しました:「handler、esr 0x02000000」。 1. 断続的な障害 (数千回の再起動に 1 回発生): u-boot プロセス中にソフトウェアがフリーズします。障害メッセージは「Synchronous Abort」ハンドラ、esr 0x02000000 です。コードを逆アセンブルすると、次の呼び出しパスが明らかになります: initr_pci → pci_init → dm_pciauto_config_device (pci_auto.c:371) →dm_pci_hose_probe_bus (pci-uclass.c:607) → dm_pciauto_prescan_setup_bridge→ `bl dm_pci_get_bdf`と`ret`の後にポインタ0x8202fc20を取得しようとした際に例外が発生しました。問題は、`ret`が誤ったアドレスにアクセスしていたのに対し、`asr`呼び出しは単なるレジスタシフトであり、本質的にエラーが発生しやすい部分(メモリへのアクセスやジャンプ)がないことです。 2. このソフトウェアはCPLDを使用してウォッチドッグ(外部ウォッチドッグ)にアクティブに信号を送ります。問題発生後、PORESETを使用して外部ウォッチドッグをリセットしましたが、失敗しました。 Re: 软件启动时出现Synchronous Abort" handler, esr 0x02000000 こんにちは、 これは asr 命令自体のエラーではない可能性が高い。主な症状は、 ret 破損または不正なリンク レジスタから PC をロードし、 0x8202fc20 から命令フェッチが発生することです。したがって、異常終了は命令フェッチ時に検出された可能性が高いが、データ破損はそれよりも前に発生したと考えられる。 考えられる原因 まず、以下の分野を調査してください。 スタック破損またはスタックオーバーフロー PCI再帰の各レベルで sp をチェックしてください。 U-Bootスタック周辺にスタックカナリアを追加します。 PCI列挙が設定されたスタックサイズを超えていないことを確認してください。 無効な関数ポインタまたは破損したLR bl dm_pci_get_bdf 直前と直後の x30/LR 、 SP 、 PC 、およびすべてのレジスタをキャプチャします。 スタックに保存されているLRが、想定される戻りアドレスと一致していることを確認してください。 ソースコードだけでなく、正確なバイナリを逆アセンブルしてください。 メモリ破損 DDRの安定性、ECC/エラー状態、キャッシュ構成、およびDMAアクティビティを確認します。 一時的にデータキャッシュ、推測的アクセス、並行DMAを無効にしてください。 未使用のメモリとスタックを既知のパターンで埋め、障害発生後に破損状況を検査する。 PCIe構成アクセスタイムアウト/エラー 列挙前にリンクトレーニングとコントローラーリセットが完了していることを確認してください。 存在しないデバイスが、ハングアップしたり無効なデータを生成したりするのではなく、正当な完了エラーを返すことを確認してください。 PCI初期化を無効にしてテストしてください。問題が解消する場合は、PCIeハードウェア/構成のタイミングに注目してください。 外部ウォッチドッグリセットが失敗する理由 CPUが破損したコードを実行している間もCPLDからウォッチドッグに給料を受けられるため、システムがウォッチドッグのタイムアウトに到達できない可能性があります。また、 PORESET システムを障害状態に維持しているロジックをリセットしない可能性があり、あるいはそのパルスが必要な幅/シーケンスを満たさない可能性があります。 NXPのドキュメントでは外部ウォッチドッグロジックを独立したリセットトリガーとして説明していますが、その実際のリセットパスと影響を受けるドメインはSoCおよびボードリセットアーキテクチャで検証されなければなりません。 オシロスコープまたはロジックアナライザで確認してください。 CPLDウォッチドッグタイムアウト出力 SoCピンの PORESET HRESET / システムリセット PMICリセット入力/出力 リセット試行中の電源レール リカバリ後のリセット原因レジスタ 推奨デバッグ実験 ウォッチドッグポリシーを修正して以下のようにします: U-Bootは、制御された周期的な経路からのみ外部ウォッチドッグにデータを供給する。 PCI列挙中はウォッチドッグはフィードされません。 タイムアウトが発生すると、CPLDはSoC/PMICの仕様を満たすのに十分な長さのリセットパルスを生成します。 リセットの原因を記録し、故障したレジスタをSRAMまたは別の保持領域に保存します。 次に最も価値のある成果物は、 PC 、 LR/x30 、 SP 、 ESR 、 FAR 、 SPSR 、および保存された戻りアドレス周辺のスタックの内容を含む完全な例外ダンプです。そのデータがない場合、障害発生箇所は、破損した戻り値が検出された場所を特定するだけであり、破損が発生した場所を特定するものではありません。   よろしくお願いします。
View full article
LX2160ARDB: SD Card Booting Hi, "For the standard LX2160ARDB with DIMM slots, DDR registers are configured automatically by reading SPD from the installed DIMMs — handled by the TF-A BL2 stage (ddr_init.c), not U-Boot. You only need to modify the ATF source if using custom DIMMs on the LX2160ARDB." We are using the DIMMs provided with the RDB. And for SD card booting, I have generated the files - bl2_sd.pbl and fip.bin using the following commands bl2_sd.pbl $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make PLAT=lx2160ardb bl2 BOOT_MODE=sd pbl RCW=../rcw/lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2200_750_3200_19_5_2.bin fip.bin $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make PLAT=lx2160ardb fip BOOT_MODE=sd BL33=u-boot/u-boot.bin Generated the above images with default ddr_init.c in atf folder and loaded bl2_sd.pbl file at blk 8 and fip.bin at blk 800 of SD card for booting.. The log is as follows => qixis_reset sd => NOTICE: BL2: v2.4(release):LSDK-21.08-0-g340b20bcb NOTICE: BL2: Built : 11:29:23, Aug 5 2026 NOTICE: UDIMM 18ADF2G72AZ-3G2E1 NOTICE: DDR PMU Hardware version-0x1210 ERROR: Failed to load 33 firmware. ERROR: Loading firmware failed (error code -2) ERROR: Calculating DDR PHY registers failed. PHY handshake timeout, ddr_dsr2 = 0 ERROR: Found training error(s): 0x100 ERROR: Error: Waiting for D_INIT timeout. ERROR: Writing DDR register(s) failed ERROR: Programing DDRC error ERROR: DDR init failed. NOTICE: Incorrect DRAM0 size is defined in platform_def.h ERROR: BL2: Failed to load image id 3 (-2) Authentication failure should we load any ddr related firmware files for DDR initialization or any modifications to be done in bl2 source?? Kindly guide through this. Thank you Evaluation Board Re: LX2160ARDB: SD Card Booting fip_ddr_all.bin: Contains all 8 DDR4 PHY training binaries: UDIMM 1D/2D IMEM+DMEM and RDIMM 1D/2D IMEM+DMEM fip_ddr.bin: A DDR FIP with a more limited/selected set of DDR PHY firmware rather than the full UDIMM+RDIMM collection. The exact selection depends on the LSDK/TF-A build configuration.   For a custom board, you may reuse the DDR PHY firmware,  but you must configure DDR for that board’s memory and layout. Re: LX2160ARDB: SD Card Booting Hi Yiping, Thanks for guiding...I have deployed the DDR fip image into SD card at 0x4000 and DDR initialization done successfully In LSDK, there are default images fip_ddr.bin and fip_ddr_all.bin under distro/build_lx2160ardb-rev2/tmp/deploy/images/ lx2160ardb-rev2/ddr-phy/, i have loaded these and verified that DDR initialization happens Could you please explain the difference between both the images and why it is needed? If a custom board is used can we use the same image for DDR initialization or not? Re: LX2160ARDB: SD Card Booting Please deploy DDR PHY firmware image on SD card. First please refer to the following procedure to generate PHY firmware image. $ cd atf/tools/fiptool $ git clone https://github.com/NXP/ddr-phy-binary.git $ cd ddr-phy-binary/ $ git checkout LSDK-21.08 -b LSDK-21.08 $ cd .. $ ./fiptool create --ddr-immem-udimm-1d ddr-phy-binary/lx2160a/ddr4_pmu_train_imem.bin --ddr-immem-udimm-2d ddr-phy-binary/lx2160a/ddr4_2d_pmu_train_imem.bin --ddr-dmmem-udimm-1d ddr-phy-binary/lx2160a/ddr4_pmu_train_dmem.bin --ddr-dmmem-udimm-2d ddr-phy-binary/lx2160a/ddr4_2d_pmu_train_dmem.bin --ddr-immem-rdimm-1d ddr-phy-binary/lx2160a/ddr4_rdimm_pmu_train_imem.bin --ddr-immem-rdimm-2d ddr-phy-binary/lx2160a/ddr4_rdimm2d_pmu_train_imem.bin --ddr-dmmem-rdimm-1d ddr-phy-binary/lx2160a/ddr4_rdimm_pmu_train_dmem.bin --ddr-dmmem-rdimm-2d ddr-phy-binary/lx2160a/ddr4_rdimm2d_pmu_train_dmem.bin fip_ddr_all.bin The DDR fip image, fip_ddr_all.bin is generated at atf/tools/fiptool Please deploy fip_ddr_all.bin in SD card under u-boot. => tftp 82000000 fip_ddr_all.bin => mmc write 82000000 0x04000 Here, blk_cnt refers to number of blocks in SD card that need to be written as per the file size. For example, when you load file from the TFTP server, if the bytes transferred is 1077157 (106fa5 hex) , then blk_cnt is calculated as 1077157/512 = 2103 (837 hex) For this example, mmc write command will be: => mmc write 82000000 0x04000 837 Re: LX2160ARDB: SD Card Booting Would you please address your new questions in a new thread? My colleague will continue to support you because of my holiday. Re: LX2160ARDB: SD Card Booting Hi Yiping, Thanks for the explanation.. I have installed the LSDK 21.08 and the atf, rcw, u-boot, ddr-phy folders are already available but the source is not available. So cloned all the sources through git. For complete SD card booting, i have deployed the files as below 1. bl2_sd.pbl                               - 0x8 2. fip.bin                                      - 0x800 3. fip_ddr_all.bin                       - 0x4000 4. mc_lx2160a_10.40.0.itb         - 0x5000 5. dpc-usxgmii.dtb                    - 0x7000 6. fitImage--5.15.71+git0+95448dd0dc-r0-lx2160ardb-rev2-20260310070404.bin    -  0x8000 And I have made partitions in SD card(64GB) as below 1. /dev/mmcblk0p1                    - sector 409600 to sector 42352640 2. /dev/mmcblk0p2                  - sector 42352640 to sector 121534463 and mounting the rootfs "fsl-image-networking-full-lx2160ardb-rev2-20260310091147.rootfs.tar.gz" on /dev/mmcblk0p1 partition using the bootargs command at u-boot as  => setenv bootcmd 'setenv bootargs root=/dev/mmcblk0p1 rw rootwait console=ttyAMA0,115200; mmc dev 0; mmc read 0x90000000 0x8000 0x14000; bootm 0x90000000' is this the right approach do it?? Please suggest any better approach that can be done. And in LSDK how to generate the fitImage binary file for kernel and dtb, like the fitImages present in the LSDK under distro/build_lx2160ardb-rev2/tmp/deploy/images/lx2160ardb-rev2/ directory like fitImage--5.15.71+git0+95448dd0dc-r0-lx2160ardb-rev2-20260310070404.bin. Re: LX2160ARDB: SD Card Booting Ok Yiping Thanks for the support
View full article
Issue with 1.8V power on MCX-N9XX Evaluation Board. I have an MCXN9XX evaluation board from which I need to obtain 1.8V output at the P1_16 (J17) and P1_17 (J18) pads in order to perform I3C communication with an external I3C hub operating at 1.8V. To obtain 1.8V at the pads, I am re-arranging the jumpers to obtain 1.8V at the MCU_PWR rail which powers the VDD_MCU also. On performing this configuration, the 'MCUXpresso' tool is not able to discover the target and says, 'not able to communicate with the core' (screenshot attached below).  Can anyone please help me with the correct jumper settings so that I am able to get 1.8V at the IO pads J16 and J17 while flashing the code at the same time. Error Screenshot:  Board Design FRDM-Training HW-Open-Source MCXN
View full article
S32K312mcal配置Grypto不在对应的内存 您好: 使用的RTD5.0的mcal,HSE是0.6.0的驱动,这里使用mcal生成的代码调用grypto的服务全部返回 #define HSE_SRV_RSP_NOT_SUPPORTED               ((hseSrvResponse_t)0xAA55A11EUL)  /**< @brief The operation or feature not supported. */ 然后我使用直接调用hse的接口发现是正常的,这是为什么,是不是对应的数据应该在no cacheable的地方,我看map中 这个段里啥也没有,会是这个原因吗?另外这和我是使用的 有关系吗? 如果您看到麻烦回答一下我的疑问,给我可以正常使用mcal代码的解决方法 十分感谢 Re: S32K312mcal配置Grypto不在对应的内存 嗨@li5920o 根据 Crypto_43_HSE_MemMap.h,CRYPTO_43_HSE_START_SEC_VAR_SHARED_CLEARED_UNSPECIFIED_NO_CACHEABLE 应该强制将变量放入 .mcal_shared_bss 中。 根据您的映射文件,链接器文件中存在这样的部分。 看起来像是编译器设置出了问题。能否截取所有编译器设置的屏幕截图?尤其: C 编译器 - 优化 C 编译器 - 其他 C 编译器 - 预处理器 能否也把控制台的构建日志以及项目中的所有 *.args 文件发给我?版本前请清理项目。谢谢。 此致, Lukas Re: S32K312mcal配置Grypto不在对应的内存 您好,十分感谢您的回复 附件里面是args文件和截的图片 编译的构建日志放在/console_log文件夹下了 设置配置基本上没有修改过,应该只修改过GCC版本(修改原因:刚下载的时候,安装11.4的GCC经常出现编译的出的文件跑飞的问题,就又下载了10.2的版本) 再次感谢您的回复 Re: S32K312mcal配置Grypto不在对应的内存 您好,感谢回复 按照您说的开启Os优化之后,问题并没有得到解决 于是我在尝试关闭下面两个配置项的时候,偶然发现关闭 -fdata-sections 之后对应的数据正确的配置了。已经测试了一下CMAC的签名与验签是成功的了 那现在还有个问题是,如果关闭这个选项是解决方法的话,对于整个系统会不会有什么其他影响 因为好像是默认开启的 十分感谢您的回复 Re: S32K312mcal配置Grypto不在对应的内存 嗨@li5920o 很抱歉回复晚了,我们这里放了公共假期。 我看到您使用了优化级别 -O0。然而,RTD是在-Os水平下开发和测试的: 强烈建议使用 -Os。我之前已经看到 -O0 可能会导致类似的问题。请问您能否尝试一下这种配置,看看是否有所改善? 此致, Lukas
View full article
LX2160ARDB:SD卡启动 你好, “对于带有 DIMM 插槽的标准 LX2160ARDB,DDR 寄存器通过从已安装的 DIMM 读取 SPD 自动配置 - 由 TF-A BL2 阶段 (ddr_init.c) 处理,不是 U-Boot。只有在 LX2160ARDB 上使用自定义 DIMM 时才需要修改 ATF 源文件。 我们使用的是RDB提供的DIMM内存条。 为了实现 SD 卡启动,我使用以下命令生成了文件bl2_sd.pbl 和 fip.bin。 bl2_sd.pbl $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make PLAT=lx2160ardb bl2 BOOT_MODE=sd pbl RCW=../rcw/lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2200_750_3200_19_5_2.bin fip.bin $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make PLAT=lx2160ardb fip BOOT_MODE=sd BL33=u-boot/u-boot.bin 使用 atf 文件夹中的默认 ddr_init.c 生成上述镜像,并加载 SD 卡 blk 8 处的 bl2_sd.pbl 文件和 blk 800 处的 fip.bin 文件进行启动。 日志如下 => qixis_reset sd => 注意:BL2:v2.4(发布版):LSDK-21.08-0-g340b20bcb 通知:BL2:构建时间:2026年8月5日 11:29:23 注意:UDIMM 18ADF2G72AZ-3G2E1 注意:DDR PMU 硬件版本-0x1210 错误:加载 33 固件失败。 错误:固件加载失败(错误代码 -2) 错误:DDR PHY寄存器计算失败。 PHY握手超时,ddr_dsr2 = 0 错误:发现训练错误:0x100 错误:等待 D_INIT 超时。 错误:写入DDR寄存器失败 错误:DDRC编程错误 错误:DDR初始化失败。 注意:platform_def.h 中定义的 DRAM0 大小不正确。 错误:BL2:加载图像 ID 3 失败(-2) 身份验证失败 我们是否需要加载任何与DDR相关的固件文件来进行DDR初始化,或者需要在bl2源代码中进行任何修改? 请您指导一下。 谢谢 评估板 Re: LX2160ARDB: SD Card Booting fip_ddr_all.bin:包含全部 8 个 DDR4 PHY 训练二进制文件:UDIMM 1D/2D IMEM+DMEM 和 RDIMM 1D/2D IMEM+DMEM fip_ddr.bin:DDR FIP 包含更有限/精选的 DDR PHY 固件集,而不是完整的 UDIMM+RDIMM 集合。具体选择取决于 LSDK/TF-A 版本配置。   对于定制板,您可以重用 DDR PHY 固件,但必须根据该板的内存和布局配置 DDR。 Re: LX2160ARDB: SD Card Booting 嗨一平, 感谢您的指导……我已经将 DDR fip 镜像部署到 SD 卡的 0x4000 地址处,DDR 初始化已成功完成。 在 LSDK 中, distro/build_lx2160ardb-rev2/tmp/deploy/images/lx2160ardb-rev2/ddr-phy/ 目录下有默认镜像fip_ddr.bin和fip_ddr_all.bin ,我已经加载了这些镜像并验证了 DDR 初始化过程。 请问您能否解释一下这两张图片之间的区别以及为什么需要进行区分? 如果使用定制板,我们能否使用相同的镜像进行DDR初始化? Re: LX2160ARDB: SD Card Booting 请将 DDR PHY 固件镜像部署到 SD 卡上。 首先请参考以下步骤生成PHY固件映像。 $ cd atf/tools/fiptool $ git clone https://github.com/NXP/ddr-phy-binary.git $ cd ddr-phy-binary/ $ git checkout LSDK-21.08 -b LSDK-21.08 $ cd .. $ ./fiptool创建 --ddr-immem-udimm-1d ddr-phy-二进制/lx2160a/ddr4_pmu_train_imem.bin --ddr-immem-udimm-2d ddr-phy-二进制/lx2160a/ddr4_2d_pmu_train_imem.bin --ddr-dmmem-udimm-1d ddr-phy-二进制/lx2160a/ddr4_pmu_train_dmem.bin --ddr-dmmem-udimm-2d ddr-phy-二进制/lx2160a/ddr4_2d_pmu_train_dmem.bin --ddr-immem-rdimm-1d ddr-phy-二进制/lx2160a/ddr4_rdimm_pmu_train_imem.bin --ddr-immem-rdimm-2d ddr-phy-二进制/lx2160a/ddr4_rdimm2d_pmu_train_imem.bin --ddr-dmmem-rdimm-1d ddr-phy-二进制/lx2160a/ddr4_rdimm_pmu_train_dmem.bin --ddr-dmmem-rdimm-2d ddr-phy-二进制/lx2160a/ddr4_rdimm2d_pmu_train_dmem.bin fip_ddr_all.bin DDR fip 镜像文件 fip_ddr_all.bin 生成于 atf/tools/fiptool 目录下。 请在 u-boot 下将 fip_ddr_all.bin 部署到 SD 卡中。 => tftp 82000000 fip_ddr_all.bin => mmc 写入 82000000 0x04000 这里,blk_cnt 指的是根据文件大小需要在 SD 卡中写入的块数。例如,当 从 TFTP 服务器加载文件时,如果传输的字节数为 1077157(十六进制 106fa5),则计算 blk_cnt。 1077157/512 = 2103(十六进制 837) 在这个例子中,mmc write 命令将是:=> mmc write 82000000 0x04000 837 Re: LX2160ARDB: SD Card Booting 请您在新帖中提出您的新问题好吗? 由于我休假,我的同事会继续为您提供支持。 Re: LX2160ARDB: SD Card Booting 嗨一平, 谢谢你的解释。 我已经安装了 LSDK 21.08,atf、rcw、u-boot、ddr-phy 文件夹都已存在,但源代码不可用。于是我通过git克隆了所有源代码。 为了实现完整的 SD 卡启动,我已经按如下方式部署了文件。 1. bl2_sd.pbl - 0x8 2. fip.bin - 0x800 3.fip_ddr_all.bin                      - 0x4000 4. mc_lx2160a_10.40.0.itb         - 0x5000 5. dpc-usxgmii.dtb- 0x7000 6. fitImage--5.15.71+git0+95448dd0dc-r0-lx2160ardb-rev2-20260310070404.bin- 0x8000 我已在 SD 卡(64GB)上创建了如下分区。 1. /dev/mmcblk0p1                    - 扇区 409600 至扇区 42352640 2. /dev/mmcblk0p2                  - 扇区 42352640 至扇区 121534463 并使用 u-boot 的 bootargs 命令将根文件系统“fsl-image-networking-full-lx2160ardb-rev2-20260310091147.rootfs.tar.gz”挂载到 /dev/mmcblk0p1 分区。 -> setenv bootcmd 'setenv bootargs root=/dev/mmcblk0p1 rw rootwait console=ttyAMA0,115200; mmc dev 0; mmc read 0x90000000 0x8000 0x14000; bootm 0x90000000' 这样做对吗?请提出任何更好的方法。 在 LSDK 中,如何为内核和 dtb 生成 fitImage 二进制文件,就像 LSDK 中 distro/build_lx2160ardb-rev2/tmp/deploy/images/lx2160ardb-rev2/ 目录下的 fitImage 文件一样,例如 fitImage--5.15.71+git0+95448dd0dc-r0-lx2160ardb-rev2-20260310070404.bin。 Re: LX2160ARDB: SD Card Booting 好的一平 感谢您的支持
View full article
在S32k322微控制器中安装HSE固件。 您好,NXP支持团队, 我正在S32K322微控制器上进行网络安全实现,需要利用 HSE(硬件安全引擎)模块进行 AES 网络安全操作和随机数生成 (TRNG)。 请问您能否提供以下信息: 这是一个专门为S32K322 (2 MB Flash)配置的官方 HSE 固件安装示例项目。 S32K322 HSE 固件设置所需的标准链接器脚本 (.ld)、IVT 偏移和内存边界设置。 确认与 S32K322 衍生产品兼容的 HSE-B 固件二进制包的确切版本。 Re: HSE Firmware install in S32k322 microcontroller . 嗨@Ranjith_kumar 我们提供 HSE 演示示例: https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples 它包含项目 S32K344_HSE_FW_INSTALL,可以很容易地移植到其他 S32K3 衍生产品。 但是您可以使用任何项目来安装 HSE 固件。只需按照以下步骤操作即可: - 将 HSE 功能标志编程到 OTP UTEST 内存的 0x1B00_0000 处。这可以通过正常的闪存编程“手动”完成(如前面提到的 S32K344_HSE_FW_INSTALL 所示),或者如果在启动配置字中设置 FW_USAGE_FLAG_PROGRAM 位,则可以通过 SBAF 自动完成。请注意,此自动编程功能仅适用于 SBAF 版本 0.15.0 及更高版本。如果您使用的是非常老旧的设备,可能无法正常工作,需要手动编程。 - 将粉色程序文件写入闪存的某个位置,并在 IVT 的偏移量 0x2C 处添加指向该粉色程序文件的指针。 然后只需重置 MCU(如果是 FULL_MEM 固件则重置 2 次,如果是 AB_SWAP 固件则重置 3 次),就完成了。 从底层来看,它看起来像这样: 这是某个应用程序的 IVT(可以使用多个位置,本例中使用的是数据闪存),它设置了 FW_USAGE_FLAG_PROGRAM,并且包含指向固件映像的指针: 粉色文件被编程为 0x480000: 复位后,UTEST 中会自动编程该功能标志,并安装 HSE 固件(HSE GPR 寄存器中 0x4039_C028 位的第 0 位被设置): 在 S32K344_HSE_FW_INSTALL 中,功能标志由软件编程 - 请参阅 main.c 文件。 该指针被添加到 boot_header.c 文件中的 IVT 中。 粉色文件链接到 S32K344_flash_full_mem.ld 或 S32K344_flash_ab_swap.ld 中的项目。根据所需配置而定。 详细信息请参阅 HSE-B 固件参考手册修订版中的以下资源。2.8: 表17. BCW内容 表119. BCW 位映射 表118. IVT结构 表143. HSE_CONFIG_GPR3 的状态位 (0x4039C028) 如果您有一个标准的RTD项目,该如何在项目中实现它: - 打开 startup_cm7.s文件并添加指向偏移量 0x2C 处粉色文件的指针: - 设置启动配置字中的第 9 位,该字也位于 IVT 的偏移量 0x4 处: 然后转到链接器文件(例如“linker_flash_s32k322.ld”)并以与在项目 S32K344_HSE_FW_INSTALL 中看到的方式相同的方式链接粉色文件。 就这些,只需构建项目,将其加载到MCU并多次RESET设备即可。 如何获取适用于 S32K322 的最新生产版 HSE 固件: 前往 S32K3 标准软件: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32K3-STDSW-D 选择“汽车软件 - S32K3 - HSE 固件” 请在此处搜索适用于 S32K3x2 和 S32K3x4 的 0.2.55.0 版本: 下载 HSE_FW_S32K342_0.2.55.0_D2512.exe – 该版本也涵盖 S32K322。 最后一点——如果您使用 Lauterbach 的 Trace32,您可以使用随附的脚本来安装固件。它使用默认定位方式。 此致, Lukas Re: HSE Firmware install in S32k322 microcontroller . 嗨@lukaszadrapa , 感谢您的支持。按照您的指导,我已成功在我的 S32K322 设备上安装了 HSE 固件。 我现在需要使用新的粉色文件将 HSE 固件更新到新版本,但我遇到了问题。我的代码基于 HSE 固件更新流程 (HSE_SRV_ID_FIRMWARE_UPDATE),该服务返回: HSE_SRV_RSP_VERIFY_FAILED (0x55A5A164) 设置详情: - 设备:S32K322 - 固件版本:FULL_MEM - 当前已安装的 HSE 固件版本:已附上图片 - 新的粉色文件:添加到链接器文件中 - 更新模式:单次更新 - 新粉色图像的位置:0x00400000 请问是否有更新HSE固件的示例代码?能否指导一下? #define HSE_SRV_RSP_VERIFY_FAILED ((hseSrvResponse_t)0x55A5A164UL)
View full article