Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
NVT4857UKAZの代替部品 これはソフトウェアに直接関係ない話ですが、最近、 NVT4857UKAZ はすでにEOLに達しており、ピン・ツー・ピン対応の交換部品が入手できないことが判明しました。i.MX95ベースのデバイスではSDカード**サポート**が必須機能であるため、この状況を踏まえた代替手段を理解しようとしています。交換可能な選択肢や設計方法について、おすすめを教えていただけますか? Re: Alternative part for NVT4857UKAZ こんにちは! NVT4858を代替と呼んでください。 ただし、NVT4858はそのまま交換できるものではないことにご注意ください。したがって、新しいデバイスに対応するためにハードウェアとソフトウェアの両方の改造が必要になる場合があります。 移行の影響を評価するために、仕様や設計要件を慎重に確認することをお勧めします。 お役に立てば幸いです! Re: Alternative part for NVT4857UKAZ こんにちは! NVT4858を代替と呼んでください。 ただし、NVT4858はそのまま交換できるものではないことにご注意ください。したがって、新しいデバイスに対応するためにハードウェアとソフトウェアの両方の改造が必要になる場合があります。 移行の影響を評価するために、仕様や設計要件を慎重に確認することをお勧めします。 お役に立てば幸いです!
記事全体を表示
iMXRT1052 Generating key blob in custom firmware not accepted on boot. Hi,   I have an encrypted bootloader that is signed, and HAB is enabled but not sealed. When flashed via NXP’s Secure Provisioning Tool, it works fine. Similarly, when I concatenate the FCB + Padding + Signed and encrypted bootloader + key blob (where the key blob is generated by executing the following command in the terminal):   blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"   it also works. However, if I run this process using custom firmware in a debug session (which is only used to generate the key blob), the resulting blob file is not accepted and the bootloader fails to execute. The DEK remains unchanged in both scenarios.   Both generated .bin files differ only at the blob offset address.   Is there any difference between the flashloader.bin provided by the Secure Provisioning Tool and the publicly available source code (MCU boot)?   The "stock" flashloader reports this version: blhost -u 0x15A2,0x0073 -- get-property 1 Response status = 0 (0x0) Success. Response word 1 = 1258424320 (0x4b020800) Current Version = K2.8.0   Based on the bl_version.h, the source should be consistent, and the Secure Provisioning Tool version is 25.09.   The custom firmware uses code snippets from the flashloader source (specifically found in bl_keyblob_dcp.c), and all dependencies are taken from the same source. This implementation will only be used internally, so extracting the DEK from the firmware is not a concern.   Thank you for your time. 🙂 Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. Hi @JordanSt , May I understand you have tested with iMXRT1052 as below? 1. Load the flashloader from NXP’s Secure Provisioning Tool and use the following command to have dek.bin and blob.bin blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin" 2. Run a custom firmware with code from the sdk demo of flashloader on iMXRT1052 and use the same command as above to have the dek.bin and blob.bin.  3. The generated dek.bin files are the same, but the blob.bin files are not. If my understanding is correct , have you tried the flashloader from the sdk in step 2? Was the result the same? Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. Hi @Kan_Li ,  Thank you for your support. Regarding: 1. Load the flashloader from NXP’s Secure Provisioning Tool and use the following command to have dek.bin and blob.bin  -  Yes, to get the key blob. 2. Run a custom firmware with code from the sdk demo of flashloader on iMXRT1052 and use the same command as above to have the dek.bin and blob.bin.   -  Yes, I did, test with demo flashloader from the SDK, also a custom-custom firmware.  Not sure if important, but the main difference is that the flashloader from the SPT is executed from internal SRAM, the custom firmware or the demo from SDK is not, they are configured and build for External (on board) SDRAM.   3. The generated dek.bin files are the same, but the blob.bin files are not.  -  Yes, the DEK used in both scenarios stays the same (it make sense). From the resulted key blob, headers are the same, only bk and dek sections differ, mac section is all zeros. Have a great day 🙂 Jordan
記事全体を表示
iMXRT1052 自定义固件中生成的密钥blob在启动时未被接受。 您好,   我有一个已签名的加密引导加载程序,HAB 已启用但未密封。使用 NXP 的安全配置工具进行刷写时,运行正常。同样地,当我将 FCB + 填充 + 已签名和加密的引导加载程序 + 密钥 blob 连接起来时(其中密钥 blob 是通过在终端中执行以下命令生成的):   blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"   也行得通。但是,如果我在调试会话中使用自定义固件运行此过程(仅用于生成密钥 blob),则生成的 blob 文件不被接受,引导加载程序执行失败。两种情况下,DEK 值保持不变。   两者都生成了 .bin 文件。文件仅在 blob 偏移地址处不同。   安全配置工具提供的 flashloader.bin 与公开可用的源代码(MCU 启动)之间有什么区别?   “官方”刷机工具报告的版本号为: blhost -u 0x15A2,0x0073 -- get-property 1 Response status = 0 (0x0) Success. Response word 1 = 1258424320 (0x4b020800) Current Version = K2.8.0   根据 bl_version.h,源代码应该一致,安全配置工具版本为 25.09。   该自定义固件使用了来自 flashloader 源代码(具体位于 bl_keyblob_dcp.c 中)的代码片段,所有依赖项均来自同一来源。此实现仅供内部使用,因此从固件中提取 DEK 不是问题。   感谢您抽出时间。 🙂 Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. 嗨@JordanSt , 我理解您已使用 iMXRT1052 进行了如下测试? 1. 从NXP 的安全配置工具加载闪存加载器,并使用以下命令生成 dek.bin 和 blob.bin 文件。 blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin" 2. 使用 iMXRT1052 上的 flashloader 的 sdk 演示代码运行自定义固件,并使用与上面相同的命令生成 dek.bin 和 blob.bin。 3. 生成的 dek.bin 文件相同,但 blob.bin 文件不同。 如果我理解正确,您是否尝试过在步骤 2 中使用 SDK 中的 flashloader?结果是否相同? 祝你有美好的一天, 坎 ------------------------------------------------------------------------------- 笔记: - 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你! - 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。 如果您之后有相关问题,请另开新帖并引用已关闭的帖子。 ------------------------------------------------------------------------------- Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot. 嗨@Kan_Li , 感谢您的支持。 关于: 1. 从 NXP 的安全配置工具加载闪存加载器,并使用以下命令生成 dek.bin 和 blob.bin 文件。 - 是的,为了获取关键信息。 2. 使用 iMXRT1052 上的 flashloader 的 sdk 演示代码运行自定义固件,并使用与上面相同的命令生成 dek.bin 和 blob.bin。 - 是的,我测试过了,用 SDK 中的演示 flashloader 和自定义固件都测试过了。 不确定这是否重要,但主要区别在于 SPT 中的 flashloader 是从内部 SRAM 执行的,而 SDK 中的自定义固件或演示程序则不是,它们是为外部(在板上)同步动态随机存取存储器\(SDRAM\) 配置和构建的。 3. 生成的 dek.bin 文件相同,但 blob.bin 文件不同。 是的,两种情况下使用的DEK保持不变(这很合理)。从生成的密钥块来看,头部信息相同,只有bk和dek部分不同,mac部分全部为零。 祝你有美好的一天 🙂 约旦
記事全体を表示
MCTPTX1AK324、FreeMASTER接続の問題 0x80000101 モーター開発にはMCTPTX1AK324の開発ボードを使っています。今、ボタン3を押すとモーターは動きます。設定を調整するためにMCATホストコンピュータを使う必要があります。しかし、シリアル接続でfreeMASTERを使うとエラーが表示されます:接続タイムアウト、0x8000 0101。デモプログラムに変更が必要かどうか確認してもらえますか? 現在、デモプログラムの一部のコードがブロックされています。M3でGD3000とIPCFを初期化するとプログラムがフリーズするため、FAEの提案に基づいてブロックしました。 3Q Re: MCTPTX1AK324, FreeMASTER connecttion problem 0x80000101 こんにちは、 FreeMASTERの接続タイムアウト問題を解決するための一般的なヒントをいくつかご紹介します。それでも効果がなければ、より具体的なサポートを求めてモータ制御チームに連絡してみます。 一般的に、タイムアウトとは、ボードがFreeMASTERコマンドに応答しないことを意味します。以下のことをお勧めします。 1. NXPから受け取ったオリジナルの未修正ソフトウェアを使用し、オリジナルのボードキットを使用することを確認してください。 2. 接続ポートとケーブルを確認してください。FreeMASTERで「プロジェクト」→「オプション」に進み、シリアルCOMポートを確認してください。システムに他にもポートがあって、間違ったものを選んだ場合もあります。 3. ツール/接続ウィザードを使用して、さまざまなCOMポートを検査します。 4. FreeMASTERを別のアプリケーションで使うようにしましょう。理想的には、ターゲットボードでFreeMASTERサンプルアプリケーションが利用可能であれば、そのアプリケーションのいずれかを利用してください。 5. 上級編:オシロスコープまたはロジックアナライザをシリアル通信ラインに接続して、RX信号とTX信号がアクティブかどうかを確認します。FMSTR_ProtocolDecoderにブレークポイントを設定して、コードがそこで停止するかどうかを確認してください。そうでなければ、コマンドはMCUにすら届きません。 よろしくお願いいたします。 ミハル
記事全体を表示
登録:S32K eMIOSエンコーダーのCW/CCWカウンタの静的ローター位置での挙動 チームの皆さん、こんにちは。 私はS32K322マイクロコントローラを使っており、位置センサーからローター角度を得るためのエンコーダーインターフェースを実装しています。 申請ノートに基づいて、TRGMUX、LCU、eMIOSを含む必要なMCALモジュールを構成しました。エンコーダーの機能は正常に動作していますが、CWカウンターとCCWカウンターで予期しない動作が見られました。 私の質問は以下のとおりです。 ローターが動いていない静的なローター位置では、CWおよびCCWカウンターがフリーランニングカウンターとして振る舞うことが期待されますか? 私の場合、CWとCCWカウンターは増加し続けますが、絶対ポジション値はゼロのままです。これは想定される動作ですか? もしこれが予想されるなら、ローターが静止しているのにCWやCCWカウンターが増加する理由は何ですか? もし予想外の情報があれば、以下の方法を提案していただけませんか: MCALの設定(TRGMUX、LCU、またはeMIOS)において、必要な構成変更はありますか? ローターが静止しているときにCW/CCWカウンターが増加しないように、追加のソフトウェア機構やフィルタリングを実装すべきでしょうか? 参考のために動画を添付しました。 AWSライブラリS32K3 よろしくお願いいたします。 ティル Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position こんにちは、 LCnからのCWおよびCCW出力は、それ自体で位置カウンターではありません。インクリメンタルエンコーダの実装によれば、使用されるLCnは、検出された直交シーケンスに応じて、A/B信号の各エッジでCWまたはCCW出力にパルスストリームを生成します。eMIOSはこれらのパルスをカウントして位置を蓄積します。これは、PHA/PHBがLCUで処理され、eMIOSが位置蓄積のカウンターとして機能するS32K3の直交方式と一致しています。https://community.nxp.com/t5/S32K/Quadrature-decoder-on-S32K344/mp/1507580 ローターが本当に静的でエンコーダのA/B入力が安定している場合、新しいCW/CCWパルスを連続的に生成すべきではありません。したがって、CWとCCWの両方のカウンターが、絶対位置がゼロのまま増加するのは期待される「理想的な」挙動ではありません。 いくつか確認しておくと良い点があります。 eMIOSチャネルが本当にCW/CCWの入力パルスをカウントしているか、内部クロックソースではないか確認してください。 デバッガで使用されているeMIOSチャネルのUINステータスを確認してください。カウンターが増加してもUINが一定のままであれば、チャネルは意図した外部入力を使っていない可能性があります。 もしローターが静止している間にUINがトグルしている場合は、エンコーダA/B信号、TRGMUXルーティング、LCU出力、入力フィルタリングを調べてください。 また、ノイズやグリッチがないことを確認するために、エンコーダのA/B信号とLCUのCW/CCW出力をオシロスコープで監視してください。 これにより、問題の原因がエンコーダ信号の活動/ノイズによるものか、eMIOSの設定の問題によるものかを判断するのに役立つはずです。 BR、ペトル Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position こんにちは、 I could not find any register corresponding to the UIN status in the S32K322 リファレンス・マニュアル. Could you please check and guide me on how to verify this for further analysis? I debugged the registers that update the CW and CCW counters. According to the 参考マニュアル, eMIOS チャンネル 5 MCU CNT corresponds to the CW counter, and eMIOS チャンネル 6 MCU CNT corresponds to the CCW counter. しかし、MCU CNTのレジスタは、ローターが静的状態でも0から65535(フリーランニング)まで連続的に増加し続けるのを観察しました。この行動が予想されるものなのか、あるいは何が原因なのか教えていただけますか? 参考までに、関連するレジスタ値のスクリーンショットを添付しました。 さらに、MCALの設定も確認しましたが、共有されたアプリケーションノート通りに正しく設定されています。 早くもサポート よろしくお願いいたします。 ティル Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 質問にお答えください。 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position こんにちは、 UINと書きましたが、チャネルSレジスタのUCINビットであるはずです。 レジスタビューに基づくと、コントロールレジスタは0x20E06D1に設定されており、これは外部信号のカウントである0x51が使用されている正しいモードを示しています。 私の理解ではLCnはCWまたはCCW出力の各A/B信号エッジでパルスストリームを生成するため、定常モーター/エンコーダ信号ではパルスを発生させず、カウントされることはありません。 また、TRGMUX出力が選択されているかを確認するために、それぞれのSIUL IMCRレジスタも確認できます BR、ペトル  
記事全体を表示
如何确保 gPTP 二层数据包通过 S 上的 GMAC0 以最高优先级传输 你好 如何确保 gPTP 第 2 层数据包通过 S32G399 上的 GMAC0 以最高优先级传输? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 确保 gPTP 帧进入 Q4 区。 如何实现这一点? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您的回复和提供的信息。 您可以参考 BSP 用户手册,按照下图所示的方式尝试实现此功能。可以考虑为第四季度设定一个单独的时间窗口,并给予其更高的优先级。此外,确保 gPTP 帧进入 Q4。以下命令可用于设置第二层时间窗口,供参考: tc qdisc add dev eth0 root taprio \ num_tc 5 \ 地图 0 1 2 3 4 \ 队列 1@0 1@1 1@2 1@3 1@4 \ 基准时间 0 \ 计划条目 S 10 50000 \ 调度条目 S 0f 450000 \ 计划条目 S 1f 96 \ 标志 0x2 希望这些信息对您有所帮助。 BR 乔伊 Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 您在 M 核或 A 核上使用 GMAC0 时是否使用 gPTP? A:在 A 核上 您目前是否正在使用GMAC的TSN功能?是否使用了VLAN? A:利用 GMAC 的 TSN 功能:gptp;gptp 数据包上没有 VLAN。 GMAC控制器提供五个发送/接收队列, 我需要将所有 gPTP 流量路由到优先级最高的 Tx/Rx 队列(q4)。 请问在Linux系统中,相应的寄存器配置、代码实现方法以及如何配置(例如:tc、ip)? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您与我们联系。您能提供更多信息吗? 您在 M 核或 A 核上使用 GMAC0 时是否使用 gPTP? 您目前是否正在使用GMAC的TSN功能?是否使用了VLAN? BR 乔伊 Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t 嗨,志杰 感谢您的回复。 您可以尝试在设备树的 gmac0 部分配置队列信息。 其中包含 arch\arm64\boot\dts\freescale\s32cc.dtsi 文件。         gmac0 :以太网@4033c000 { 状态 = "已禁用" ; compatible = "nxp,s32cc-dwmac" ; mtl_rx_setup_gmac0 : rx-queues-config { snps,要使用的 rx 队列 = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; };             mtl_tx_setup_gmac0 : tx-queues-config { snps,要使用的交易队列 = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; }; 另外,可以在 GMAC 驱动程序中找到 RX 队列数据包路由配置,您可以尝试将节点设置为 Q4 的“snps,route-ptp”。 如果您还有任何疑问,可以随时联系我们。   BR 乔伊
記事全体を表示
S32K389 AES_ACCEL 在加密 64KB 数据时会挂起/冻结 您好,NXP团队: 我正在使用S32K389并测试AES_ACCEL (ACE/MSC)模块。我在处理大型数据缓冲区时遇到了稳定性问题。 测试设置: 模式: AES-密码块链接(CBC) 案例 1(通过):加密4KB数据工作正常。 案例 2(失败):加密64KB数据会导致芯片在执行 AES 服务时立即崩溃/挂起。 观察到的行为: S32DS(S32 设计工作室)在执行 AES 服务期间冻结。 尝试通过调试器连接到 S32K389 完全失败。 问题: 对于每个 AES_ACCEL 事务的最大数据长度,是否存在任何已知的限制? 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong 让我查一下。我会尽快回复您。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 很抱歉耽搁了,我遇到了一些内部资源访问权限方面的问题,解决起来比预期要花更多时间。我会尽快回复。感谢您的耐心等待。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 嗨@wuxianlong CMAC生成验证服务存在以下限制: 我还在确认加密方面是否存在限制。我稍后会通知你。 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 非常感谢您的解释。加密和 CMAC 验证可能面临同样的局限性。 此致, 显龙 Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 我了解到大小限制为 512KB - LEN 位域的大小为 19 位。 有趣的是,程序执行完全崩溃了。我预计 AES_ACCEL 在参数无效的情况下会返回一些错误代码。 那不是XRDC引起的吗?XRDC 是否已启用?您能否尝试将其禁用以进行测试? 此致, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data 你好, @lukaszadrapa 使用 64KB 进行测试仍然失败。启用 AEC 错误检测后发现,IP 驱动程序宏将限制设置为(1 << 19) - 1​ 位 < 64 KB。 此致, 显龙
記事全体を表示
カーネル6.6.92ではPN7160が応答しません 当チームはPN7160をカーネル6.6.92に移植しました。 しかし現在、NFCタグを 読み取ることができません 。 以下は、当社の被試験デバイス(DUT)に関する情報です。 カーネルバージョン: 6.6.92 OS: ヨクト・スカースギャップ PN7160 ドライバーパッチファイル: 0003-nfc-nxpnfc-add-NXP-PN7160-i2c-spi-kernel-driver.patch(NFCのGitHubリポジトリからクローンし、カーネル6.6に対応するように修正しました) nfcDemoApp レシピ: recipes-nfc.7z (NFC GitHub からクローンし、ビルドエラーを修正するために変更しました) カーネルログ: nfc-log.txt この問題を解決するためのアドバイスをいただけますか? 回复: PN7160 no response with kernel 6.6.92 libnfc-nxp.conf ファイルで LOGLEVEL を 0x03 に設定してください。次に、nfcDemoAppを実行したときのログを送ってください。確認のため、libnfc-nci.confとlibnfc-nxp.confも送ってください。 回复: PN7160 no response with kernel 6.6.92 ご返信よろしくお願いします。 ログファイルと設定ファイル(libnfc-nci.confとlibnfc-nfc.conf)添付されています。 何かアドバイスをいただけますか?
記事全体を表示
如何在 S32DS 上测量 S32G399 裸机应用程序的 CPU 负载 大家好, 我想知道如何在 S32G399 运行时测量其 CPU 负载。 背景:我的 S32G399 项目是一个四核 M7 裸机项目,只有一个 ELF 文件,是在 S32DS3.5.10 上开发的。我使用自定义引导加载程序来启动 A53 和 M7,该程序已经实现。我的需求是测量M7端的CPU负载。我手头有 S32 调试探针,因此我可以在我的 M7 应用程序运行时将其连接到该应用程序。但是,我不知道测量负载的具体步骤/方法。我甚至不知道仅使用 S32 调试探针是否能够实现此目标。 希望有人能提供相关文件或指导。 谢谢! Re: How to measure CPU load for S32G399 baremetal application on S32DS 你好, @Yang_C 感谢你的帖子。 1. 据我了解,仅仅依靠调试器可能无法准确获取运行时 CPU 负载。 2. 可以向自己的应用程序添加一些代码,例如启用计时器,然后测量执行主要任务的时间。计算(执行时间)/(运行时间)的比例,以评估 CPU 的大致负载。 BR 陈银 Re: How to measure CPU load for S32G399 baremetal application on S32DS 非常感谢。我将尝试从代码端进行测量。
記事全体を表示
LSDK 25.12 udev 自动加载与 /boot/modules 布局的竞争 NXP团队您好, 我们使用的环境如下: * 平台:i.MX8MP * 发行版:Debian 13 / trixie * LSDK 版本:LSDK-25.12_DEBIAN-13_LF-6.12.20 * 内核版本:6.12.20 * systemd / udev: 257.x * kmod / libkmod:34.x 我们遇到了一个间歇性的冷启动问题,其中某些内核模块无法通过 udev 自动加载。就我们而言,受影响的设备主要是音频编解码器/音频链和 WLAN 模块。 症状包括: * `snd_soc_wm8962` 未加载 音频编解码器和音频平台设备仍然不受限制 `aplay -l` 报告没有声卡 * 无线局域网接口缺失 * 启动后手动运行 `modprobe` 或 `udevadm trigger --action=add` 可以恢复设备。 经过调试,我们发现该问题似乎与此 flexbuild 版本使用的内核模块布局有关。 在 `LSDK-25.12_DEBIAN-13_LF-6.12.20` flexbuild 标签中,`configs/debian/debian_post_config.sh`创建以下符号链接: ```sh ln -sf /boot/modules /lib/modules ``` 此外,`tools/create_bootpartition` 会将内核模块复制到启动分区: ```sh cp -rf $KERNEL_OUTPUT_PATH/$KERNEL_BRANCH/tmp/lib/modules $bootpartdir ``` 因此,在运行时,`/lib/modules` 依赖于 `/boot/modules`,而 `/boot` 稍后由 `boot.mount` 挂载。 我们还注意到 `src/system/启动.mount`包含: ```ini [Unit] Description=启动分区 Before=systemd-modules-load.service [山] What=UUID=PARTUUID 地点=/启动 类型=ext4 选项=默认值 [安装] WantedBy=local-fs.target ``` 这似乎是为了确保在由 `systemd-modules-load.service` 处理的静态模块加载路径之前挂载 `/boot`。 然而,我们的问题并非出在 `systemd-modules-load.service` 上。受影响的音频/WLAN模块由udev通过设备`MODALIAS`事件动态加载。 在启动失败的情况下,我们观察到受影响的设备事件是在 `boot.mount` 之前由 udev 处理的。已完成。此时,`/lib/modules` 指向 `/boot/modules`,但 `/boot` 尚未挂载。因此,libkmod 无法访问模块别名/索引文件或相应的 `.ko` 文件,所以 udev 模块自动加载路径失败。由于 udev 事件已被处理,除非我们手动重新触发 udev 或运行 `modprobe`,否则驱动程序不会再加载。 我们对失败路径的理解是: ```文本 内核设备添加事件 → udev 接收到 MODALIAS 事件 → udev/libkmod 尝试访问 /lib/modules → /lib/modules 指向 /boot/modules。 → /boot 尚未挂载 → 模块别名/索引文件或 .ko 文件文件不可用 → 模块自动加载失败 ``` 我们想确认以下事项: 1. 对于 LSDK 25.12 Debian 13 版本,`/lib/modules -> /boot/modules` 的布局是否符合预期? 2. 早期 udev 的 `MODALIAS` 处理和后期的 `boot.mount` 处理之间存在竞争关系吗?这是该布局的已知问题或已知局限性吗? 3. 我们注意到,当前的上游 flexbuild 主分支似乎已经改变了这种架构:内核模块不再通过 `create_bootpartition` 复制到启动分区,并且 `debian_post_config.sh` 中不再创建 `/lib/modules -> /boot/modules` 符号链接。 这种架构变更是否与避免这种早期启动模块自动加载竞争有关? 4. 对于 LSDK 25.12 Debian 13,NXP 针对此问题推荐的修复方案或变通方法是什么? 请与我们联系,告知我们我们的理解是否正确,以及该版本是否有官方补丁或推荐的更新途径。 谢谢。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: LSDK 25.12 udev autoload race with /boot/modules layout 您好, Q1:这样做的初衷是将内核映像和模块放在启动分区上,这样在升级内核时,只需要替换启动分区,而无需修改根文件系统。这种布局是故意设计的,并非错误。 Q2:你的推理是正确的;这是这种布局固有的局限性。 Q3:构建镜像时,您可以进行一次性调整,将根文件系统中的 `/boot/modules` 内容移动到 `/lib/modules`,并删除符号链接: rm -f /lib/modules mkdir -p /lib/modules cp -a /boot/modules/* /lib/modules/ 同时, 1. 修改构建脚本中的 `tools/create_bootpartition`,并删除 `cp -rf .../lib/modules $bootpartdir` 这行; 2. 修改 `debian_post_config.sh` 文件,并删除 `ln -sf /boot/modules /lib/modules` 这行; 3. 配置 `bld linux / modules_install` 目标,将模块安装到根文件系统中(参见 `main` 分支中 ` linux-modules`目标的实现)。 此致, 志明
記事全体を表示
Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi Team, I am using the S32K322 microcontroller and have implemented the encoder interface to obtain the rotor angle from a position sensor. I have configured the required MCAL modules, including TRGMUX, LCU, and eMIOS, based on the application note. The encoder functionality is operational; however, I have observed unexpected behavior with the CW and CCW counters. My questions are as follows: During a static rotor position (i.e., when the rotor is not moving), is it expected for the CW and CCW counters to behave as free-running counters? In my case, both the CW and CCW counters continue to increment, while the absolute position value remains at zero. Is this expected behavior? If this is expected, what is the reason for the CW and CCW counters incrementing even though the rotor is stationary? If this is not expected, could you please suggest: Any configuration changes required in the MCAL setup (TRGMUX, LCU, or eMIOS)? Any additional software mechanism or filtering that should be implemented to prevent the CW/CCW counters from incrementing when the rotor is stationary? Attached the video for your reference AWS-LIBRARIES-S32K3  Regards, Thiru Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi, The CW and CCW outputs from LCn are not position counters by themselves. According to the incremental encoder implementation, used LCn generates pulse streams on the CW or CCW output at every A/B signal edge, depending on the detected quadrature sequence. eMIOS then counts these pulses to accumulate position. This matches the S32K3 quadrature approach where PHA/PHB are processed by LCU and eMIOS acts as the counter for position accumulation. https://community.nxp.com/t5/S32K/Quadrature-decoder-on-S32K344/m-p/1507580 If the rotor is truly static and the encoder A/B inputs are stable, then new CW/CCW pulses should not be continuously generated. So both CW and CCW counters incrementing while the absolute position remains zero is not the expected “ideal” behavior. A few things are worth checking: Verify that the eMIOS channel is really counting the CW/CCW input pulses and not an internal clock source. Check the UIN status of the used eMIOS channel in the debugger. If UIN remains constant while the counter increments, the channel may not be using the intended external input. If UIN is toggling while the rotor is stationary, investigate encoder A/B signals, TRGMUX routing, LCU outputs, and input filtering. Also monitor the encoder A/B signals and LCU CW/CCW outputs on a scope to rule out noise or glitches. This should help determine whether the issue is caused by encoder signal activity/noise or by an eMIOS configuration issue. BR, Petr Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi, I could not find any register corresponding to the UIN status in the S32K322 Reference Manual. Could you please check and guide me on how to verify this for further analysis? I debugged the registers that update the CW and CCW counters. According to the Reference Manual, eMIOS Channel 5 UC CNT corresponds to the CW counter, and eMIOS Channel 6 UC CNT corresponds to the CCW counter. However, I observed that both UC CNT registers keep incrementing continuously from 0 to 65535 (free-running), even when the rotor is in a static condition. Could you please let me know whether this behavior is expected, or suggest what could be causing it? I have attached a screenshot of the relevant register values for reference. Additionally, I verified the MCAL configuration, and it is configured correctly as per the application note that was shared. Support at earliest Regards, Thiru Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Please reply for the query Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position Hi, I wrote UIN, but it should be UCIN bit of the channel S register. Based on register view I see Control register is set to 0x20E06D1, which indicate correct mode used 0x51, counting of external signal. Per my understanding LCn generates pulse streams on the CW or CCW output at every A/B signal edge, so with steady motor/encoder signals, no pulses should be generated and so counted. You can also check respective SIUL IMCR registers to be sure TRGMUX output is selected BR, Petr  
記事全体を表示
LSDK 25.12 udev autoload race with /boot/modules layout Hi NXP team, We are using the following environment: * Platform: i.MX8MP * Distribution: Debian 13 / trixie * LSDK release: LSDK-25.12_DEBIAN-13_LF-6.12.20 * Kernel: 6.12.20 * systemd / udev: 257.x * kmod / libkmod: 34.x We encountered an intermittent cold boot issue where some kernel modules are not automatically loaded by udev. In our case, the affected devices are mainly the audio codec/audio chain and WLAN module. The symptoms include: * `snd_soc_wm8962` is not loaded * the audio codec and audio platform devices remain unbound * `aplay -l` reports no sound cards * the WLAN interface is missing * manually running `modprobe` or `udevadm trigger --action=add` after boot can recover the devices After debugging, we found that the issue seems related to the kernel module layout used by this flexbuild release. In the `LSDK-25.12_DEBIAN-13_LF-6.12.20` flexbuild tag, `configs/debian/debian_post_config.sh` creates the following symlink: ```sh ln -sf /boot/modules /lib/modules ``` Also, `tools/create_bootpartition` copies the kernel modules into the boot partition: ```sh cp -rf $KERNEL_OUTPUT_PATH/$KERNEL_BRANCH/tmp/lib/modules $bootpartdir ``` Therefore, at runtime, `/lib/modules` depends on `/boot/modules`, and `/boot` is mounted later by `boot.mount`. We also noticed that `src/system/boot.mount` contains: ```ini [Unit] Description=Boot Partition Before=systemd-modules-load.service [Mount] What=UUID=PARTUUID Where=/boot Type=ext4 Options=defaults [Install] WantedBy=local-fs.target ``` This appears to ensure that `/boot` is mounted before the static module loading path handled by `systemd-modules-load.service`. However, our issue is not from `systemd-modules-load.service`. The affected audio/WLAN modules are loaded dynamically by udev through device `MODALIAS` events. In failing boots, we observed that the affected device events are processed by udev before `boot.mount` has completed. At that moment, `/lib/modules` points to `/boot/modules`, but `/boot` has not been mounted yet. As a result, libkmod cannot access the module alias/index files or the corresponding `.ko` files, so the udev module auto-loading path fails. Since the udev event has already been processed, the driver is not loaded later unless we manually retrigger udev or run `modprobe`. Our understanding of the failing path is: ```text kernel device add event → udev receives the MODALIAS event → udev/libkmod tries to access /lib/modules → /lib/modules points to /boot/modules → /boot is not mounted yet → module alias/index files or .ko files are not available → module auto-loading fails ``` We would like to confirm the following: 1. Is the `/lib/modules -> /boot/modules` layout expected for the LSDK 25.12 Debian 13 release? 2. Is the race between early udev `MODALIAS` handling and the later `boot.mount` a known issue or known limitation of this layout? 3. We noticed that the current upstream flexbuild main branch appears to have changed this architecture: kernel modules are no longer copied into the boot partition by `create_bootpartition`, and the `/lib/modules -> /boot/modules` symlink is no longer created in `debian_post_config.sh`. Is this architecture change related to avoiding this kind of early boot module auto-loading race? 4. For LSDK 25.12 Debian 13, what is NXP’s recommended fix or workaround for this issue? Please let us know whether our understanding is correct and whether there is an official patch or recommended update path for this release. Thanks. i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: LSDK 25.12 udev autoload race with /boot/modules layout Hi, Q1: The original intention behind this was to place the kernel image and modules together on the boot partition, so that when upgrading the kernel, only the boot partition needs to be replaced, without having to modify the root filesystem. This layout is intentional and is not a bug. Q2:Your line of reasoning is correct; this is an inherent limitation of this layout. Q3: When building the image, you can make a one-time adjustment to move the contents of `/boot/modules` to `/lib/modules` in the root filesystem and remove the symbolic links: rm -f /lib/modules mkdir -p /lib/modules cp -a /boot/modules/* /lib/modules/ At the same time, 1. modify `tools/create_bootpartition` in the build script and remove the line `cp -rf .../lib/modules $bootpartdir`;  2. Modify `debian_post_config.sh` and remove the line `ln -sf /boot/modules /lib/modules`;  3. Configure the `bld linux / modules_install` target to install modules into the root filesystem (see the implementation of the `linux-modules` target in the `main` branch). Best Regards, Zhiming
記事全体を表示
寄存器:S32K eMIOS 编码器在静态转子位置的顺时针/逆时针计数器行为 大家好, 我正在使用 S32K322 微控制器,并实现了编码器接口,以从位置传感器获取转子角度。 我已根据应用笔记配置了所需的 MCAL 模块,包括 TRGMUX、LCU 和 eMIOS。编码器功能正常;但是,我发现 CW 和 CCW 计数器出现了意外情况。 我的问题如下: 在转子静止时(即转子不移动时),顺时针和逆时针计数器是否应表现为自由运转计数器? 就我而言,顺时针和逆时针计数器都在持续递增,而绝对位置值始终为零。这是预期行为吗? 如果这是预期行为,那么即使转子静止不动,CW 和 CCW 计数器为何还会递增? 如果这不是预期行为,请您提出以下建议: MCAL 设置(TRGMUX、LCU 或 eMIOS)是否需要进行任何配置更改? 是否需要实施任何额外的软件机制或过滤措施来防止转子静止时 CW/CCW 计数器递增? 附上视频供您参考。 AWS-LIBRARIES-S32K3 此致, 蒂鲁 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 您好, LCn 的 CW 和 CCW 输出本身并不是位置计数器。根据增量编码器的实现方式,所用的 LCn 会在每个 A/B 信号边沿生成 CW 或 CCW 输出脉冲流,具体取决于检测到的正交序列。然后,eMIOS 对这些脉冲进行计数以累积位置信息。这与 S32K3 正交方法相符,其中 PHA/PHB 由 LCU 处理,eMIOS 充当位置累积的计数器。https://community.nxp.com/t5/S32K/Quadrature-decoder-on-S32K344/mp/1507580 如果转子确实静止不动,并且编码器 A/B 输入稳定,则不应持续产生新的 CW/CCW 脉冲。因此,当绝对位置保持为零时,顺时针和逆时针计数器都递增,这不是预期的“理想”行为。 有几件事值得检查: 确认 eMIOS 通道确实在计数 CW/CCW 输入脉冲,而不是内部时钟源。 在调试器中检查所用 eMIOS 通道的 UIN 状态。如果 UIN 在计数器递增时保持不变,则该通道可能未使用预期的外部输入。 如果转子静止时 UIN 发生切换,请检查编码器 A/B 信号、TRGMUX 路由、LCU 输出和输入滤波。 同时在示波器上监测编码器 A/B 信号和 LCU CW/CCW 输出,以排除噪声或故障。 这应该有助于确定问题是编码器信号活动/噪声引起的,还是 eMIOS 配置问题引起的。 BR,彼得 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 您好, 我在S32K322参考手册中找不到与UIN状态对应的任何寄存器。请问您能否帮忙查找并指导我如何验证这一点以便进行进一步分析? 我调试了用于更新 顺时针 和 逆时针 计数器的 寄存器 。根据参考手册, eMIOS 通道 5 的 UC CNT 对应于顺时针计数器, eMIOS 通道 6 的 UC CNT 对应于逆时针计数器。 然而,我观察到即使转子处于静止状态,两个UC CNT寄存器仍然持续从0 递增到 65535 (自由运转)。请问这种现象是否正常,或者可能是什么原因造成的? 我已附上相关寄存器值的截图供您参考。 此外,我还验证了 MCAL 配置,其配置与共享的**应用笔记**中所述一致,是正确的。 尽早提供支持 此致, 蒂鲁 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 请回复此查询 Re: Reg: S32K eMIOS Encoder CW/CCW Counter Behavior in Static Rotor Position 您好, 我写的是 UIN,但它应该是通道 S 寄存器的 UCIN 位。 根据寄存器视图,我看到控制寄存器设置为 0x20E06D1,这表明使用了正确的模式 0x51,即对外部信号进行计数。 据我了解,LCn 在每个 A/B 信号边沿在 CW 或 CCW 输出端产生脉冲流,因此对于稳定的电机/编码器信号,不应产生脉冲,因此不应计数。 您还可以检查相应的 SIUL IMCR 寄存器,以确保已选择 TRGMUX 输出。 BR,彼得  
記事全体を表示
PN7160 no response with kernel 6.6.92 Our team has ported the PN7160 to the kernel 6.6.92,  but it currently cannot read any NFC tags. Here is the information for our DUT: Kernel version: 6.6.92 OS: Yocto Scarthgap PN7160 driver patch file: 0003-nfc-nxpnfc-add-NXP-PN7160-i2c-spi-kernel-driver.patch (Cloned from the NFC GitHub and modified to fit kernel 6.6) nfcDemoApp recipes: recipes-nfc.7z (Cloned from the NFC GitHub and modified to fix build errors) Kernel log: nfc-log.txt Could you please provide some advice to help us resolve this issue? 回复: PN7160 no response with kernel 6.6.92 Please set the LOGLEVEL to 0x03 in libnfc-nxp.conf. Then send me the log of when you running the nfcDemoApp. Please also send me the libnfc-nci.conf and libnfc-nxp.conf to me for checking. 回复: PN7160 no response with kernel 6.6.92 Thank you for your reply. The log and configuration files (libnfc-nci.conf and libnfc-nfc.conf) are attached. Could you please give us some advice?
記事全体を表示
LSDK 25.12 udev オートロードと /boot/modules レイアウトの競合 NXPチームの皆様、こんにちは。 私たちは以下の環境を使用しています。 * プラットフォーム:i.MX8MP * 配布:Debian 13 / trixie * LSDKリリース:LSDK-25.12_DEBIAN-13_LF-6.12.20 * カーネル:6.12.20 * systemd / udev: 257.x * kmod / libkmod: 34.x udevによって一部のカーネルモジュールが自動的にロードされないという、断続的なコールドブートの問題が発生しました。私たちの場合、影響を受けるデバイスは主にオーディオコーデック/オーディオチェーンとWLANモジュールです。 症状は以下のとおりです。 * 'snd_soc_wm8962'は無装填です * オーディオコーデックおよびオーディオプラットフォームデバイスはバインドされません * 『aplay -l』はサウンドカードがないと報告 * WLAN インターフェースが欠落しています * 起動後に手動で「modprobe」または「udevadm trigger」--action=add」を実行することでデバイスを復元できます デバッグの結果、この問題は今回のflexbuildリリースで使用されているカーネルモジュールのレイアウトに関連していることが判明しました。 `LSDK-25.12_DEBIAN-13_LF-6.12.20` flexbuild タグ内の `configs/debian/debian_post_config.sh`以下のシンボリックリンクを作成します。 「`sh ln -sf /boot/modules /lib/modules 「`」 また、`tools/create_bootpartition` はカーネルモジュールをブートパーティションにコピーします。 「しっ cp -rf $KERNEL_OUTPUT_PATH/$KERNEL_BRANCH/tmp/lib/modules $bootpartdir ``` したがって、実行時には `/lib/modules` は `/boot/modules` に依存し、`/boot` は後で `boot.mount` によってマウントされます。 また、`src/system/boot.mount` も確認しました。内容物: 「`ini」 [ユニット] 説明=ブートパーティション 変更前=systemd-modules-load.service [マウント] What=UUID=PARTUUID 場所=/boot タイプ=ext4 オプション=デフォルト [インストール] WantedBy=local-fs.target 「`」 これは、`systemd-modules-load.service` によって処理される静的モジュール読み込みパスの前に `/boot` がマウントされることを保証するようです。 しかし、私たちの問題は`systemd-modules-load.service`に起因するものではありません。影響を受けたオーディオ/WLANモジュールは、udevによってデバイス「MODALIAS」イベントを通じて動的にロードされます。 失敗した起動では、影響を受けたデバイスイベント情報がudevによって処理され、「boot.mount」が行われることが観察されました。完了しました。その時点では、`/lib/modules` は `/boot/modules` を指していますが、`/boot` はまだマウントされていません。その結果、libkmodはモジュールのエイリアス/インデックスファイルや対応する「.ko」ファイルにアクセスできず、udevモジュールの自動読み込みパスが失敗します。udevイベントはすでに処理済みなので、手動でudevを再トリガーするか「modprobe」を実行しない限り、ドライバは後から読み込まれません。 私たちが理解している失敗経路は以下のとおりです。 「テキスト カーネルデバイス追加イベント →udevはMODALIASイベントを受け取る →udev/libkmodは/lib/modulesにアクセスしようとします → /lib/modules は /boot/modules を指しています → /bootはまだマウントされていません →モジュールのエイリアス/インデックスファイルまたは.koファイルは利用できません →モジュールの自動読み込みが失敗します ``` 以下の点について確認させていただきたい。 1. LSDK 25.12 Debian 13 リリースでは、`/lib/modules -> /boot/modules` というレイアウトが想定されていますか? 2. udev の初期の `MODALIAS` 処理と後の `boot.mount` 処理の間に競合が発生していますか?このレイアウトに関する既知の問題点または既知の制限事項はありますか? 3. 現在の上流のflexbuildメインブランチでは、このアーキテクチャが変更されているようです。カーネルモジュールは`create_bootpartition`によってブートパーティションにコピーされなくなり、`debian_post_config.sh`で`/lib/modules -> /boot/modules`シンボリックリンクが作成されなくなりました。 このアーキテクチャの変更は、このような早期起動モジュールの自動読み込み競争を避けるためでしょうか? 4. LSDK 25.12 Debian 13の場合、NXPが推奨するこの問題の修正方法または回避策は何ですか? 私たちの理解が正しいかどうか、また、このリリースに対する公式パッチや推奨アップデートパスがあるかどうかをお知らせください。 ありがとうございます。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: LSDK 25.12 udev autoload race with /boot/modules layout こんにちは、 Q1: この設計の当初の意図は、カーネルイメージとモジュールをブートパーティションにまとめて配置し、カーネルをアップグレードする際にルートファイルシステムを変更せずにブートパーティションだけを交換すれば済むようにすることでした。このレイアウトは意図的なものであり、バグではありません。 Q2: あなたの考え方は正しいです。これはこのレイアウトの本質的な制約です。 Q3: イメージを構築する際に、一度だけ「/boot/modules」の内容をrootファイルシステムの「/lib/modules」に移動し、記号リンクを削除することができます: rm -f /lib/modules mkdir -p /lib/modules cp -a /boot/modules/* /lib/modules/ 同時に、 1. ビルドスクリプトの「tools/create_bootpartition」を修正し、「cp -rf .../lib/modules $bootpartdir」の行を削除します。  2. `debian_post_config.sh` を変更し、`ln -sf /boot/modules /lib/modules` の行を削除します。 3. 「bld linux / modules_install」ターゲットを設定し、ルートファイルシステムにモジュールをインストールする( 「main」ブランチの「linux-modules」ターゲットの実装を参照)。 よろしくお願いします、 志明
記事全体を表示
How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on the S Hello  How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on the S32G399? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t Make sure the gPTP frame enters Q4. How to implement this? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t Hi,zhijie Thank you for your reply and information. You can try to implement this function by referring to the BSP User Manual as the following picture. It can be considered to set a separate time window for Q4, giving it a higher priority. Additionally, Make sure the gPTP frame enters Q4. The following commands for layer2 time window setting can be used as a reference: tc qdisc add dev eth0 root taprio \ num_tc 5 \ map 0 1 2 3 4 \ queues 1@0 1@1 1@2 1@3 1@4 \ base-time 0 \ sched-entry S 10 50000 \ sched-entry S 0f 450000 \ sched-entry S 1f 96 \ flags 0x2 Hope this information can help you. BR Joey Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t Do you use gPTP with GMAC0 on M-core or A-core? A: on A-core Are you currently utilizing GMAC's TSN feature? Did the VLAN be used? A: Utilizing GMAC's TSN feature:gptp;No VLAN on gptp packets. The GMAC controller provides five Tx/Rx queues,  I need to route all gPTP traffic to the highest-priority Tx/Rx queue(q4). Could you advise the corresponding register configurations and code implementation methods and How to configure(such as:tc,ip) at LInux? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t Hi,zhijie Thank you for contacting us. Could you tell me more information? Do you use gPTP with GMAC0 on M-core or A-core? Are you currently utilizing GMAC's TSN feature? Did the VLAN be used? BR Joey Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t Hi,zhijie Thank you for your reply. You can try to configure the queue information in the gmac0 section of the device tree. It is included this file of arch\arm64\boot\dts\freescale\s32cc.dtsi.         gmac0: ethernet@4033c000 {             status = "disabled";             compatible = "nxp,s32cc-dwmac"; mtl_rx_setup_gmac0: rx-queues-config {                 snps,rx-queues-to-use = <5>;                 #address-cells = <1>;                 #size-cells = <0>;                 queue@0 {                 };                 queue@1 {                 };                 queue@2 {                 };                 queue@3 {                 };                 queue@4 {                 };             };             mtl_tx_setup_gmac0: tx-queues-config {                 snps,tx-queues-to-use = <5>;                 #address-cells = <1>;                 #size-cells = <0>;                 queue@0 {                 };                 queue@1 {                 };                 queue@2 {                 };                 queue@3 {                 };                 queue@4 {                 };             };  Also, can find the RX queue packet routing configuration in the GMAC driver, you can try to set the node as the "snps,route-ptp" for Q4. You can contact us at any time if you still have any question.   BR Joey
記事全体を表示
gPTPレイヤ2パケットがS上のGMAC0を介して最高優先度で送信されるようにする方法 こんにちは S32G399のGMAC0を介してgPTPレイヤ2パケットが最高優先度で送信されるようにするにはどうすればよいですか? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t gPTPフレームがQ4に入力されていることを確認してください。 これをどう実装すればいいのでしょうか? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t こんにちは、ジジエ ご返信と情報提供ありがとうございます。 この機能を実装するには、以下の図のようにBSPユーザーマニュアルを参照してみることができます。Q4には別の時間枠を設定し、より高い優先度を持たせることも検討できます。さらに、gPTPフレームがQ4に入ることを確認してください。レイヤー2のタイムウィンドウ設定に関する以下のコマンドを参考にできます: tc qdisc add dev eth0 root taprio \ num_tc 5 \ マップ 0 1 2 3 4 \ キュー 1@0 1@1 1@2 1@3 1@4 \ ベースタイム 0 \ スケジュールエントリ S 10 50000 \ スケジュールエントリ S 0f 450000 \ スケジュールエントリ S 1f 96 \ フラグ 0x2 この情報があなたの助けになれば幸いです。 BR ジョーイ Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t MコアまたはAコアでGMAC0を使用してgPTPを利用していますか? A: Aコアについて 現在、GMACのTSN機能を利用していますか?VLANは使用されましたか? A: GMACのTSN機能を利用すること:gptp;gptpパケットにはVLANがありません。 GMACコントローラは5つのTx/Rxキューを提供します。 すべてのgPTPトラフィックを最も優先度の高いTx/Rxキュー(q4)にルーティングする必要があります。 対応するレジスタの設定やコード実装方法、そしてLInuxでの設定方法(例えば:tc、ip)についてアドバイスいただけますか? Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t こんにちは、ジジエ お問い合わせいただきありがとうございます。もう少し詳しい情報を教えてもらえますか? MコアまたはAコアでGMAC0を使用してgPTPを利用していますか? 現在、GMACのTSN機能を利用していますか?VLANは使用されましたか? BR ジョーイ Re: How to ensure that gPTP Layer 2 packets are transmitted with the highest priority via GMAC0 on t こんにちは、ジジエ ご返信よろしくお願いします。 デバイスツリーのgmac0セクションでキュー情報の設定を試してみてください。 arch\arm64\boot\dts\freescale\s32cc.dtsi というファイルが含まれています。         gmac0 : ethernet@4033c000 { ステータス = "無効" ; compatible = "nxp,s32cc-dwmac" ; mtl_rx_setup_gmac0 : rx-queues-config { snps、使用する受信キュー = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; };             mtl_tx_setup_gmac0 : tx-queues-config { snps、使用するtx-queues-to-use = < 5 >; #address-cells = < 1 >; #size-cells = < 0 >;                 queue@0 { };                 queue@1 { };                 queue@2 { };                 queue@3 { };                 queue@4 { }; }; また、GMACドライバでRXキューパケットのルーティング設定を見つけられます。Q4のノードを「snps,route-ptp」として設定してみてください。 ご質問があればいつでもご連絡ください。   BR ジョーイ
記事全体を表示
How to measure CPU load for S32G399 baremetal application on S32DS Hi everyone, I would like to know how to measure CPU load for S32G399 while it is running.  Background: my S32G399 project is a four-core M7 baremetal one with one ELF file which is developed on S32DS3.5.10. I use a custom bootloader to boot up A53 and M7 which has been implemented. My request is measuring CPU load on M7 end. I have S32 Debug Probe on hand, so I can attach to my M7 application while it is running. However, I don't know the detailed steps/way to measure the load. I even don't know if it is feasible only using S32 Debug Probe to reach this goal.  Hopefully someone can provide relevant document or some guidance. Thank you. Re: How to measure CPU load for S32G399 baremetal application on S32DS Hello, @Yang_C  Thanks for your post. 1. From my understanding, solely depend on the debugger may not obtain run time CPU load accurately. 2. It is possible to add some code to your own application, for example, to enable timer, then measure the time executing your main task, at last. calculate the portion of (executing time)/(running time) to evaluate the rough CPU load. BR Chenyin Re: How to measure CPU load for S32G399 baremetal application on S32DS Thank you very much. I will try code-side measuring.
記事全体を表示
S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data Hi NXP team, I’m working with the S32K389​ and testing the AES_ACCEL (ACE/MSC)​ module. I’ve encountered a stability issue when processing large data buffers. Test Setup: Mode:​ AES-CBC Case 1 (Pass):​ Encrypting 4KB​ data works correctly. Case 2 (Fail):​ Encrypting 64KB​ data causes the chip to crash/hang immediately when the AES service is executed. Observed Behavior: S32DS (S32 Design Studio) freezes during the execution of the AES service. Attempts to Attach​ to the S32K389 via the debugger fail completely. Questions: Are there any known limitations regarding the maximum data length per AES_ACCEL transaction? Best Regards, xianlong Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data Hi @wuxianlong  Let me check this. I will get back to you as soon as possible.  Regards, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data I'm sorry for delay, I have some issues with access rights to internal resources and it takes more time than expected to solve it. I will answer this as soon as possible. Thanks for your patience.  Regards, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data Hi @wuxianlong  There's following limitation for CMAC generate a verify services: I'm still checking if there's a limitation also for encryption. I will let you know later.  Regards, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data Hi,@lukaszadrapa  Thank you very much for your explanation. It is probable that encryption and CMAC verification face the same limitations. Best Regards, xianlong Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data I got information that size limitation is 512KB - the size of LEN bit field is 19 bits.  Interesting thing is that the execution crashed completely. I would expect that AES_ACCEL just returns some error code in case of invalid parameters.  Isn't that caused by XRDC? Is XRDC enabled? Could you try to disable it for test purposes? Regards, Lukas Re: S32K389 AES_ACCEL hangs/freezes when encrypting 64KB data Hi,@lukaszadrapa  Testing with 64KB still fails. Enabling AEC error detection revealed the IP driver macro sets the limit to (1 << 19) - 1​ bit < 64 KB. Best Regards, xianlong
記事全体を表示
S32DS S32G399ベアメタルアプリケーションでCPU負荷を測定する方法 こんにちは、皆さん S32G399が動作している際のCPU負荷を測定する方法を知りたいです。 背景:私のS32G399プロジェクトは、S32DS3.5.10上で開発された1つのELFファイルを持つ4コアM7ベアメタルプロジェクトです。私は、実装済みのカスタムブートローダーを使用してA53とM7を起動しています。私の依頼は、M7側のCPU負荷を測定することです。S32 Debug Probeを手元に持っているので、M7アプリケーションが動いている間に接続できます。しかし、負荷を測定するための詳細な手順や方法はわかりません。S32デバッグプローブのみを使用してこの目標を達成することが実現可能かどうかさえ分かりません。 誰か関連する書類や指針を提供してくれるといいですね。 よろしくお願いします。 Re: How to measure CPU load for S32G399 baremetal application on S32DS こんにちは、 @Yang_C 投稿ありがとうございます。 1. 私の理解では、デバッガーだけに頼ると、実行時のCPU負荷を正確に取得できない可能性があります。 2. 例えば、自分のアプリケーションにタイマーを有効にするコードを追加し、最終的にメインタスクを実行する時間を測定することも可能です。(実行時間)/(実行時間)の割合を計算して、おおよそのCPU負荷を評価します。 BR チェイン Re: How to measure CPU load for S32G399 baremetal application on S32DS どうもありがとうございます。コード側での計測を試してみます。
記事全体を表示