Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
パスワード保護(AUTH0/アクセス)を有効にした後、NTAG213 の書き込み保護を解除できません NXPチームの皆様、こんにちは。 私は、 PN7160 NFC コントローラとNXP Linux nfcDemoAppを使用してNTAG213タグを操作しています。 私が成功したこと: nfcDemoApp (main.c)を変更し、次のように設定して NTAG213 の書き込み専用パスワード保護を有効にしました。 障害者 パック 認証0 アクセス (PROT = 0) 書き込み保護は正常に機能します: モバイルNFCアプリは書き込みができなくなりました アプリケーションからPWD_AUTHを送信した後にのみ書き込みが可能 AUTH0を0xFFにリセットする アクセスをクリア 設定ページを書き直す また、 NXP NFC TagInfo / NFC Toolsアプリを使用して別の NTAG213 の書き込み保護を有効にしましたが、これも期待どおりに機能しました。 私が直面している問題: 現在、どちらのCASEも書き込み保護を解除できません。 独自のコードを使用する(nfcDemoApp) Using NXP NFCツール/タグライターモバイルアプリの使用 正しいパスワード (PWD_AUTH) で認証した後でも、次の試行は失敗します。 私の理解: NTAG213 のデータシートから、次のことを理解しました。 PWD_AUTHはRFセッション中に保護されたページへの書き込みを許可する必要がある 認証後、AUTH0とアクセスを変更できるようになる。 NTAG213には、パスワード保護のための永続的なロックビットはありません(ロックバイトとは異なります)。 しかし、実際には、タグを保護されていない状態に戻すことはできません。 質問: NTAG213 のパスワードベースの書き込み保護を有効にした後で、それを削除または無効にすることは正式にサポートされていますか? PWD_AUTH が成功した後、AUTH0 ページとアクセス ページは書き込み可能になりますか、それとも一度設定されると永続的に保護されますか? NTAG213 を書き込み可能 (保護されていない) 状態に戻すための推奨シーケンスはありますか? NXP NFC ツール / タグライターは NTAG213 のパスワード保護を削除できるか、またはカスタムの raw コマンド処理が必要ですか? 構成ページを変更するには、認証後に完全なリセット (RF セッションのリセット/電源サイクル) が必要ですか? NXP チームからのガイダンスや説明は非常に役立ちます。 再開まで今しばらくお待ちください。 よろしくお願いします、 ニランジャン Re: Unable to remove write protection on NTAG213 after enabling password protection (AUTH0/ACCESS) 私はRFIDDiscoverを使用します。設定ページで設定を変更して保護を解除することができます。
記事全体を表示
CANFDにおける二次サンプリングポイントオフセット(SSPオフセット)の設定について ISO 11898-1 2015では、SSP(サンプリングポイント)を通常のサンプリングポイント(SP)の前に配置することが要求されています。しかし、当社の仕様ではSSPオフセットをTSEG1と等しく定義しており、SSPとSPは同じ位置にあります。これにより、SSPの迅速なエラー検出機能が損なわれます。仕様におけるこのSSPオフセットの固定は妥当でしょうか? たとえば、仕様では、SSP オフセット = TSEG1 となる CANFD サンプリング ポイント構成の推奨が必要です。   Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 こんにちは、 ISO 11898-1 2015 の正確な文言はわかりませんし、写真の出所もわかりません。おそらくそれはすべて単なる誤解です。 ISO 準拠の CAN FD コントローラは、TDC を使用してループ遅延を測定し、設定可能な SSP を採用することで、トランスミッタがより高いデータ レートでデータ エラーを適切に検出できるようにします。TDC/SSP を省略するとこのメカニズムが無効になり、エラー検出の堅牢性が低下します。 図が示すもの: TX 出力: コントローラから送信された CAN FD ビットを表します。 RX 入力: トランシーバ遅延後の受信ビットを表します。 TDC 測定: コントローラは TX と RX 間のループ遅延を測定します。 TDC オフセット: 測定された遅延に追加される、ユーザーが設定可能な値。 SSP 位置: SSP = TDC 測定値 + TDC オフセットとして計算されます。 SSP は、TX ドメイン内のメイン SP の前に配置されるものではありません。代わりに、RX 信号をサンプリングするときに、トランシーバの遅延を考慮した後に正しいビット センターに揃うように配置されます。TX の観点から見ると、物理的な遅延により RX 信号が TX より遅れるため、SSP は通常の SP よりも遅く表示されます。TDC オフセットを公称 SP と同じに設定すると、RX サンプリング ポイントが受信ビットと同じ時間になることが保証されますが、ビットの中央など自由に設定できるため、エラー検出とデータの整合性にとって最適になります。 ISO 11898‑1 では、TX ドメインでの早期エラー検出ではなく、トランスミッタの遅延補正に SSP が必要です。目標は、遅延後にトランスミッタが自身のビットを正しく検証できるようにすることです。 BR、ペトル Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 感谢回复
記事全体を表示
HSEコンセプト こんにちは、NXPさん M7 と A53 から HSE に並行してアクセスするために、内部で同期が行われますでしょうか?完全に分離されていますか? M7 で SHE 仕様に従って HSE が使用され、A53 で pkcs11 に従って HSE が使用される場合、理論的にはそれらは互いのキーにアクセスできますか (一部の暗号化に同じキーを使用)?SHE でキーをプロビジョニングして、それを他のパーティションで使用することはできますか? s32g274を使用したカスタムボード よろしくお願いいたします。 あんぱ Re: HSE concept こんにちは、 @anpa711 ご投稿ありがとうございます。 1. 通常、M7 部分は 1 つの MU を介して HSE にアクセスしますが、A53 部分は別の MU を介して並行して HSE にアクセスする場合があり、HSE は内部ロジックに基づいてこれらの要件を処理し、ユーザーには透過的です。 2. HSE では、SHE キーは HSE_KEY_TYPE_SHE であり、共通操作は HSE_KEY_TYPE_AES である可能性がありますが、これらは HSE では異なるタイプであり、SHE 操作は SHE サービス経由でのみプロビジョニングできるため、 HSE_KEY_TYPE_SHE タイプのキーをエクスポートすることはできません。 BR チェイン Re: HSE concept こんにちは、 @anpa711 ご返信ありがとうございます。 はい、可能です。 BR チェイン Re: HSE concept こんにちは、 @anpa711 ご返信ありがとうございます。 1. S32G の観点からは、HSE_DEMOAPP に含まれる SHE ベースのセキュア ブート デモのみが提供されています。これは、NXP アカウントの HSE FW ダウンロード ページから入手できます。 2. S32K の部分については、あまり詳しくないので申し訳ありませんが、返信は、この掲示板に返信した同僚によって提供されるはずです: https://community.nxp.com/t5/S32K/bd-p/S32K BR チェイン Re: HSE concept こんにちは、 chenyin_hさん ありがとう、これは良さそうです。 s32K および s32g の MCAL には、SHE 仕様 (EB Autosar スタックと MCAL を使用しています) に従って、または他の形式で、いくつかのキー プロビジョニング デモ/テストが付属していますか? よろしくお願いいたします。 あんぱ Re: HSE concept こんにちは、 chenyin_h さん 回答ありがとうございます。 1. わかりました。同期は必要ないようですね。 2. キーを抽出するつもりはなく、次のUSE CASEを意味しました。SHE 仕様では、AES キーをスロット 8 にプロビジョニングします。このキーが存在する場合、A53 側でこのキーを使用して pkcs11 を使用して復号化/暗号化します。これは可能ですか? よろしくお願いいたします。 あんぱ
記事全体を表示
Imx95 verdin EVK、Aquantia10gbpsインターフェースはudpで1.2gbpsに制限されています こんにちは、 私は、Aquantia 10 Gbps インターフェースを介して、2 つの Imx95 verdin EVK A1 シリコン バージョン ボード間の通信を確立しようとしています。両方のボードは、nxp インストーラー (aquantia-firmware-utility/aq_api_2_9_7 at master · nxp-qoriq/aquantia-firmware-utility · GitHub) を使用して適切にインストールされた aquantia10 G ファームウェア (AQR-G4_v5.6.D-AQR_Marvell_NoSwap_XFI_ID44834_VER2068.cld) とともに Debian 12 (Linux カーネル 6.12.3 ) を実行しています。これらは Cat6a イーサネット ケーブルを使用して物理的にコネクテッドされます。 iperf3 を使用してパフォーマンス テストを実行すると、ターゲット帯域幅を 7 Gbps に指定した場合でも、TCP で約 5 Gbps、UDP で約 1.2 Gbps が得られ、損失は 0% になります。 # TCPテスト 最初のボードで iperf3 -s # iperf3 -c -t 30 # 2番目のボード # UDPテスト iperf3 -s iperf3 -c -u -b 7G -t 30 ip link set dev enp1s0 mtu 9000 でジャンボ フレームを有効にしようとすると、制限を超えたというエラーが発生します (10Gbps インターフェースがジャンボ フレームを受け入れないのは奇妙です) また、UDPバッファサイズを増やそうとしましたが、同じビットフレームが発生します 両側でiperf3を実行してもCPU負荷は40%を超えません 最大スループット (10 Gbps 近く) を達成するために、適用する特定の n 構成やインストールする追加ツールはありますか? Aquantia FW バージョンは適切ですか? Linux カーネルのバージョンは適切ですか? FW インストーラーのバージョンは適切ですか? 誰かがすでにこのターゲットで 10Gbps インターフェースを使用しようとしましたか? よろしくお願いいたします。 アブデルモナエム Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp 1. 両方のシステムで次の設定を構成してみます。 cpufreq-set -g パフォーマンス sysctl -w net.core.rmem_max=26214400 sysctl -w net.core.wmem_max=26214400 sysctl -w net.core.netdev_max_backlog=250000 sysctl -w net.ipv4.tcp_rmem='409687380 16777216' sysctl -w net.ipv4.tcp_wmem='409665536 16777216' 2. 可能であれば、iperfサーバーとは異なる参照システムを使用します(例:インテル Xeon 3. iperf3 自体はテスト ストリームごとにシングル Thread なので、-P オプションを使用してみてください。 例えばiperf3 -c -u -b 10G -t 30 -P 6 (6つのストリーム) 4. 順方向と逆方向の両方のストリームをチェックする(-R) iperf3 -c 192.168.1.1 -t 10 -b 10G -u -R Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp こんにちは、 ご意見ありがとうございます。 設定を適用します: cpufreq-set -g パフォーマンス sysctl -w net.core.rmem_max=26214400 sysctl -w net.core.wmem_max=26214400 sysctl -w net.core.netdev_max_backlog=250000 sysctl -w net.ipv4.tcp_rmem='409687380 16777216' sysctl -w net.ipv4.tcp_wmem='409665536 16777216' 現在、送信側のみで10Gbps、時には8、8または9、8Gbpsを達成でき、iperfのみでiperf3は使用していません。レシーバ側では、フレーム損失が36%で5.59Gbpsしか達成できません。この問題を解決するのを手伝っていただけますか? Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp 6.12.49へのマイナーバージョンアップグレードとなります ところで、スループットを向上させるために、DPDK または AF_XDP も検討してみてはいかがでしょうか? Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp => TCPとUDPの送信パフォーマンス iperf3 を使用して TCP パケットを送信する場合、各 TCP パケットは 128 KB であり、パケットは ENETC ハードウェアの LSO 機能によって断片化されます。SO、TCP 転送パフォーマンスが向上します。 iperf3 は、UDP ソケットを作成するときに UDP_SEGMENT を有効にしません。したがって: - 各 UDP パケットのサイズは、およそ MTU サイズ (≈1500 バイト) です。 - 同じデータ サイズの場合、UDP は TCP よりも多くのパケットを送信する必要があります。 パケット数の増加 → カーネルプロセッシングの増加 → LSO を使用した TCP と比較してパフォーマンスの低下。 => TCP の場合、受信が送信に比べて大幅に低いのはなぜですか? - Linux カーネルでは TX パスと RX パスが対称ではないため、カーネル内の各 RX パケットと各 TX パケットのプロセッシング時間は異なります。また、TCP は送信時に LSO オフロードを使用しています。 - RSC はカーネル内でデフォルトで有効になっていません。ENETC の RSC が適切に動作するように、TCP タイムスタンプを無効にする必要があります。現在、i.MX95 の RSC はデフォルトで無効になっています。 a) i.MX95(レシーバ)のRSCを有効にする: ethtool -K eth1 大容量受信オフロードオン b) TCPタイムスタンプを無効にする(送信側): sysctl -w net.ipv4.tcp_timestamps=0 sysctl -p /etc/sysctl.conf RSC を有効にすると、レシーバの TCP パフォーマンスが向上します。 さらに、より高いスループットを得るためにジャンボ フレームを使用することもできます。(最新リリースを実行していることを願います)。 # 両側のMTUを9000に変更します IPリンク設定 dev eth1 mtu 9000 # イーサネット ドライバの RX バッファの長さを変更します。 ethtool -G eth1 受信バッファ長 16384 マルチストリーム モードでは、8 ~ 10 Gbps の UDP RX/TX が確認できます。 Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp こんにちは、 私は今のところUDPだけに興味があり、TCPには興味がありません。そして、オフロードは メカニズムはUDPには適用されません MTU を 9000 に設定してジャンボ フレームを有効にしようとしましたが、制限の 1500 を超えたというエラーが表示されます (カーネル バージョン 6.12.3 を使用しています) よろしくお願いいたします。 アブデルモナエム Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp RSC 設定により UDP パフォーマンスも向上します。 ENETC のジャンボ フレームの変更/修正は、2 週間以内にリリースされる LF-Q4 で利用可能になる予定です。 Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp わかりました、これを試してみます、そして結果がどうなったかお伝えします、 LF-Q4 の Linux カーネル バージョンを詳しく教えていただけますか?先ほど言ったように、私は 6.12.3 を使っていますが、シリコン リビジョンが A1 なので上位バージョンに移行できません。B0 リビジョンにアップグレードする必要があるかどうかを知る必要があります。 Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp 問題はありません。iperf で 1 つのフローだけで 5Gbps の並列フローで 9、8Bps で 10Gbps まで行くことができますが、大きな問題は UDP です。モノフローでは 2Gbps でフレーム損失はなく問題ありませんが、並列フローでは 5、5Gbps で 42% の損失があります。 Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp AF_XDP や DPDK が 46% の損失を 0% に減らすのに役立つとは思えません。また、IRQ の親和性も検証したところ、10G インターフェースには 6 つの IRQ があり、それぞれが CPU に影響を与えていることがわかりました。テスト中に CPU 負荷の問題は発生しませんでした。1 つの CPU の最大 CPU 負荷は 40% です。フレームが失われ続ける理由がまだわかりません。使用しているカーネル バージョンがジャンボ フレームをサポートしていないことが原因かもしれません。 あなたの側(NXP)で10Gインターフェースのパフォーマンステストは実施しましたか?あなたの側でテストして、私と同じ問題があるかどうかを確認する必要があると思います。 Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp AF_XDP または DPDK はカーネル ネットワーク スタックを使用しません。 DPDK には特別なドライバがあり、ユーザー空間でのみ動作します。ネットワークとパケットプロセッシングに高度に最適化されています。すべての IP パケットに対して非常に高速なパフォーマンスをCANで提供できます。以下のサイトで確認することができます。 第10章: https://www.nxp.com/docs/en/reference-manual/RM00293.pdf Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp このテストは、シリコン リビジョン A1 または B0 で実行されます。 このテストに使用されたカーネル バージョン 6.12.49 が B0 にのみ適用可能か、それとも A1 にも適用可能かを確認しますか? このカーネル バージョンは BSP 配信には表示されません。最新のものは 6.12.34 ですhttps://www.nxp.com/pages/alpha-beta-bsps-for-microprocessors:IMXPRERELEASES Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp 新しいカーネル ツリーと変更は次の場所で入手できます。 https://github.com/nxp-imx/linux-imx/commits/lf-6.12.49-2.2.0 新しい LF リリースでは A1 サポートが削除されました。 次のオプションがあります。 1. カーネルを個別にビルドし、ビルド内のカーネルのみを置き換えます。(うまくいくかもしれない) 2. マーケティングお問い合わせにボードを B0 に交換してもらい、LF-Q4'2025 リリースを実行できるように SO CAN します。 Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp これらの行からは理解できません: 単一 UDP ストリーム送信 (1500 MTU): 2 Gbps (単一ストリームで MTU 1500 の送信では 2 Gbps になるようです) マルチ UDP ストリーム送信 (1500 MTU): 10 Gbps (これは、マルチ ストリームで MTU 1500 の送信では 10 Gbps になるようです) 単一 UDP ストリーム送信 (9000 MTU): 8.2 Gbps (単一ストリームで MTU 900 の送信では 8.2 Gbps になるようです) 単一 UDP ストリーム受信 (9000 MTU): 3.9 Gbps (単一ストリームで MTU 9000 の Rx では 3.9 Gbps になるようです) マルチ UDP ストリーム受信 (9000 MTU): 10Gbps (マルチストリームの MTU 9000 の Rx では 2Gbps になるようです) 私には見えません: 単一UDPストリーム受信(1500 MTU) マルチUDPストリーム受信(1500 MTU) Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp わかりました。念のため、受信側で MTU = 1500 でテストを行ってください。この新しいバージョンで私と同じ結果が得られるか知りたいです。また、テストでは送信を 1500、受信を 9000 に設定していますが、これでは何も変わりません。両側で 1500 になっているようなものです。ジャンボ フレームをテストする必要がある場合は、両側で 9000 にする必要があります。次の構成でテストをやり直してください。 1- モノおよびマルチストリームで両側に MTU = 1500 の RX/TX 2- モノおよびマルチストリームで両側に MTU = 9000 の RX/TX よろしくお願いします Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp はい、このようにして結果がテストされました。 MTU はすべてのCASEで両側で同じでした (両方とも 1500 または両方とも 9000) Re: Imx95 verdin EVK, Aquantia10gbps interface limited on 1.2gbps on udp 添付資料参照 また、A1 SOCでも実行していることにも注意してください。 UBOOT ログ: - U-Boot 2025.04-g8c1de2e1deca(2025年5月9日 - 15:29:26 +0000) CPU: i.MX95 rev1.1(1800MHz) CPU: オートモーティブ温度グレード (-40℃~125℃)、30℃ LM ブート理由: sw、オリジン: 2、エラー: 1 LM シャットダウン理由: sw、発生元: 2、エラー: 1 モデル: NXP i.MX95 19X19 ボード DRAM: 15.8ギブ --- SMログ >$ 情報 SM バージョン = ビルド 633、コミット c37b26da SM 構成 = mx95evk、mSel=0 ボード = i.MX95 EVK、属性 = 0x00000000 シリコン = i.MX95 A1 ブートモード = 通常 ブートデバイス = MMC1 ブートステージ = プライマリ ブートセット = 1 ECID = 0x6E5F04BA0000000500041D0899123F81 PMIC 0 (0x08) = 0x20、0x09、0x10、0x00、0x01 PMIC 1 (0x2A) = 0x54, 0x22, 0x00, 0x0B PMIC 2 (0x29) = 0x55, 0x22, 0x00, 0x0A コンパイラ = gcc 14.2.1 20241119
記事全体を表示
操作指南:在 S32G 电路板支持包中配置静态 IP 1. 简介 当使用由电路板支持包(如 BSP43)生成的 Yocto 根文件系统时,默认的网络配置通常设置为使用 DHCP。因此,S32G-VNP-RDB3 板上连接到每个端口的 DHCP 服务器可能会为不同的以太网端口分配不同的 IP 地址。 这种默认行为对大多数客户来说很方便,因为它不需要额外的网络配置。端口在连接以太网电缆后立即可用,这与已包含DHCP服务器的典型开发环境非常吻合。 然而,有些客户可能没有可用的 DHCP 服务器,或者他们需要特定的网络配置,而不是使用 DHCP 自动分配的设置。例如,客户可能希望将某个以太网端口专门用于某个子网,以便通过 SSH 进行访问。在无法使用 UART 调试控制台的情况下,预先设置好静态 IP,便可在开发板启动后立即进行远程访问。 本文档介绍了一种方法,可为某个特定以太网端口配置静态 IP 地址,同时让其余端口继续使用默认的 DHCP 配置。客户还可以进一步定制配置以满足其具体的网络需求。 S32G
記事全体を表示
为什么在 S32K3 模块中添加 EMCEM 会导致硬故障处理程序? 我想在当前代码中添加 EMCEM,但添加后发现它要进入硬故障处理程序。但是,如果我删除 EMCEM,我的代码就会恢复工作状态。 我试着关闭故障组和 DCM 故障,看看问题是否是由 EMCEM 的检测引起的,但还是不行。 我尝试调整 FREERTOS 的 TOTAL HEAP SIZE = 32768、TIMER TASK STACK DEPTH = 2048 和 QUEUE REGISTRY SIZE = 10,但都不起作用。 消息显示 " 总线故障," 但是在我添加 EMCEM 模块之前,所有功能都运行良好,没有总线故障。我不知道为什么要这么说。 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 配置 EMCEM 时,我没有配置时钟。我只添加了 EMCEM 模块,并添加了 `eMcem_Init(&eMcem_Config_0)`。不过,我检查了时钟配置,显示 "ERM0_CLK = 40 MHz"。这样做对吗? 然后我发现问题出在 `eMcem_Erm_Init` 的 `SAFETYBASE_REG_WRITE32( addr, ERM_SR_CLEAR_VAL_U32 );` 操作中。如果我注释了 `SAFETYBASE_REG_WRITE32( addr, ERM_SR_CLEAR_VAL_U32 );` ,就不会出现 `HARD FAULT HANDLER` 错误。但是,这是 RTD 驱动程序,我认为我不应该修改它。 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 嗨,@Allen_863、 故障似乎发生在 ERM 初始化过程中。能否确认 ERM 时钟是否被禁用? 如果时钟已启用,请提供有关故障的其他详细信息,以便我们进一步调查。 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259   https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570   https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 BR,丹尼尔 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 我检查了 MC_ME PRTN1_COFB0_STAT 的第 23 位,发现它为 0,然后找到了 PRTN1_COFB0_REQ23 的开关。 感谢您的帮助。 Re: Why does adding EMCEM to the S32K3 module cause a hard fault handler? 嗨,@Allen_863、 在 eMCEM 和 ERM 初始化之前,能否在 MC_ME PRTN1_COFB0_STAT 寄存器中检查 ERM 时钟是否运行? 谢谢! BR,丹尼尔
記事全体を表示
T1024 PCSリンクアップデバッグ この記事では、お客様のイーサネットPCSがリンクアップできなかった場合に、T1024に基づいて段階的にデバッグする方法を説明します。 多くのイーサネットはSerDesによって設定されるため、リンクエラーの原因がSerDesまたはPCS自体であるかを確認するにはどうすればよいでしょうか。この記事ではいくつかのヒントを提供します。 SerDesレーン&ピンズ まず、使用しているSerDesレーンを確認してください。SerDesレーンを確認するには、QorIQ T1024リファレンス・マニュアルを参照してください。以下の設定のように、ユーザーケースがRCW[128:136]にSRDS_PRCTL_S1=0x05Bと設定される場合、アプリケーションはSGMII.m1とSGMII.m2を利用します。 この記事では、SGMII.m1をユーザーケースとして検討します。次に、SGMIIはフレームマネージャのMAC1に配置されます。 SerDesのレーン割り当てを確認して、SerDesのレーンを確認してください。SGMII.m1の場合、特定のレーンピン名はSD1_TX3P/NとSD1_RX3P/Nで、レーン3として認識されます。 MAC番号はSerdesのレーン番号とは関係ありません。ピンを入手するには特定の表を確認する必要があります。 このイーサネットを使用したハードウェアテストは、ピンに関連している必要があります。以下のコンポーネントのピン番号を参照してください。 このレーンのRXピンのアイダイアグラムをテストすると、周波数が正しいかどうかを確認できます。このレーンをSGMII 1.25Gに設定すると、アイダイアグラムで速度が正しく設定されていることを確認できます。 上のアイダイアグラムは、SerDesの速度を示しています。 ループバックを正しく行うことは非常に重要ですが、他のデバイスに接続することも可能です。 SerDesのリンクアップを確認する方法 以下のQorIQ T1024リファレンス・マニュアルでレーンレジスタをご確認ください。 このユーザーケースはレーン3となるため、レーン3のレジスターを読み出して、SerDesレーン3が正常に動作するかどうかを確認してください。以下のように。 # レーン 3 md.l 0xFFE0EA8C0 1 - aa611080 # LN3GCR0 md.l 0xFFE0EA8C4 1 - 101c4019 # LN3GCR1 md.l 0xFFE0EA8CC 1 - 00002800 # LN3SSCR0 md.l 0xFFE0EA8D0 1 - 0f0fc01f # LN3RECR0 md.l 0xFFE0EA8D4 1 - 0f0f0fa8 # LN3RECR1 md.l 0xFFE0EA8D8 1 - 00003006 # LN3TECR0 md.l 0xFFE0EA8E0 1 - 39000400 # LN3TTLCR0 md.l 0xFFE0EA8E4 1 - 00000000 # LN3TTLCR1 md.l 0xFFE0EA8F4 1 - 00000000 # LN3TCSR1 md.l 0xFFE0EA8FC 1 - 04000000 # LN3TCSR3 SerDes_LNnTCSR3は重要なデバッグテストレジスタであり、CDR_LCKはCDRがロックされているかどうかを確認するためのものです。 CDR_LCK=0は、有効なビットストリームが検出されないことを意味します。テストとして、レーンをループバックモードLN2TCSR3[LPBK_EN]=01に設定できます。CDRはデジタルループバックモード(内部ループバック)でロックされる必要があります。そうでない場合、デバイス自体に問題がある可能性があります。 そのため、LPBK-ENを「01」ループバックモードに設定できれば、SerDes自身のTX信号とRX信号がループバックモードに設定され、外部信号が除外されます。CDR_LCKが1の場合は、SerDes自体が正常に機能します。とにかく、CDR_LCKは常に設定されているはずです。 "md.l 0xFFE0EA8FC 1 - 04000000 # LN3TCSR3"では、CDR_LCK=0となっており、SerDesレベルの問題が疑われます。 通常の状態では、以下の通りである必要があります: => md fe0ea8fc 1 fe0ea8fc: 08000000 PCSリンクアップを確認する方法 MACおよびPHYレジスタは、T1024DPAArm、QorIQ T1024 データ・パス・アクセラレーション・アーキテクチャ (DPAA) リファレンス・マニュアルから詳細を取得する必要があります。 DPAARMでオフセットアドレスを見つけてください。 SGMIIのMACアドレスはオフセット+0x1000でなければなりません。 T1024DPAARMの6.5.4 MDIOイーサネット管理インターフェイス に従って、MDIOレジスタを読み取ってください。 このアプリケーションでは、SGMII1、MAC1のMAC1アドレスはFM1_mEMAC1: 4E_0000であり、したがってFM1_mEMAC1 MDIOレジスタは4E_1000hになります。 ユーザーケースでは、プロトコルはSGMIIで、T1024DPAARMの6.5.4.3 22条項読み取りフローに従う必要があります。 6.5.4.3 第22条 読み出しフロー 1) MDIO_CFG[BSY] = 0になるまで待ちます。 2) MDIO_CTLに適切なPHY_ADDRとREGISTER_ADDRを設定し、ビット16をセットして書き込んでください。 3) MDIO_CFG[BSY] = 0になるまで待ちます。 もしアドレスされた PHY が応答しなければ、MDIO_CFG[MDIO_RD_ER]が設定されます。 それ以外の場合は、MDIO_DATAの値を読み取ってください。 このユーザーケースでは、MDIO_SGMII_SRを読むと、QorIQ T1024リファレンス・マニュアルの30.5.5 1000Base-KX PCS MDIO メモリマップ/レジスタ定義にレジスタ定義が見つかります 重要なビットは以下の通りです。 こちらがユーザーケースの結果です: MDIO_SGMII_SRを読み取る際は、遅延時間の要件を満たすことができる手動入力を使用してください。 手動で入力できない場合は、フローに従い、「MDIO_CFG[BSY] = 0」を待ってから、MDIO_DATAの値を読み取ってください。 SGMII1 MDIOレジスタを読み取ってください === セルデステスト1 ===。 0xFFE0EA8FC 値: 0x08000000 PCS0レジスタ 0xFFE4E1030-0xFFE4E103Cをダンプしてください: 0x40001408 0x00000000 0x00001340 0x00001340 0x8002、devmem 0xFFE4E1034 32 0x8002を選択 読み取り:0x00000083 0x8003, devmem 0xFFE4E1034 32 0x8003を選択 読み取り:0x0000E400 0x8001、devmem 0xFFE4E1034 32 0x8001を選択 Serdes0 ステータス: 0x00000029 0x8001 devmem 0xFFE4E1034 32 0x8001を選択 Serdes0 ステータス: 0x0000002D 0x8001, devmem 0xFFE4E1034 32 0x8001を選択 Serdes0 ステータス: 0x0000002D 最初はリンクされておらず、LINK_STATは0(0x00000029)で、次に1(0x0000002D)に変わります。 これで、PCSリンクが確立され、HWループバックチェックが完了しました。
記事全体を表示
RT1021:使用 ROM_FLEXSPI_NorFlash_Erase() 擦除闪存扇区 你好 在 EVK 上,我试用了 SDK 25.03.00 中的 evkmimxrt1020_fsl_romapi 示例,它工作正常。 然后,我自己在另一个项目中进行了尝试。它失败了。 ROM_FLEXSPI_NorFlash_Erase() 返回 6001,表示 kStatus_ROM_FLEXSPI_InvalidSequence。 我不知道是哪个顺序。 这两个项目使用完全相同的结构: config->memConfig.tag = FLEXSPI_CFG_BLK_TAG; config->memConfig.version = FLEXSPI_CFG_BLK_VERSION; config->memConfig.readSampleClksrc=kFLEXSPIReadSampleClk_LoopbackInternally; config->memConfig.serialClkFreq = kFLEXSPISerialClk_30MHz; /* Serial Flash Frequencey.See System Boot Chapter for more details */ config->memConfig.sflashA1Size = FLASH_SIZE; config->memConfig.csHoldTime = 3U; /* Data hold time, default value: 3 */ config->memConfig.csSetupTime = 3U; /* Date setup time, default value: 3 */ config->memConfig.deviceType = kFLEXSPIDeviceType_SerialNOR; /* Flash device type default type: Serial NOR */ config->memConfig.deviceModeType = kDeviceConfigCmdType_Generic; config->memConfig.columnAddressWidth = 0U; config->memConfig.deviceModeCfgEnable = 0U; config->memConfig.waitTimeCfgCommands = 0U; config->memConfig.configCmdEnable = 0U; /* Always enable Safe configuration Frequency */ config->memConfig.controllerMiscOption = FSL_ROM_FLEXSPI_BITMASK(kFLEXSPIMiscOffset_SafeConfigFreqEnable); config->memConfig.sflashPadType = kSerialFlash_4Pads; /* Pad Type: 1 - Single, 2 - Dual, 4 - Quad, 8 - Octal */ config->pageSize = FLASH_PAGE_SIZE; config->sectorSize = FLASH_SECTOR_SIZE; config->blockSize = FLASH_BLOCK_SIZE; config->ipcmdSerialClkFreq = kFLEXSPISerialClk_30MHz; /* Clock frequency for IP command */ /* Fast Read Quad I/O */ config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_READ + 0U] = FSL_ROM_FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xebU, RADDR_SDR, FLEXSPI_4PAD, 0x18U); config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_READ + 1U] = FSL_ROM_FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x06U, READ_SDR, FLEXSPI_4PAD, 0x4U); /* Read Status */ config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_READSTATUS] = FSL_ROM_FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x05U, READ_SDR, FLEXSPI_1PAD, 0x1U); /* Write Enable */ config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_WRITEENABLE] = FSL_ROM_FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x06U, STOP, FLEXSPI_1PAD, 0x0U); /* Page Program - quad mode */ config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_PAGEPROGRAM + 0U] = FSL_ROM_FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x32U, RADDR_SDR, FLEXSPI_1PAD, 0x18U); config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_PAGEPROGRAM + 1U] = FSL_ROM_FLEXSPI_LUT_SEQ(WRITE_SDR, FLEXSPI_4PAD, 0x04U, STOP, FLEXSPI_1PAD, 0x0U); /* Sector Erase */ config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_ERASESECTOR] = FSL_ROM_FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xD7U, RADDR_SDR, FLEXSPI_1PAD, 0x18U); /* Block Erase */ config->memConfig.lookupTable[4U * NOR_CMD_LUT_SEQ_IDX_ERASEBLOCK] = FSL_ROM_FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xD8U, RADDR_SDR, FLEXSPI_1PAD, 0x18U); 此外,在这两个项目中,我在调用 ROM_FLEXSPI_NorFlash_Erase() 之前立即验证了 LUT。这些值完全匹配(我还打印了未打包的值): 0: a1804eb - 1 0 eb - 2 2 18 1: 26043206 - c 2 6 - 9 2 4 2: 0 - 0 0 0 - 0 0 0 3: 0 - 0 0 0 - 0 0 0 4: 406 - 1 0 6 - 0 0 0 5: 0 - 0 0 0 - 0 0 0 6: 0 - 0 0 0 - 0 0 0 7: 0 - 0 0 0 - 0 0 0 8: d33e7f5c - 1f 3 5c - 34 3 3e 9: 450ef151 - 3c 1 51 - 11 1 e 10: 46d155d4 - 15 1 d4 - 11 2 d1 11: 73a1e822 - 3a 0 22 - 1c 3 a1 12: 47bf75f6 - 1d 1 f6 - 11 3 bf 13: a1f5786b - 1e 0 6b - 28 1 f5 14: ed50a7ab - 29 3 ab - 3b 1 50 15: fdf85725 - 15 3 25 - 3f 1 f8 16: 3de09612 - 25 2 12 - f 1 e0 17: 73b47a1d - 1e 2 1d - 1c 3 b4 18: 5cd51237 - 4 2 37 - 17 0 d5 19: 86c0494b - 12 1 4b - 21 2 c0 20: 36343fa5 - f 3 a5 - d 2 34 21: 60d6ddf4 - 37 1 f4 - 18 0 d6 22: fa5745bf - 11 1 bf - 3e 2 57 23: 45fbf74d - 3d 3 4d - 11 1 fb 24: 755471dc - 1c 1 dc - 1d 1 54 25: d5a578c4 - 1e 0 c4 - 35 1 a5 26: 11330943 - 2 1 43 - 4 1 33 27: de5431f6 - c 1 f6 - 37 2 54 28: 2404049f - 1 0 9f - 9 0 4 29: 0 - 0 0 0 - 0 0 0 30: 0 - 0 0 0 - 0 0 0 31: 0 - 0 0 0 - 0 0 0 32: 81750f57 - 3 3 57 - 20 1 75 33: c25ccbf0 - 32 3 f0 - 30 2 5c 34: 8235cd11 - 33 1 11 - 20 2 35 35: 107dccd7 - 33 0 d7 - 4 0 7d 36: c3dde31f - 38 3 1f - 30 3 dd 37: 52185d05 - 17 1 5 - 14 2 18 38: c558911f - 24 1 1f - 31 1 58 39: 6d076d06 - 1b 1 6 - 1b 1 7 40: ad5b6f74 - 1b 3 74 - 2b 1 5b 41: c5d5fe5e - 3f 2 5e - 31 1 d5 42: 80654f09 - 13 3 9 - 20 0 65 43: 407951c6 - 14 1 c6 - 10 0 79 44: b456e9a3 - 3a 1 a3 - 2d 0 56 45: 41a8df34 - 37 3 34 - 10 1 a8 46: f31f6b95 - 1a 3 95 - 3c 3 1f 47: 87dddb44 - 36 3 44 - 21 3 dd 48: 3d917153 - 1c 1 53 - f 1 91 49: 1d205437 - 15 0 37 - 7 1 20 50: 48256685 - 19 2 85 - 12 0 25 51: 546d7544 - 1d 1 44 - 15 0 6d 52: 75741a5c - 6 2 5c - 1d 1 74 53: 7115f5fd - 3d 1 fd - 1c 1 15 54: 4cdff553 - 3d 1 53 - 13 0 df 55: 27c647eb - 11 3 eb - 9 3 c6 56: 7e4c0413 - 1 0 13 - 1f 2 4c 57: 303f0784 - 1 3 84 - c 0 3f 58: 25f045b8 - 11 1 b8 - 9 1 f0 59: a5898157 - 20 1 57 - 29 1 89 60: 4715e747 - 39 3 47 - 11 3 15 61: 554858c4 - 16 0 c4 - 15 1 48 62: cd44c644 - 31 2 44 - 33 1 44 63: 50597dd9 - 1f 1 d9 - 14 0 59 我深信一定存在差异,但我已不知道该去哪里寻找。 两个项目都在 RAM 中运行,时钟配置完全相同。 我应该把问题的重点放在哪里? 此致问候 最大值 i.MX RT102x Re: RT1021: Erasing flash sector using ROM_FLEXSPI_NorFlash_Erase() 您好@Sam_Gao 我解决了它。问题出在错误的擦除地址上,但错误代码kStatus_ROM_FLEXSPI_InvalidSequence却让我想到了一个完全不同类型的问题,因此我在相当长的一段时间里都把注意力放在了错误的事情上。 顺祝商祺! 最大值 Re: RT1021: Erasing flash sector using ROM_FLEXSPI_NorFlash_Erase() @mastupristi https://mcuxpresso.nxp.com/api_doc/dev/4490/a00017.html#ga05dc3f1fb8704a958f48f18ad04c2f0f 这似乎是无效序列中的一些问题。我能知道这两个项目是否都来自恩智浦的官方示例,并在同一个EVK板上为你进行了测试吗?
記事全体を表示
imx95 verdin-evk mlan/moal サポート こんにちは、リストの皆さん 次のボードの Wi-Fi/Bluetooth をサポートするために、Linux-imx カーネルと mwifiex コンポーネントのタグlf-6.6.3-1.0.0 を使用しています。 8<-- U-Boot SPL 2023.04+gf8a2983ec8+p0 (2024年3月4日 - 07:25:04 +0000) SOC: 0xa1009500 LC: 0x40010 SYS ブート理由: por、発生元: -1、エラー: -1 SYS シャットダウン理由: por、発生元: -1、エラー: -1 DDRMIXがパワーアップしました 通常のブート MMC1から起動しようとしています プライマリセットが選択されました MMC/SD 0xacc00からイメージをロードする お知らせ: BL31: v2.8(リリース):android-14.0.0-imx95-demo-1-g8dbe28631 通知: BL31: 構築日時: 2024年1月22日 17:57:56 U-Boot 2023.04+gf8a2983ec8+p0 (2024年3月4日 - 07:25:04 +0000) CPU: i.MX95 rev1.1(1800MHz) CPU: オートモーティブ温度グレード (-40℃~125℃)、22℃ LM ブート理由: por、origin: -1、errid: -1 LM シャットダウン理由: por、発生元: -1、エラー: -1 モデル: Toradex i.MX95 19X19 TITAN EVK [..] -->8 私はimx95-19x19-titan.dtbを使用していますが、この dtb にノードがなくても Wi-Fi がどのようにサポートされるのか疑問に思っています。この dtb を逆コンパイルすると、Bluetooth 用のノードが 1 つあります (動作していません)。 8<-- [..] シリアル番号@42590000 { 互換性 = "fsl,imx95-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; <0x42590000 0x1000> レジスタ<0x00 0x42 0x04> =; 割り込み<0x11 0x90> =; クロック =; クロック名 = "ipg"; dmas<0x27 0x16 0x00 0x01 0x27 0x15 0x00 0x00> =; dma-names = "rx", "tx"; ステータス = "正常"; pinctrl-names = "デフォルト"; ピンコントロール-0 =<0x2e> �; ファンドル =<0xcf> �; ブルートゥース { 互換性 = "nxp、88w8987-bt"; fw-init-baudrate<0x2dc6c0> =; }; }; [..] -->8 しかし、Wi-Fi のノードがありません。 どうすれば正常に動作するのでしょうか? モジュール mlan と moal をロードすると「正常」になりますが、新しいネットワーク インターフェースがありません。 8<-- root@target-imx95-verdin-evk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf drvdbg=0x7 [ 1451.671079] mlan: ツリー外のモジュールをロードするとカーネルが汚染されます。 [ 1451.705854] wlan: MWLANドライバを読み込んでいます [ 1451.709988] wlan: バス ドライバに登録... [ 1451.714385] wlan: バスドライバへの登録が完了しました [ 1451.718855] wlan: ドライバが正常にロードされました -->8 何か手がかりはありますか? ありがとうございます。よろしくお願いします。 Re: imx95 verdin-evk mlan/moal support こんにちは@ebio 、 ご反応いただきありがとうございます。 toradex (git://git.toradex.com/linux-toradex.git)からカーネルリポジトリを取得します。ブランチtoradex_6.6-2.2.x-imxを選択し、カーネルをビルドします。 imx カーネル リポジトリとは対照的に、「wifi」を含む dtb ファイル名がいくつかあります。 8<-- % arch/arm64/boot/dts/freescale -iname "imx95*wifi*.dtb" を検索 arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-mallow.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-dev.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-ivy.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-ivy.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-dev.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-mallow.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-dahlia.dtb arch/arm64/boot/dts/freescale/imx95-verdin-nonwifi-yavia.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-dahlia.dtb arch/arm64/boot/dts/freescale/imx95-verdin-wifi-yavia.dtb -->8 ご想像のとおり、Toradexから必要なものを抽出し、NXPカーネルリポジトリ(タグ: lf-6.6.3-1.0.0)のDTBを適応させようとしています。😞 8<-- diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts インデックス ccb88efde3c1..859183be58dc 100644 --- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts @@ -189,6 +189,20 @@ reg_usdhc2_vmmc: レギュレータ-usdhc2 { アクティブハイを有効にする; }; + /* Wi-Fi を追加 */ + reg_wifi_en: レギュレーター Wifi-en { + 互換 = 「レギュレータ固定」; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_wifi_pwr_en>; + /* PMIC_EN_WIFI */ + gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; + アクティブハイを有効にする; + レギュレータ最大マイクロボルト = <3300000>; + レギュレータ最小マイクロボルト = <3300000>; + レギュレータ名 = "PDn_MAYA-W260"; + 起動遅延時間 = <2000>; + }; + reg_pcie0: レギュレータ-pcie { compatible = "レギュレータ固定"; レギュレータ名 = "PCIE_WLAN_EN"; @@ -676,6 +690,19 @@ &usdhc2 { ステータス = "正常"; }; +/* Wi-Fiサポートを追加 */ +/* モジュール内 Wi-Fi */ +&usdhc3 { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + ピンctrl-0 = <&pinctrl_usdhc3>; + ピンctrl-1 = <&pinctrl_usdhc3>; + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; + 電源を停止したままにします。 + 取り外し不可。 + vmmc-supply = <&reg_wifi_en>; + ステータス = "正常"; +}; + &enetc_port0 { pinctrl-names = "デフォルト"; pinctrl-0 = <&pinctrl_enetc0>; @@ -1142,6 +1169,32 @@ IMX95_PAD_SD2_DATA3__USDHC2_DATA3 0x13fe IMX95_PAD_SD2_VSELECT__USDHC2_VSELECT 0x51e >; }; + + + /* WB SKU ではモジュール内 Wi-Fi、それ以外の場合はモジュール固有の SDIO */ + pinctrl_usdhc3: usdhc3grp { + fsl,ピン = , /* SD3_CLK */ + , /* SD3_CMD */ + , /* SD3_DATA0 */ + , /* SD3_DATA1 */ + , /* SD3_DATA2 */ + ; /* SD3_DATA3 */ + }; + + pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { + fsl,ピン = , /* SD3_CLK */ + , /* SD3_CMD */ + , /* SD3_DATA1 */ + , /* SD3_DATA2 */ + , /* SD3_DATA3 */ + ; /* SD3_DATA4 */ + }; + + pinctrl_wifi_pwr_en: wifipwrengrp { + /* PMIC_EN_WIFI */ + fsl、ピン = ; + }; + }; &vpuctrl { -->8 ご想像のとおり、動作しません。 nxp カーネル タグ 6.6.3-1.0.0 では、なぜ nxp は dtb を提供しないのでしょうか? ドキュメントhttps://www.nxp.com/docs/en/user-guide/UG10163.pdfに驚きました第11.1章/11.3章wifi/bluetooth カーネル モジュールをロードする方法を説明します。このドキュメントはカーネルタグLF6.12.34_2.1.0に基づいていることを知っていますしかし、同じハードウェア サポートが提供されると期待できます。 また、カーネルと imx95-verdin-wifi-dev.dtb の起動を試みましたが、scmi の非互換性のため失敗しました。 この問題を解決するのに NXP についてが適切な会社なのか、それとも Toradex の方が優れているのか教えてください。 ありがとうございます。よろしくお願いします。 Re: imx95 verdin-evk mlan/moal support こんにちは、 Linux カーネル タグ lf-6.6.3-1.0.0 を使用する i.MX95 プラットフォームの場合、88w8987 モジュールの WiFi サポートには適切なデバイス ツリー構成が必要です。デバイス ツリーには Bluetooth ノードがありますが、WiFi ノードがないためインターフェースが表示されません。 WiFi では、88w8987 モジュールと適切にインターフェースするために、デバイス ツリー内に SDIO ノードが必要です。mlan および moal モジュールをロードすると、ログに「ドライバが正常にロードされました」と表示されるため正常にロードされますが、適切なデバイス ツリー構成がないとハードウェアを検出できないため、ネットワーク インターフェースを作成できません。 1. デバイスツリーファイル(imx95-19x19-titan.dtb)にSDIOノードを追加する必要があります。88w8987 モジュールの WiFi コンポーネントを参照します。 2. ノードには通常、次のものが含まれます。 - SDIOコントローラの互換文字列 - 移動できないプロパティ - システムのサスペンド中も電源をオンにしたままにする - WiFi固有の設定 3. WiFi ノードと Bluetooth ノードの両方を含む i.MX8MM EVK など、88w8987 をサポートする他の i.MX ボードの既存の実装を参照します。 Toradex ボードを使用している場合は、i.MX95 モジュールで WiFi を有効にするために推奨されている特定の実装の詳細については、Toradex のドキュメントも確認することをお勧めします。 よろしくお願いします。 Re: imx95 verdin-evk mlan/moal support こんにちは、リストの皆さん 自分自身に答えています^^。 linux-imx 用のタグlf-6.6.3-1.0.0で WiFi を作成するには、次の手順に従います。 コミット483162118e93に従って、ファイルarch/arm64/boot/dts/freescale/imx95-19x19-titan.dtsを変更します。 8<-- diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts インデックス 38f985d5f87c..3c0a2708114e 100644 --- a/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-titan.dts @@ -18,6 +18,18 @@ ダミーレジスタ: ダミーレジスタ { レギュレータ最小マイクロボルト = <3300000>; レギュレータ最大マイクロボルト = <3300000>; }; + + usdhc3_pwrseq: usdhc3_pwrseq { + 互換性 = "mmc-pwrseq-simple"; + リセットgpio = <&i2c7_pcal6524_23 11 GPIO_ACTIVE_HIGH>; + }; + + /delete-node/ reg_serdes_stby; + /delete-node/ レギュレータ MAC スタンバイ; + /delete-node/ reg_m2_pwr; + /delete-node/ reg_slot_pwr; + /delete-node/ レギュレータ-m2-pwr; + /delete-node/ レギュレータスロット電源; }; &reg_can1_stby { @@ -48,11 +60,40 @@ &reg_aqr_en { gpio = <&i2c7_pcal6524_23 21 GPIO_ACTIVE_HIGH>; }; +&reg_pcie0 { + /delete-property/ vin-supply; + gpio = <&i2c7_pcal6524_23 18 GPIO_ACTIVE_HIGH>; +}; + +&pcie0 { + リセットgpio = <&i2c7_pcal6524_23 17 GPIO_ACTIVE_LOW>; +}; + +&pcie1 { + /delete-property/ vpcie-supply; + リセットgpio = <&i2c7_pcal6524_23 16 GPIO_ACTIVE_LOW>; +}; + +&pcie1_ep { + /delete-property/ vpcie-supply; +}; + &reg_serdes_en { vin-supply = <&dummy_reg>; gpio = <&gpio4 28 GPIO_ACTIVE_LOW>; }; +&usdhc3 { + pinctrl-names = "default"; + ピンctrl-0 = <&pinctrl_usdhc3>; + mmc-pwrseq = <&usdhc3_pwrseq>; + vmmc-電源 = <&reg_pcie0>; + バス幅 = <4>; + 電源を停止したままにします。 + 取り外し不可。 + ステータス = "正常"; +}; + &enetc_port1 { pinctrl-names = "デフォルト"; pinctrl-0 = <&pinctrl_enetc1>; @@ -161,4 +202,15 @@ pinctrl_pwm_3_dsi_hpd_gpio: dsihpdgrp { IMX95_PAD_GPIO_IO12__GPIO2_IO_BIT12 0x31e >; }; + + pinctrl_usdhc3: usdhc3grp { + fsl、ピン = < + IMX95_PAD_SD3_CLK__USDHC3_CLK 0x158e + IMX95_PAD_SD3_CMD__USDHC3_CMD 0x138e + IMX95_PAD_SD3_DATA0__USDHC3_DATA0 0x138e + IMX95_PAD_SD3_DATA1__USDHC3_DATA1 0x138e + IMX95_PAD_SD3_DATA2__USDHC3_DATA2 0x138e + IMX95_PAD_SD3_DATA3__USDHC3_DATA3 0x138e + >; + }; -->8 リポジトリhttps://github.com/nxp-imx/mwifiex/からドライバをコンパイルします。タグ lf-6.6.3-1.0.0で、 mlan.ko moal.koをターゲットディレクトリ /usr/lib/modules/6.6.3-gccf0a99701a7/updates/ にコピーします。 https://github.com/nxp-imx/imx-firmware.gitからタグ lf-6.6.3-1.0.0のファームウェアを取得し、 sduart_nw61x_v1.bin.se をターゲットディレクトリ /lib/firmware/nxp/ にコピーします。 ターゲットにモジュールをロードするには 8<-- root@imx95-19x19-lpddr5-evk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf drvdbg=0x7 [..] [ 2690.237289] NXP 802.11 アダプタ uap0 を登録 [ 2690.250018] NXP 802.11 アダプタ wfd0 を登録 [ 2690.254421] wlan: バージョン = SDIW612---18.99.2.p66.17-MM6X18437.p3-GPL-(FP92)-dbg [ 2690.267643] wlan: バスドライバへの登録が完了しました [ 2690.272323] wlan: ドライバが正常にロードされました [..] --->8 新しいネットワーク インターフェースmlan0、uap0、wfd0が作成されます。 チケットを閉じることができます。 これが役に立つことを願います。 よろしくお願いします。
記事全体を表示
在应用定时测量过程中发生低于阈值的意外 VC_OV 事件 您好,      我使用的是采样率为 24 的应用定时测量模式,并将过压 (OV) 阈值设置为 4250 mV。 但是,在充电过程中,当电池电量达到80%左右(约4077 mV)时,某些电池偶尔会触发信号 VC_OV 事件。手动测量后,实际电池电压不会超过 OV 临界值。 是什么原因导致了这种行为,即即使测量电压明显低于阈值,也会发生 VC_OV 事件? 感谢您的帮助。 Mark 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 您好,马克, 请下载 MC33774A 功能安全手册并参阅其中的第 10、11 节。有一种 FTME(容错测量误差)的描述就是针对你这种情况的。 请从 MC33774A 产品页面的 “功能安全” 部分下下载功能安全手册。 致以最崇高的敬意 约瑟夫 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 你好,约瑟夫、 非常感谢你们一如既往的支持。 硬件设计已经过当地 FAE 的审查和确认。由于 MC33774A 已完全集成到电池模块中,我们无法使用示波器直接探测单个电池的电压,这一点令人遗憾。 我们还怀疑,对充电电流的控制不足可能会导致瞬态尖峰,进而引发零星的过电压(OV)事件。您的专业解释进一步证实了我们的假设,即这些事件很可能是由瞬态行为引起的。 作为后续问题,我们想问: 您是否推荐任何基于软件的方法来帮助识别由瞬态峰值引起的 OV 事件? 再次感谢您的宝贵帮助。 致以最崇高的敬意, Mark 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 您好,马克, 感谢您提供零件编号和示意图。但是,在原理图中,我看不出你是否在Cells和CTx CBx引脚之间使用了推荐的元器件。有关这些推荐元器件,请参阅 MC33774A 完整数据表中的第 11.1.1.2 节。 请从 MC33774A 产品页面 的 "安全 "部分下载 MC33774A 的 完整数据表。 在快速充电过程中,可能会出现短暂超过 OV 门限的瞬态电压。这些峰值可能无法通过手动测量捕获,但可以由 MC33774A 检测到。请使用示波器测量触发信号 OV 的单个电池的电压,以检查是否存在瞬态电压。 请确保在充电/测量过程中没有打开平衡装置。在平衡过程中,不保证测量电压。 致以最崇高的敬意 约瑟夫 回复: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 你好,约瑟夫、 谢谢您的答复。 很抱歉之前没有提供足够的信息。 我们使用 MC33774ATP1AE。 这里是零件示意图。 感谢您的帮助。 致以最崇高的敬意 Mark Re: Unexpected VC_OV Events Below Threshold during Application Timed Measurement 您好,马克, 请分享您正在使用的元器件的完整部件号。 请分享您的示意图,包括电压等级和部件值。 致以最崇高的敬意 约瑟夫
記事全体を表示
MRF300AN:从数据表到现实世界的问题 我想用 MRF300AN 搭建几个射频放大器,这看起来像一款非常棒的设备。从数据表中的建议应用到构建实际工作电路,我有一连串的问题。 首先,我想就指定的 PCB 提出几个问题: 数据表中指定的印刷电路板提供了零件编号,制造商为 MTL。 我看到 MTL 是一家提供 PCB 制造服务的公司。 我说只要提供这个零件号就可以从他们那里订购板,他们不必向他们发送文件或其他任何东西就已经知道板是什么了吗?如果是这样,那就太好了! 虽然我对印刷电路板制造并不陌生,但我以前从未做过电镀通孔,而对此进行研究意味着,如果能以合理的成本从MTL获得几块板,麻烦远大于仅购买几块板的价值。 我的第二个问题涉及用于数据表230mhz设计的PCB的区别,这是唯一与其他板不同的板。虽然我想版本第一个射频放大器将在50mhz上运行(因此从数据表来看,设计似乎非常简单和一站式),但第二个将使用222MHz。这个频率范围是一种过渡,带状线技术开始变得更加实用," 普通 " LC 元件开始变得不那么实用了。在 230mhz 设计中使用带状线技术而不是空气绕组线圈有什么特殊原因吗? 还是仅仅为了说明在输入和输出匹配中使用带状线? 同样,板材料也不同。在此频率下,使用 AD255C 而不是 FR4 是否真的有明显优势? 我问第二个问题是因为我更愿意使用较小的 FR4 板和低频设计中使用的气绕线圈来版本 222mhz 的设计。在这一频率下,使用空气绕组线圈而不是带状线似乎不会有任何明显的效率损失,也不会增加制造难度。 同样,FR4 印刷电路板材料的任何损耗在此频率下似乎也是微不足道的(我说错了吗?) 对我来说,减小尺寸和降低成本(特别是考虑到散热片和铜块散热器)的优势要大于 0.001 英寸的损失。%空气线圈效率或 0.001dbFR4 主板材料损失。 首先提出这些问题,是因为我正在规划机柜内的机箱布局,包括强制空气冷却系统的气流路径,因此需要知道我要围绕哪一组尺寸进行设计。 我的下一组问题将涉及元器件选择,同样是从数据表中所说的转变为工作电路的实际实现。谢谢您的有用回复! Re: MRF300AN: questions about datasheet to the real world 漂移老板》的 "可玩性 "非常高。总有新的记录等着我们去打破,总有新的汽车等着我们去解锁。玩得越多,就越 "上瘾"! Re: MRF300AN: questions about datasheet to the real world 它是那些对编辑应用程序的灵活性和功能要求极高的移动创作者的首选。 vn 应用下载. Re: MRF300AN: questions about datasheet to the real world Grewal Transport Service 专门提供可靠高效的 < a href= " https://www.grewaltransportservice.com/transport-service-delhi-to-chennai.php " > 德里到钦奈的运输服务 注重功能安全、及时性和可负担性,我们同时提供整车装载 (FTL) 以及根据您的特定要求量身定制的 零件卡车装载 (PTL) 解决方案。我们的现代化车队可确保您的货物得到安全运输,实时货运跟踪可为您提供完整的透明度。选择 Grewal Transport Service,您可以获得值得信赖的德里到钦奈的运输服务,我们提供最优质的物流服务,并将客户满意度放在首位。体验无忧、经济高效的送货服务。 Re: MRF300AN: questions about datasheet to the real world 好的,很好,谢谢你的答复! 因此,我对板本身的结论是正确的。但是你的回答提示了一个问题,是否可以只订购裸露的 PCB,而不是完整的 " 评估板 " 或 " 套件 "?我最初与 Digikey 和 Mouser(它们是您在美国的主要代理商,几十年来我一直在向他们订购零件)核对过,但只有完整的 " 评估板 " 可用。同样,在 " 射频电路系列 " 中,我看不到任何只参考裸露的 PCB 的内容。我之所以要订购裸露的 PCB,而不是自己复制布局然后蚀刻,唯一的原因是它必须平放在铜散热器上,而且必要的电镀通孔方法比自己只买两块板要麻烦得多(我还打算为 50MHz 版本建造一块)。那么恩智浦或 MTL 会卖给我几块裸 PCB 吗? 我该如何订购? 我的下一个评论和问题涉及一些元器件选择。数据表中指定的 Bourns trimpot 不是一个现成可用的现实世界元器件。Mouser和Digikey都出售相同零件的变体,但物理配置不同,因此无法正确安装在板上。这似乎是一个非生产部件,作为 Bourns 样品套件的一部分出现在某人的工作台上。 🙂 就现有的变化而言,将近 5 美元就能买到一个触发器? 真的吗? 这是个非常昂贵的阻尼器,而规格完全相同的零件在剩余物资商店只需不到 1 美元就能买到。 在实现该电路时,我将使用手头上已经放置的一个微调电池,将偏置分频器放在电源板上(由IC稳压器而不是齐纳器供电),然后将偏置从电路板上引入作为单独的电源线。这将需要一个额外的馈通电容和一根电线,但我手头上已经有了,而且肯定比花将近5美元买一个微调器更胜一筹! 我的下一个问题是关于所用的一些电容。许多设备的额定电压为 500 伏。 出于某种原因,500 伏额定电压真的有必要吗? 在这个功率级、漏极电压、漏极阻抗和负载阻抗下,最低 " 安全 " 额定值难道不会接近 100-160v 吗?同样,我手头有许多所需的数值,但额定电压低于 500 伏。 此外,某些指定的精确电容已不再可用(至少不是来自Mouser和Digikey的电容),因此无论如何,在某些情况下都需要更换。 Re: MRF300AN: questions about datasheet to the real world 1. 我们没想到客户会直接向 MTL 下订单。取而代之的是,应该通过我们的代理商或在恩智浦网站上使用 " RF CIRCUIT COLLECTION " 服务订购板: https://www.nxp.com/design/development-boards/rf-circuit-collection:RF-CIRCUIT-COLLECTION 这些板可以作为完全组装和测试的电路提供,也可以作为包括印刷电路板和所有所需元器件的套件提供。可以讨论交付选项(例如,设备样本的数量)。 2. 您的总体理解是正确的。 微带设计减少了 BOM,简化了装配。在微波设计中,使用微带匹配是必不可少的。 在低频情况下,使用微带匹配会受到尺寸的限制。匹配任何阻抗所需的典型微带元件尺寸为 Lambda/4。如果在两端使用电容,则微带段的长度可以缩短到Lambda/12。较短的区段只能用于部分调谐。 因此,微带匹配设计有一个自然的低频界限。典型板尺寸为 300-400MHz。在较低频率下,这种技术没有任何优势。 3. 电路板材料决定介电常数(波长-> TL 尺寸)和损耗。必须考虑到损耗,在某些应用中损耗是至关重要的。 - 低噪音放大器输入损耗会以相同的幅度增加噪声系数。 - 高 Q 值设计(滤波器、变压器)。损耗限制了滤波器的最大品质因数。 在某些情况下,基板损耗会提高放大器的稳定性,因此是有益的。 设计人员必须在评估材料造成的性能损失后,在廉价的 FR4 材料和昂贵的 FR4 材料之间做出选择。大多数 1GHz 以下的射频功率放大器都可以使用 FR4 制作。微波设计通常使用高质量的射频基底。 4。 222 Mhz 射频功率放大器可使用 FR4 材料和用于阻抗匹配的分立元器件来实现。 祝您愉快! Pavel NXP TIC
記事全体を表示
NXP S32K324-ADC0通道49的内部温度读数问题 尊敬的恩智浦支持团队, 当我尝试使用 ADC 硬件实例 0、通道 49 读取 S32K324 微控制器上的内部温度传感器时遇到问题。 我的 VREF 电压配置为 3.3V (0x35),但我获得的温度读数与我的预期值不符。     您能否提供任何指导或参考资料来帮助我解决这个问题并获得准确的温度读数?   此致, 兰吉斯·库马尔 回复:NXP S32K324-ADC0通道49内部温度读数问题 你好@ Ranjith_kumar 我不太明白你的新问题是什么? 我在之前的回复中已经为您提供了测试demo,目前我还没有看到您的任何项目。 回复:NXP S32K324-ADC0通道49内部温度读数问题 亲爱的 Senlent, 我按照您在共享视频中提到的步骤读取了 S32K324 控制器上的内部温度传感器。但是,我没有获得稳定或预期的温度值。正如我在上一篇文章中提到的,我正在从内部温度传感器读取原始 ADC 值,但温度读数出现突然的峰值并且不稳定。 作为参考,我还在控制器附近使用了外部温度传感器,它显示稳定的温度范围为 32 至 35°C。相反,内部温度传感器读数显示负值和波动值。 我附上了一段视频来演示该问题以及我为此目的开发的软件。您能否帮我验证我得到的值是否正确或者我的方法是否存在问题?任何能够正确读取和解释内部温度传感器数据的指导或示例代码都将不胜感激。 感谢您的支持。 此致, 兰吉斯·库马尔 回复:NXP S32K324-ADC0通道49内部温度读数问题 你好@ Ranjith_kumar 从您的视频来看,您似乎甚至没有读取内部温度传感器的原始值。 我做了一个非常基本的例子供您参考,硬件是S32K344,RTD是3.0.0+P07。 回复:NXP S32K324-ADC0通道49内部温度读数问题 亲爱的 Senlent, 根据您的建议并参考提供的链接,我尝试使用 RTD 3.0.0 读取 NXP S32K324 控制器上的内部温度传感器。但是,我获得的值与我们预期的结果不符。 您能否分享任何示例代码或参考实现来演示读取和转换内部温度传感器数据的正确程序? 此外,我希望您能指导我如何确定适合我们应用的阈值温度值。 我已附上相关文件供您参考。请协助我解决这个问题。 感谢您的支持。 顺祝商祺! 兰吉斯·库马尔 回复:NXP S32K324-ADC0通道49内部温度读数问题 你好@ Ranjith_kumar 此链接中有一个类似的演示供您参考 https://community.nxp.com/t5/S32K/S32K344-Temperature-Sensor/mp/1876707#M35929 如果您还有疑问,请给我提供一个基本项目,我会帮您检查
記事全体を表示
S32K344 / MR-CANHUBK344 - Zephyr 支持 论坛上是否有人可以确认 MR-CANHUBK344 开发板仍在最新的 Zephyr 版本(v3.6.0 或 v3.7.0-rc3)下工作? 当尝试通过 JLink(v7.98a)启动开发板时,我们遇到了许多虚假故障。 主板和调试器看起来都正常,它们将毫无问题地运行默认示例 S32DS 项目。据我们所知,这似乎与 S32K3 与 Zephyr 平台的集成更相关,更有可能处于早期内核初始化阶段。 在 v3.7.0-rc3 上使用带有 Zephyr Blinky 项目的 Ozone,我们在重置后几乎立即看到 BFAR 寄存器为 0x5AA55AC0 的 BusFaults。 希望这只是我们配置中的问题,或者如果有人有可行的解决方案,您正在使用 Zephyr 的哪个分支/标签? 谢谢!
記事全体を表示
MCXN236 eFuse / OTP情報? OTP ビットのサイズ、使用、およびアドレス指定に関する情報が記載されているMCXN236のドキュメントはどれですか? ありがとうございます! セキュリティ(EdgeLock | セキュアブート | OTP) Re:MCXN236 eFuse / OTP情報? ありがとう、セレステ!MCXN236セキュリティマニュアルへのアクセスに関する非常に役立つ情報です。NDAをナビゲートすることは、常に障害を克服する スロープゲーム をプレイしているように感じることができます!それがマーケティングを通じて行われることを知ることが鍵となります。おそらく、NDA以外の人々のための要約は有益かもしれませんか?方向性に感謝します! Re:MCXN236 eFuse / OTP情報? 知ってよかった、ありがとうマレック。 Re:MCXN236 eFuse / OTP情報? ありがとう、セレステ。
記事全体を表示
S32K3xx FlexCAN 传统和增强型 RXFIFO DMA 我正在研究 S32K344 FlexCAN,在使用 FlexCAN 时我遇到了一些问题。 1.DMA在S32K344中实际上是如何工作的?以及如何使用它? 2. 如何将传统 FIFO 与 DMA 以及增强型 FIFO 与 DMA 集成 3. 使用 DMA 会产生什么后果? Re: S32K3xx FlexCAN legacy and Enhanced RXFIFO DMA 你好, 请问能否提供此示例的 MCAL 版本?谢谢。
記事全体を表示
关于 i.MX 93 的 Windows 10/11 物联网企业版 - bootcmd 嗨,朋友们、 有人知道吗,如何为 i.MX93 配置正确的 bootcmd 以允许它从 U-Boot 正确启动,然后从 ARM 上的 Windows 启动? 在过去的时间里,我们在 defconfig 中对 i.MX 8 Series bootcmd 进行了如下配置: CONFIG_BOOTCOMMAND="fatload mmc${mmcdev}:${mmcpart} ${loadaddr} /uefi.fit;bootm${loadaddr} ;" 因为当我们版本 i.MX 8 固件,例如 i.MX 8M Plus 时,在 ~/win10-iot-bsp/imx-MKIMAGE/IMXImage/ IMX8M 中,你可以找到:imx8mp-evk.dtb,您还可以检查 soc.mak它将处理 imx8mp-evk.dtb并将其合并为最终固件文件。 但 i.MX93 文件夹结构相同、 soc.mak并没有做同样的事情。它不会在路径中创建 imx93-11x11-evk.dtb:~/win10-iot-bsp/imx-mkimage/imx-mkimage/IMX 9。 因此,如果我们按照同样的方式在 defconfig 中配置 CONFIG_启动 COMMAND,i.MX 8 系列的 U-Boot 程序将不一样,它不会进入 microSD WinPE(efi/boot/bootaa64.efi),它将继续重启。 有人知道如何正确操作吗?我们无法在 i.MX Windows IoT 用户指南、快速入门指南......中找到相关信息。 谢谢你们的帮助! 祝您有美好的一天 亚历克斯-张 参考。 适用于 i.MX 应用处理器的 Windows 10/11 物联网企业版 Windows Windows 10 物联网企业版 Re: About Windows 10/11 IoT Enterprise for i.MX 93 - bootcmd 关于 Windows I0/11 IOT,我建议您 与 [email protected] 的 IOT 团队联系。 看看他们是否有这方面的信息。 Re: About Windows 10/11 IoT Enterprise for i.MX 93 - bootcmd 嗨,朋友们、 我们尝试对imx93_11x11_evk_nt_deconfig CONFIG_BOOTCOMMAND进行如下配置: mmc dev 1;如果 mmc 重新扫描;那么 fatload mmc 1:2 ${kernel_addr_r} EFI/启动/bootaa64.efi && fatload mmc 1:2 ${fdt_addr_r} dtb/imx93-11x11-evk.dtb && fdt addr ${fdt_addr_r} && fdt header && bootefi ${kernel_addr_r} ${fdt_addr_r}; fi 在重新编译固件并将其闪存到 microSD 卡并将其放入 i.MX 93 EVK 后,我们的 PuTTY 消息如下: 剧透 (高亮部分可供阅读) U-启动 2023.04-g93957155-dirty(Aug 08 2025 - 09:59:05 +0800) CPU:i.MX93 (52) rev1.1 1700 MHz(运行频率为 1692 MHz) CPU:30 摄氏度的工业温度等级(-40 摄氏度至 105C) 型号:恩智浦 i.MX93 11X11 EVK 板 动态随机存取存储器(DRAM):2 GiB 内 核:218 个设备,30 个 u 类,设备树:独立的 MMC:FSL_SDHC:0,FSL_SDHC:1 来自 MMC 的加载环境... 好吧 ... 输入:串行 输出:串行 错误:串行 BuildInfo: - ELE 固件版本 0.1.0-e943c57c 切换到分区 #0,OK mmc1 是当前设备 闪存目标是 MMC:1 Fastboot:正常 正常启动 按任意键停止自动启动:0 切 换到分区 #0,OK mmc1 是当前设备 1 303 毫秒 (1.9 MiB/s) 读取 50392 字节在 7 毫秒 (6.9 MiB/s) 内 工作 FDT 设置为 83000000 魔法:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:0xd00dfeed 总大小:xc4d8 ( 50392) off_dt_struct:0x38 off_dt_strings:0xb5f8 off_mem_rsvmap:0x28 版本:17 last_comp_version:16 boot_cpuid_phys:0x0 size_dt_strings:0 xedb size_dt_struct:0xb5c0 数字 mem_rsv:0x0 正在启动 /EFI\启动\bootaa64.efi BlinitializeLibrary 失败 0xc0000225 ## 应用程序 失败,r = 14 启动= > U-启动 2023.04-g93957155-dirty(2025 年 8 月 8 日-09:59:05 +0800)CPU:i.MX93 (52) rev1.1 1700 MHz(以 1692 MHz 运行)CPU:30摄氏度的工业温度等级(-40摄氏度至 105摄氏度)型号:恩智浦 i.MX93 11X11 EVK BoardDRAM:2 GibCore:218 个设备,30 个 u 类,设备树:separateMMC:FSL_SDHC:0,FSL_SDHC:0,FBoardDRAM:2 GibCore:30 个设备,30 个 u 类,设备树:SeparateMMC SL_SDHC: 1正在从 MMC 加载环境...好的... 输入:SerialOut:SerialErr:SerialBuildInfo:-ELE 固件版本 0.1.0-e943c57cswitch到分区 #0,OKMMC1 是当前设备闪存的目标是 mmc: 1FastBoot:normalNormal 启动按任意键停止自动启动:0 切换到分区 #0,okmmc1 是当前设备在 1303 毫秒 (1.9 MiB/s) 内读取 50392 字节 (6.9 MiB/s) 工作 FDT 设置为 83000000magic:0xd00dfeedtotaltalmcmic:0xd00dfeedtotaltalmc1 大小:0xc4d8 (50392) off_dt_struct:0x38off_dt_strings:0xb5f8f8off_mem_rsvmap:0x28版本:17last_comp_versize:16boot_cpuid_phys:0xedbsize_dt_struct:0xb5c0number mem_rsvt:0xb5c0number mem_rsvt v: 0x0启动 /EFI\ Boot\ boot\ bootaa64.efiblinitializeLibrary 初始化库失败 0xc0000225## 启动失败,r = 14u-boot= > 我们曾尝试从 microSD\ WinPE\ boot.wim 中删除 Lanage P ackage 以缩小尺寸。(从 2.X GB 到 347 MB) 但是 i.MX 93 仍然无法启动。 有人有解决这个问题的经验吗? 谢谢您! 亚历克斯-张
記事全体を表示
在 MPC5748G MCU 的扩展 SPI 模式下,EOQF 标志未被设置 你好,团队、 我在 MPC5748G MCU 中使用扩展 SPI 模式进行 32 位帧传输,发现传输结束时 EOQF 标志没有被设置。我在 MPC5777C MCU 上使用了相同的代码,一切正常。 你知道为什么会出现这个问题吗?任何建议或想法都会被极大地采纳。 期待您的真知灼见。 谢谢! 此致, 克里希纳 用于 i.MX RT 的 eIQ 机器学习软件 Re: EOQF flag is not getting set in EXTENDED SPI mode in MPC5748G MCU 你好,伊谢、 谢谢您的答复。我已正确配置 SPI 模块以传输 32 位帧,如果不查看 EOQ 标志,读取和写入均可在 MPC5748 中正常工作。我还设置了 EOQ 标志,以便传输最后一个字,但模块不承认这一点。 仅供参考,我不在 EOQ 中使用中断我正在轮询寻找那个标志。 您提到"虚假队列结束语" ,能否请您解释一下这是什么意思? 谢谢! 此致, 克里希纳
記事全体を表示
S32G 无法通过串行端口编程的问题 S32G3 你好,根据问题,我再次使用 S32G399A 芯片。正常启动后,我连接串行端口,然后使用闪存工具进行刻录。错误报告界面如下所示,电流可下降约 30mA(12V 电源)。请您帮我找出原因,并确定我应该从哪个方向进行调查。谢谢。 Re: The issue of S32G failing to be programmed through the serial port 此问题已解决,谢谢回复。 Re: The issue of S32G failing to be programmed through the serial port 您好,从您更新的信息来看,问题有可能与您的时钟设计有关。 目前而言,在 S32 Flash 工具中,没有支持S32G3 custom board+Oscillator的功能,我并没有看到有目前可用的相关二进制文件来支持您的情况。 给您带来的不便很抱歉。 BR Chenyin Re: The issue of S32G failing to be programmed through the serial port 你好, 1、我现在根据S32G-VNP-RDB3设计的自己主板。 2,Flash Tool :Version: 2.3.2,如下图。 3、我自己的主板,Flash型号是:MX25UW51245GXDQ00。 我现在遇到的这个问题,是否是因为时钟的问题引起? 我的时钟现在使用的是单端时钟。部分原理图如下。 然后,我下午把我的BOOTMOD[1:0]改为1:0后,可以烧录到SRAM中,并且串口也能打印出“hello world”,但是仍不能烧录到Flash。帮忙分析下原因。谢谢。 Re: The issue of S32G failing to be programmed through the serial port 你好,@龙岗素 谢谢您的帖子。 我知道你愿意刷新 S32G 板的 QSPI。 1。我能知道你是否在使用定制板吗?还是恩智浦的 RDB3/EVB3? 2.使用的是哪个版本的闪存工具? 3.如果是定制板,QSPI 的部件号是多少,它是你在 Flash 工具中选择的吗? BR 切宁
記事全体を表示
如何真正实现PT60的中断嵌套 最近在支持几个PT60的家电项目,遇到一个共同的问题,就是程序运行的时候,显示数码管会有不规律的闪烁。 几个项目都是以触摸TSI为核心的,对方工程师反应,如果把TSI的中断关闭就不会有闪烁现象。数码管的扫描程序是在MTIM的中断中完成的,经初步分析推测,应该中断时序错乱导致的问题。 因此我们想着这个应该用中断嵌套的方式可以解决。 中断嵌套的定义简单来说,就是当MCU正在处理一个低优先级的中断的时候,来了一个高优先级的中断,系统此时就会放下低优先级转向去执行高优先级的,完了之后继续回来执行低优先级的。 按照这个逻辑,我们应该只要将各个中断的优先级预先设好就没有问题了。项目一共用了四个中断TSI,RTC(这两个中断组合完成TSI扫描按键,是基于sam之前写的的算法),MTIM(数码管扫描),KBI(用作低功耗唤醒)。 因此,我们把MTIM的优先级设成最高,就应该不会再出现闪烁的现象了,但改完之后,结果依旧失败。   经过不断讨论以及查找数据手册,最终实现了,但不得不说PT60实现中断嵌套还是挺麻烦的。 我们一步一步来:   1.首先我们来看CPU是执行中断的顺序。其余步骤没有什么特别,关键就在于第2步。 2.我们来看这个I位的作用。当进入某个中断之后,这个I位就会被自动置位,也就是系统将整个interrupts都给关掉了,这么做的原因也就是为了让系统在执行某个中断的时候,不会被其他的中断给干扰打断。 那么这就是为什么我们会中断嵌套失败的根本原因! 3.因此,如果我们需要使用中断嵌套的话,那么就需要在每个中断程序里面添加这个清楚CCR寄存器I位的指令,asm cli。 4.因为中断嵌套被启用了,有潜在的风险会导致进中断前一些堆栈数据出错或者中断优先级出问题等,那么在中断程序的最后,我们再加一句话,让一切恢复正常就可以了 IPC_SC_PULIPM = 1;   经过以上步骤,中断嵌套就能够实现了。     但在这个过程中,遇到了几个问题,也和大家分享下 1.PT60的中断会自己嵌套自己: 手册中有提到,高优先级和同级中断都是可以抢占低优先级的。 我举个例子来说明: 现在有两个中断,1号中断--低优先级0级,2号中断--高优先级1级。 1号中断正在执行的过程中,此时2号中断过来打断了他,系统必然要先把2号中断执行完。之后再回去执行1号中断剩下的部分。但很不巧,此时新的1号中断又来了,就是说上一次的1号中断还没跑完,又被新的1号抢占了,也就是自己嵌套了自己,最后必然导致全部中断的时序都出现了问题。 这是一种潜在的隐患,我们的解决方法就是:让0级的1号中断一开始执行中断程序之后,让其把自身的中断等级提高一级,中断结束的时候在加上上面提到的恢复语句又变回0级。这样的话,我旧的1号中断(1级)还没执行完,新的一号中断(0级)即使来了,也无法抢占,必须乖乖的等着让旧的先执行完。下面这几条语句就是提高中断等级的,我们实验的时候让中断只有0和1级。   2.在执行asm cli指令之前必须要清除中断标志位: 接上,如果不清楚标志位的话就打开asm cli的话,那么系统就一直不断地让这个中断再进,也就是中断自己不断地在嵌套自己,最终把堆栈给压爆了,程序也就跑飞了。   东西很简单,但是确实值得注意。 附件是测试的程序,有需要的可以参考。  General
記事全体を表示
コミュニティガイドライン NXPコミュニティへようこそ  NXPコミュニティ は 、NXPのお客様、パートナー、および従業員が、 組み込み設計のトピック や 技術的な質問 について 、アイデアや ヒントを共有したり、質問 したり、協力 したり、意見を受け取ったりする機会を提供します 。 当社の コミュニティ は 、コミュニケーション、コンテンツ作成、アイデアの共有、問題解決のためのこの包括的なコラボレーション環境を使用して 、お客様が 設計プロセスを迅速かつ効率的に革新 し、進める のを支援します 。 開発者コミュニティから専門家のアドバイスを受けることができます。 NXPサポート チームは 、 これらのフォーラムを監視して回答を提供し、 フィードバック に耳を傾け ます 。誰でもメッセージを読むことができますが、 質問 、体験 、回答 を 投稿できるのは、登録 されたメンバー nxp.com のみです 。   進行状況を追跡する バッジ:バッジは、さまざまな種類の個々の行動や活動についてメンバーを表彰します。多くのバッジは簡単に獲得でき、メンバーが参加を開始するとすぐに授与されます。バッジは、メンバーがコミュニティにもたらす特定のスキルセットを識別するのに役立ちます。  ランク: ランクは 、複数の異なる、しばしば無関係なアクションを完了したメンバーを表彰します。 メンバーは 複数のバッジを取得できますが、 メンバーは 一度に保持できるランクは1つだけです。メンバーのランクは、 コミュニティにおける メンバー の全体的なステータス を示す n 指標 です 。 カテゴリーエキスパート: 誰でもカテゴリーエキスパートになれる ので 、 メンバー は引き続き 参加して他の人を助ける こと を奨励し 。E xperts は、 特定のカテゴリまたはボードへの参加に基づいています 。 重複する投稿を作成する空白:   B 新しい質問やアイデアを投稿する前に 、メンバーにグローバル検索バーを使用して、その質問やアイデアがすでに他のユーザーによって投稿されているかどうかを確認することをお勧めします。 既存の質問やアイデアを見つけた場合は、この投稿にコメントを追加して、同じまたは類似の質問やアイデアがあることをコミュニティメンバーに知らせることをお勧めします。     新しい投稿の作成: 質問やアイデアを投稿するときは、できるだけ多くの情報を提供してください。 投稿の件名に問題を記載する場合は特に注意してください。「助けてください」や「これは機能しません」などの件名は曖昧すぎます。「USBが NXP製品 で動作しない」などの件名 は、問題に精通している人の注意を引き付ける可能性が高くなります。 投稿を追加すべき 適切なフォーラムを特定します 。彼は 、他のメンバーがこの投稿で協力するのを助け ます 。 スマートタグとラベルを 投稿に含めると、検索エンジンで簡単に見つけることができます 。 すべての コラボレーションは他の人を助けることができる ことを忘れないでください 。   投稿が解決した ことを確認する p ost s ha は 、それが解決された場合に表示する機能と 回答へのクイックリンク を持っています 、新しい投稿がある場合は、問題をトラックに追 って、 答えがあなたのものであっても 、 回答 で 返信 をマーク してください。 すべてのコラボレーションは 、バッジとランクに直接反映 されることを忘れないでください。 プロフィール で 進行状況を追跡します 。   Reportの不適切なコンテンツ  コミュニティのメンバーとして、コミュニティを有機的で清潔に保つために、あなたは私たちが協力することができます。  コミュニティに関係のないトピックを投稿または返信している他のユーザーを見つけた場合は、他のユーザーからこれらの不正行為を報告できます。 (報告された不正使用は、NXPサポートチームによって監視されます)。    他のメンバーを尊重し、問題を避けてください  「礼儀正しく、皆さん!」。  コミュニティや機能を悪用することを 禁止 されることを避け てください コミュニティのモデレーターは、コンテンツを継続的にレビューしています 。違反内容にもよりますが 、 当サイトからのストライキ や 永久 追放 は避け てください。 例: 2人のユーザー 間で kudo を 磨く 。   NXPコミュニティでは、このサイトの尊重と良好な使用を保証したいと考えています。  コミュニティ違反の例:  スタッフや他のコミュニティメンバーになりすまそうとする行為  暴力の脅威  ヘイトまたは人種差別的な発言  違法または有害と見なされるJavaScript、アクティブコード、データ、テキスト、ファイル、リンク、ソフトウェア、チャット、通信、またはその他の資料(以下「コンテンツ」)を送信すること  議論の流れを乱すことを目的とした反復的なスレッドやスパム    FAQサイトをご覧ください 
記事全体を表示