Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
生成随机以太网 mac 并将其编程到 eFuse <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 抽象的: 在 otp 驱动程序初始化时,它将检查 eFuse 的 mac 位,当该值无效时,生成一个随机 mac,并将其编程到 eFuse。 环境: i.mx6dl android-4.2.2 kernel-3.0.35 更改: 1. kernel_imx/arch/arm/mach-mx6/mx6_fec.c ---------------------------------------------------------------- void __init imx6_init_fec(结构fec_platform_data fec_data) {   fec_get_mac_addr(fec_data.mac); 如果(!is_valid_ether_addr(fec_data.mac)) fec_数据.mac[0]= 0x10; //由xxx更改   if (cpu_is_mx6sl())   imx6sl_add_fec(&fec_data);   else   imx6q_add_fec(&fec_data); } 2. kernel_imx/drivers/char/fsl_otp.c ---------------------------------------------------------------- //由xxx添加 static void check_otp_mac(void) { 无符号整数index_mac0 = 34; 无符号整数index_mac1 = 35;   u32 value_mac0 = 0;   u32 value_mac1 = 0;   u32 value_random_mac0 = 0;   u32 value_random_mac1 = 0;   char otp_mac[6], random_mac[6]; memset(otp_mac, 0,sizeof(otp_mac)); memset(random_mac, 0,sizeof(random_mac)); 互斥锁(&otp_mutex);   //get 如果(otp_read_prepare(otp_data)){ 互斥锁解锁(&otp_mutex);   return 0;   } value_mac0 = __raw_readl(REGS_OCOTP_BASE + HW_OCOTP_CUSTn(index_mac0)); value_mac1 = __raw_readl(REGS_OCOTP_BASE + HW_OCOTP_CUSTn(index_mac1)); otp_read_post(otp_data); 互斥锁解锁(&otp_mutex);   if(value_mac0 != 0 && value_mac1 != 0)   { otp_mac[5] = value_mac0 & 0xff; otp_mac[4] = (value_mac0 >> 😎 & 0xff; otp_mac[3] = (value_mac0 >> 16) & 0xff; otp_mac[2] = (value_mac0 >> 24) & 0xff; otp_mac[1] = value_mac1 & 0xff; otp_mac[0] = (value_mac1 >> 😎 & 0xff;   } printk("otp_mac=%pM\n", otp_mac);   //check   if (!is_valid_ether_addr(otp_mac))   {   random_ether_addr(random_mac);   printk("get random mac:%pM\n", random_mac); //放   value_random_mac0 = 0;   value_random_mac0 = value_random_mac0 | random_mac[2];   value_random_mac0 = (value_random_mac0 << 😎 | random_mac[3];   value_random_mac0 = (value_random_mac0 << 😎 | random_mac[4];   value_random_mac0 = (value_random_mac0 << 😎 | random_mac[5];   value_random_mac1 = 0;   value_random_mac1 = value_random_mac1 | random_mac[0];   value_random_mac1 = (value_random_mac1 << 😎 | random_mac[1]; 互斥锁(&otp_mutex); 如果(otp_write_prepare(otp_data)){ 互斥锁解锁(&otp_mutex);   return 0;   } otp_write_bits(index_mac0,value_random_mac0,0x3e77); otp_write_bits(index_mac1,value_random_mac1,0x3e77); otp_write_post(otp_data); 互斥锁解锁(&otp_mutex);   } } //结尾 3.  kernel_imx/drivers/char/fsl_otp.c ---------------------------------------------------------------- 静态int __devinit fsl_otp_probe(struct platform_device *pdev) {   ... retval = sysfs_create_group(otp_kobj,&attr_group); if (返回值)   goto error; mutex_init(&otp_mutex); //由xxx添加   check_otp_mac(); //结尾
View full article
MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> i.MX6SXリファレンスマニュアルのセクション13.5(Cortex-M4ブート要件)によると、次のようになります。 • Cortex-A9 は常にプライマリ コアとして起動します。 Cortex-M4 にはブート ROM がなく、POR にはクロックがありません。 Cortex-A9 ROMは、次の機能を担当します。 • A9 ブートローダーのロードと認証、および Cortex-M4 の開始 ファームウェアを統合イメージとして。 • TCRAMLでのCortex-M4初期例外テーブルの設定 •クロックを有効にしてCortex-M4を起動します。 さらに、M4 は、以下を含む最小の初期ベクトル テーブルを取得します。 a) 初期スタックポインタ b) リセットベクトル c) NMIベクター A9がクロックを有効にした後のTCM(L)の固定位置(ゼロオフセット)から。 したがって、A9(ブートローダー)は次の責任があります。 TCM(L)でのM4初期ベクトルテーブルの構成; M4コードをロードしています。 TrustZone の CSU と RDC の設定(必要な場合) およびA9 / M4ドメイン分離; M4クロックを有効にします。 同封のプロジェクトを見て、ビルド、ロードの方法を理解するのに役立ちます i.MX6 SoloXのCortex-A9コアとCortex-M4コアの両方のスタートアップコードを実行します。 また、i.MX6 SoloXには、アドレスマッピングが異なる2つのコアがあります。 Cortex-A9コアについては、表2-1(システムメモリマップ)を参照してください。 表2-2(CM4メモリマップ)へ i.MX6 SoloXのCortex-M4用 リファレンスマニュアル。Cortex-M4 を実行するには、TCM(L) を埋める必要があります。 は TCML ALIAS (ゼロから) としてアドレス指定されます。同じメモリがマップされます Cortex-A9の0x007f8000(表2-1には反映されていません)。 この領域には、M4 クロックが有効になった後、Cortex-A9 からアクセスできることに注意してください CCM_CCGR3年に。 i.MX6 SoloXを使用する際には、以下のリソースが役立つ場合があります。 「Real View ICEとRealViewデバッガをi.MX6 SoloXと連携させるための設定方法」 https://community.freescale.com/docs/DOC-106198 「Processor Expert for i.MX Iron および ARM GCC と Eclipse の統合」 https://community.freescale.com/docs/DOC-103736 「I.MX6SX QSPIフラッシュでU-BootからM4を起動する」 https://community.freescale.com/message/499465 「i.MX 6SoloXおよび i.MX 7Dual/7SoloのLinuxからCortex-M4へのコードのロード 」 http://cache.nxp.com/files/soft_dev_tools/doc/app_note/AN5317.pdf i.MX6_All 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ありがとうユリ、 SWをロードした後のリセットは、m4c_non_sclr_rstからm4c_rstに変更する必要があるようです。 少なくとも私のレヴにとっては。ボードのC。 うまくいっているように見えるのは: - M4プラットフォーム(m4p_rst)をリセットし、 - バイナリをロードします - M4 *コア*のみをリセット(m4c_rst) コードでは、m4c_non_sclr_rst(非自己クリアSWリセット)が使用されているように見えます。 w / m4c_rstと交換する必要があるようです。 Best, Tomasz   日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, CM4 は、コードを読み込んで実行した後にのみアクセスできます。 - CM4クロックがオンになっている必要があります。 - CM4を有効にしてリセットする必要があります(アサーション/ネガシエーション)。 よろしくお願いします。 Yuri. 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ユリ、みんな、 添付の例MX6SX_hello_MFG.7z.zip A9で実行し、M4をロードしようとしています。 すべてのコードを正しく取り込んだと思いますが、そうではないかもしれません。 何が起こるかというと、A9は正常に動作し、M4をロードするように指示すると、M4が消えます。Ulink Pro D jtagで接続できません。 次のエラーが表示されます。 ランニングターゲットNXPに接続 - i.MX6 SoloX Sabre SDB cd "C:\Users\tomasz\Documents\DS-5 Workspace" 作業ディレクトリ "C:\Users\tomasz\Documents\DS-5 Workspace" break -d -p "C:\Users\tomasz\Documents\DS-5 Workspace\fireworks_A9x1-FVP_GCC\src\main.c":25 警告(CMD452-COR167): !ブレークポイント 1 は保留されています !「C:/Users/tomasz/Documents/DS-5 Workspace/fireworks_A9x1-FVP_GCC/src/main.c」に一致するコンパイルユニットが見つかりませんでした 条件1 ブレークスクリプト 1 "" 無視 1 0 ブレークストップオンコア1 無音解除 1 ブレークポイント 1 (無音) コア1 現在のコアはCortex-M4(ID1)です 割り込む エラー(TAD9-NAL30): !デバイスCortex-M4を停止できません !ターゲットを停止できません。 何か解決策はありますか。 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, 以下がお役に立てば幸いです。 https://community.nxp.com/docs/DOC-331921  よろしくお願いします。 Yuri. 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> test.binは、DCD、特にMFGツール用のオフセット0x400がありません。 sect.8.7 プログラムイメージ i.MX6SX リファレンスマニュアルをご確認ください。 http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SXRM.pdf 説明用IVT、DCDヘッダー。 よろしくお願いいたします イゴール 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> YuriMuhin_ngなぜ「vectors.s」が生まれたのかコード MX6SX_hello_MFG.7z.zip にあるのは、 I.MX6 Solox for Dummies スレッドに投稿されたコード Igorpadykov とは異なりますか? また、このスレッドのコード内のファイル「vectors.s」は、 ダミーの「plat_startup.h」にある「PLATFORM_INIT」コードを使用していないことに気付きました。 また、ここで最も重要なことは、このスレッド(test.bin)のコードですMFG ツールと https://community.nxp.com/thread/351961 のコードで動作します しない。このスレッドのコードのように、MFGツールで毎回コードをRAMにロードしたくはありませんが、このコードがmfgツールで動作し、他のスレッドのコードが機能しない理由を知りたいです。 違いを説明するドキュメントはありますか?同封のプロジェクトは、スタートアップコードの構築方法を知るのにあまり役立たず、これら2つの「ベクトル」アセンブリファイルが非常に異なるという事実も助けにはなりません、つまり、最後にいくつかの類似点がありますが、ファイルの先頭は大幅に異なり、これらの違いを説明する方法を見つけた方法はありません。 ありがとうございました。 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> YuriMuhin_ng 実際、私はいくつかの図書館を見逃していました。 要約すると、 CodeSourceryを使用せずにi.MX6SoloXのベアメタルコードを開発する 場合は、これを実行する必要があります。 sudo apt-get gcc-arm-none-eabi libnewlib-arm-none-eabi -y 次に、Project>Settings>C/C++ Build の「 Toolchains 」タブで「 Custom (arm-none-eabi-gcc)」 を選択します。 次のコード サンプルを使用してください: https://community.nxp.com/thread/351961 それらは箱から出してすぐに機能し、A9とM4の両方の日食プロジェクトがすでに含まれているためです。 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, ライブラリの正しいパスを指定し、ファイルをインクルードする必要があるようです。 よろしくお願いします。 Yuri. 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ありがとう、ユーリ・ムヒン 私はすでにそのドキュメントに従っていますが、その問題には役立ちません。これが今まで持っていたものです。 私はLinuxで作業しているので、Code Sourceryのものはインストールしませんでした、代わりに私は私がインストールしたgcc-arm-none-eabiで作業しています: $ sudo apt-get gcc-arm-none-eabi をインストールする そのため、 cs-rm と cs-make を それぞれrm と make に変更する必要がありました。 そして、ダウンロードしたコードでEclipseプロジェクトを作成し、それを機能させるようにプロジェクトを構成することができましたが、それでも最初のエラーが発生しました。 main.c:8:19:致命的なエラー:stdio.h:該当するファイルやディレクトリはありません #include ^ コンパイルが終了しました。 メーカー: *** [cortex_A9/main.o]エラー 1 cortex_A9/subdir.mk:24:ターゲット 'cortex_A9/main.o' のレシピ失敗 しました そして、 プロジェクト>のプロパティ のインクルードディレクトリに 「/ usr / include」 を追加することで解決することができました。しかし、これがこのエラーを解決する正しい方法であるかどうかはわかりません。 このエラーを修正した後、新しいエラーが発生しました。 syscalls.c:168:1:エラー: 不明なタイプ名 'caddr_t' caddr_t _sbrk(int incr) そして、それを解決するために、私は明示的にファイル "/usr/include/x86_64-linux-gnu/sys/types.h"を含める必要がありましたが、それがそれを解決する正しい方法であるかどうかもわかりません。 さて、これらの2つのエラーを排除したので、次のエラーがあります。 建物対象:imx6-A9.elf 呼び出し: Cross ARM C リンカ arm-none-eabi-gcc -mcpu=cortex-a9 -march=armv7-a -marm -mlittle-endian -mfloat-abi=softfp -mfpu=neon -mno-unaligned-access -fno-zero-initialized-in-bss -O0 -g -T "/home/mmalagon/iMX6/MX6SX_hello_MFG/cortex_A9/mx6slx.ld"-nostartfiles -Wl,-map,"imx6-A9.map" -o "imx6-A9.elf"./cortex_A9/main.o./cortex_A9/syscalls.o ./cortex_A9/uart.o /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: -lg が見つかりません makefile:42: ターゲット 'imx6-A9.elf' のレシピ失敗 しました /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: -lc が見つかりません collect2: エラー: ld が 1 つの終了ステータスを返しました メーカー: *** [imx6-A9.elf]エラー 1 私はそれを解決することができませんでした。 このエラーが、前の2つのエラーを解決した方法の結果であるかどうかはわかりません。 私は正しい方向に進んでいますか?または、LINUXでコードをコンパイルするために他にどのような考慮事項を考慮する必要がありますか? 助けてくれてありがとう。 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, Eclipse の設定に関する一般的な考慮事項については、次の Web サイトを参照してください。 https://community.nxp.com/docs/DOC-103736  よろしくお願いします。 Yuri. 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは 添付のコードをコンパイルするにはどうすればよいですか?次のエラーが発生します。 arm-none-eabi-gcc -g -Wall -fmessage-length=0 -o test.out *.s *.c -fno-zero-initialized-in-bss -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp -marm -mlittle-endian -T mx6slx.ld -nostartfiles -Wl,-Map,test.map,--cref,-n main.c:8:19:致命的なエラー: stdio.h:該当するファイルやディレクトリはありません #include                              ^ コンパイルが終了しました。 syscalls.c:1:19:致命的なエラー: errno.h:該当するファイルやディレクトリはありません #include                                ^ コンパイルが終了しました。 uart.c:14:0からインクルードされたファイル: io.h:17:19: 致命的なエラー: stdio.h:該当するファイルやディレクトリはありません #include                              ^ コンパイルが終了しました。 メーカー: *** [test.out]エラー 1 makefile:13: ターゲット 'test.out' のレシピ失敗 しました 私はそれをEclipseでコンパイルしようとしています。 ありがとうございます! 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Yuri, ご協力いただき、誠にありがとうございます。 よろしくお願いいたします。 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, 「 A9経由でSRC_SCRにアクセスすることによってのみM4コアをリセットできました... ", これは正しいです、CM4はCA9なしでロード/起動することを意図していません。 ブータブルSDについては、以下をご利用ください Linuxコマンド $ dd if=test_A9.bin of=/dev/sdb bs=512  また、次のもの-希望-が役立ちます。 ブータブルSDイメージのビルド方法(i.MX6 SLの場合を例) よろしくお願いします。 Yuri. 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ユリさん。 あなたの有用な投稿をどうもありがとう。 Jlink を使用して M4 コアをデバッグし、最初に A9 コアにアクセスし、Jlink コマンドを使用して一部のシステム レジスタを変更して M4 を有効にし、次に gdb デバッグ セッションを開きます。しかし、gdbデバッグセッションの開始/停止時にM4コアをリセットすることに関して問題が発生しました。A9経由でSRC_SCRにアクセスすることでのみM4コアをリセットできましたが、これはあまり便利ではないと思います。 IMX6SXベアメタルプロジェクトを使用してM4コアを有効にする別の方法として、M4のgdbデバッグセッションを正常に開始する前に、JlinkダウンロードA9バイナリイメージを使用しようとしました。次に、A9バイナリイメージを起動可能なSDカードにコピーしたいので、リセットボタンを押した後、そこでM4コアのデバッグを開始できます。 起動可能なSDイメージを生成する方法を教えてくれませんか、以下のコマンドで試しましたが、うまくいきません。 dd if=test_A9.bin of=/dev/sdb bs=513 seek=2 どうもありがとうございました。 よろしくお願いいたします。 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> そのドキュメントへのアクセスを許可するように地元のFAEに依頼することを提案します。 ~イゴール 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> pptxプレゼンテーションにアクセスできず、リンクをクリックすると「この場所またはコンテンツへのアクセスが制限されています。これが間違いだと思う場合は、管理者またはここにあなたを案内した人に連絡してください。 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> どうもありがとう、イゴール! 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Alejandro プレゼンテーション6SX_Cortex-M4_Development.pptx添付部分 以下のリンクで見つけることができます SoloXの起動M4 &A9 & の停止M4を実行するだけで最小の電力 p.12 は0x007f8000 TCML のアドレス マッピングを示しています よろしくお願いいたします イゴール 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> わかりました!ありがとう、ユリ。 よろしくお願いします。 Alejandro 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Alejandro, hi ! どうやら、公式文書も見つかりません (例を除く) 0x007f8000アドレスマッピングについて。 よろしくお願いします。 Yuri. 日時:MX6 SoloXベアメタルスタートアップ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 素敵なドキュメントゆり。RMが0x007f8000エリアが予約されていると述べている理由をご存知ですか? RDCとCSUについて詳しく説明する別のドキュメントがあれば素晴らしいと思います。
View full article
i.MX 付き地震警報システム <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Demo NXPのi.MX6SXアプリケーションプロセッサを実行している地震警報システムの概念実証は、地震について市民に警告することができます。データは、ローカルセンサー、K64F NXPのコントローラーに基づくリモートセンサー、およびインターネットからの地震学サーバーから収集されます。 特長: 市民に地震に対する警告を与える Linux® OSを搭載したNXP i.MX6SXアプリケーションプロセッサで動作します。 i.MX6SXの非対称アーキテクチャ機能を示し、データはFreeRTOSを搭載したCortex-M4によってローカルに測定され、Linux® OSを搭載したCortex-A9コアによって表示および表示されます。Cortex-M4は、Linux部分をリアルタイムで測定し、監視することができます。Cortex-A9は、電力を節約するためにスリープし、Cortex-M4によって検出された地震によって目を覚ますことができます。RPMsg によるコア間の通信。 リモートセンサーの加速度計データは、K64Fマイコンで測定されます 地震学サーバーのデータを表示および分析します ___________________________________________________________________________________________________________________________ 注目のNXP製品: 製品 リンク Kinetis® K64、K63、K24マイクロコントローラ向けFreedom開発プラットフォーム FRDM-K64Fプラットフォーム|フリーダム開発委員会|Kinetisマイクロコントローラ |NXPの  i.MX 6SoloXプロセッサ - ARM® Cortex®-A9/Cortex-M4コアによるヘテロジニアス・プロセッシング i.MX 6SoloX アプリケーション・プロセッサー |® Arm Cortex-A9®、Cortex-M4 |NXPの  __________________________________________________________________________________________________________________________ モバイル
View full article
S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは。 S32G-VNP-RDB3ボードを使用しています。私はyoctoビットベイクBSP42.0(fsl-image-auto)を使用しています。SDカードから起動します。 100BASE-T1(MOLEX MINI 50 J53)で100BASE-T1を使いたいです。 100BASE-T1 SJA1110 ポート: P10(100BASE-T1) を有効にする方法の次のアクションを教えてください。 どうもありがとうございます。   次はブートアップログです。 NOTICE: Reset status: Power-On Reset NOTICE: BL2: v2.10.0 (release):bsp42.0-2.10 NOTICE: BL2: Built : 19:50:36, Sep 12 2024 NOTICE: BL2: Booting BL31 U-Boot 2022.04+g5a6f62071f+p0 (Sep 06 2024 - 07:11:20 +0000) SoC: NXP S32G399A rev. 1.0 CPU: ARM Cortex-A53 r0p4 @ max 1300 MHz Model: NXP S32G399A-RDB3 DRAM: 3.5 GiB Core: 306 devices, 25 uclasses, devicetree: board MMC: FSL_SDHC: 0 Loading Environment from MMC... OK s32cc_serdes_phy serdes@40480000: Using mode 0 for SerDes subsystem pci_s32cc pcie@40400000: Configuring as RootComplex pci_s32cc pcie@40400000: Failed to get link up In: serial@401c8000 Out: serial@401c8000 Err: serial@401c8000 Board revision: RDB3 Revision E PCIe: BusDevFun VendorId DeviceId Device Class Sub-Class __________________________________________________________________________ pcie@40400000 RootComplex | `-- 01:00.00 0x1957 0x4300 Bridge device 0x04 Net: Warning: ethernet@4033c000 (eth0) using random MAC address - 7e:d8:f2:25:32:d4 eth0: ethernet@4033c000 Found PFE version 0x0101 (S32G3) PFEng firmware file 'mmc@0:1:s32g_pfe_class.fw' loading failed: -2 Found PFE version 0x0101 (S32G3) PFEng firmware file 'mmc@0:1:s32g_pfe_class.fw' loading failed: -2 Found PFE version 0x0101 (S32G3) PFEng firmware file 'mmc@0:1:s32g_pfe_class.fw' loading failed: -2 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device 15415304 bytes read in 646 ms (22.8 MiB/s) Booting from mmc ... 60416 bytes read in 7 ms (8.2 MiB/s) ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Using Device Tree in place at 0000000083000000, end 0000000083011bff fixup: pfe1: update phy addr to 0x8 Failed to configure XPCS1_1 Failed to update XPCS1 for SerDes1 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.6.32-rt32-g49d9f8bb25e0-dirty (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Sep 12 09:32:29 UTC 2024 [ 0.000000] Machine model: NXP S32G3 Reference Design Board (S32G-VNP-RDB3) [ 0.000000] earlycon: linflex0 at MMIO 0x00000000401c8000 (options '115200n8') [ 0.000000] printk: legacy bootconsole [linflex0] enabled [ 0.000000] OF: reserved mem: 0x0000000034000000..0x000000003407ffff (512 KiB) nomap non-reusable pfebufs@34000000 [ 0.000000] OF: reserved mem: 0x0000000034080000..0x000000003409ffff (128 KiB) nomap non-reusable pfebufs@34080000 [ 0.000000] Reserved memory: created DMA memory pool at 0x0000000083200000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node pfebufs@83200000, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x0000000083200000..0x00000000835dffff (3968 KiB) nomap non-reusable pfebufs@83200000 [ 0.000000] OF: reserved mem: 0x00000000835e0000..0x00000000835fffff (128 KiB) map non-reusable pfebufs@835e0000 [ 0.000000] OF: reserved mem: 0x0000000084000000..0x0000000084ffffff (16384 KiB) nomap non-reusable shm@84000000 [ 0.000000] OF: reserved mem: 0x00000000c0000000..0x00000000c03fffff (4096 KiB) nomap non-reusable shm@c0000000 [ 0.000000] OF: reserved mem: 0x00000000c0400000..0x00000000c07fffff (4096 KiB) nomap non-reusable shm@c0400000 [ 0.000000] OF: reserved mem: 0x00000000d0000000..0x00000000d000007f (0 KiB) nomap non-reusable shm@d0000000 [ 0.000000] OF: reserved mem: 0x00000000d0000080..0x00000000d00000ff (0 KiB) nomap non-reusable shm@d0000080 [ 0.000000] OF: reserved mem: 0x00000000ff600000..0x00000000ff7fffff (2048 KiB) nomap non-reusable atf@ff600000 [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal [mem 0x0000000100000000-0x00000008dfffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x00000000831fffff] [ 0.000000] node 0: [mem 0x0000000083200000-0x00000000835dffff] [ 0.000000] node 0: [mem 0x00000000835e0000-0x0000000083ffffff] [ 0.000000] node 0: [mem 0x0000000084000000-0x0000000084ffffff] [ 0.000000] node 0: [mem 0x0000000085000000-0x00000000bfffffff] [ 0.000000] node 0: [mem 0x00000000c0000000-0x00000000c07fffff] [ 0.000000] node 0: [mem 0x00000000c0800000-0x00000000cfffffff] [ 0.000000] node 0: [mem 0x00000000d0001000-0x00000000ff5fffff] [ 0.000000] node 0: [mem 0x00000000ff600000-0x00000000ff7fffff] [ 0.000000] node 0: [mem 0x00000000ff800000-0x00000000ffffffff] [ 0.000000] node 0: [mem 0x0000000880000000-0x00000008dfffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008dfffffff] [ 0.000000] On node 0, zone DMA: 1 pages in unavailable ranges [ 0.000000] cma: Reserved 256 MiB at 0x00000000ef600000 on node -1 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.4 [ 0.000000] percpu: Embedded 19 pages/cpu s40040 r8192 d29592 u77824 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, 1530923, or 1530924 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: console=ttyLF0,115200 root=/dev/mmcblk0p2 rootwait rw earlycon [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 903167 [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 8. [ 0.000000] software IO TLB: mapped [mem 0x00000000eb600000-0x00000000ef600000] (64MB) [ 0.000000] Memory: 3223892K/3670012K available (9536K kernel code, 654K rwdata, 2928K rodata, 1792K init, 219K bss, 183976K reserved, 262144K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 544 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] GICv3: MBI range [167:182] [ 0.000000] GICv3: Using MBI frame 0x0000000050800000 [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GICv3: GICv3 features: 16 PPIs [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000050900000 [ 0.000000] ITS: No ITS available, not enabling LPIs [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 5.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x127350b88, max_idle_ns: 440795202120 ns [ 0.000001] sched_clock: 56 bits at 5MHz, resolution 200ns, wraps every 4398046511100ns [ 0.008361] Console: colour dummy device 80x25 [ 0.012452] Calibrating delay loop (skipped), value calculated using timer frequency.. 10.00 BogoMIPS (lpj=20000) [ 0.022658] pid_max: default: 32768 minimum: 301 [ 0.027357] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.034649] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.044061] RCU Tasks: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1. [ 0.050739] RCU Tasks Trace: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1. [ 0.058406] rcu: Hierarchical SRCU implementation. [ 0.063007] rcu: Max phase no-delay instances is 1000. [ 0.068849] smp: Bringing up secondary CPUs ... [ 0.073520] Detected VIPT I-cache on CPU1 [ 0.073574] GICv3: CPU1: found redistributor 1 region 0:0x0000000050920000 [ 0.073609] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] [ 0.074187] Detected VIPT I-cache on CPU2 [ 0.074225] GICv3: CPU2: found redistributor 2 region 0:0x0000000050940000 [ 0.074243] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] [ 0.074769] Detected VIPT I-cache on CPU3 [ 0.074804] GICv3: CPU3: found redistributor 3 region 0:0x0000000050960000 [ 0.074823] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] [ 0.075379] Detected VIPT I-cache on CPU4 [ 0.075439] GICv3: CPU4: found redistributor 100 region 0:0x0000000050980000 [ 0.075467] CPU4: Booted secondary processor 0x0000000100 [0x410fd034] [ 0.076039] Detected VIPT I-cache on CPU5 [ 0.076080] GICv3: CPU5: found redistributor 101 region 0:0x00000000509a0000 [ 0.076100] CPU5: Booted secondary processor 0x0000000101 [0x410fd034] [ 0.076644] Detected VIPT I-cache on CPU6 [ 0.076684] GICv3: CPU6: found redistributor 102 region 0:0x00000000509c0000 [ 0.076705] CPU6: Booted secondary processor 0x0000000102 [0x410fd034] [ 0.077304] Detected VIPT I-cache on CPU7 [ 0.077345] GICv3: CPU7: found redistributor 103 region 0:0x00000000509e0000 [ 0.077366] CPU7: Booted secondary processor 0x0000000103 [0x410fd034] [ 0.077440] smp: Brought up 1 node, 8 CPUs [ 0.203332] SMP: Total of 8 processors activated. [ 0.208009] CPU features: detected: 32-bit EL0 Support [ 0.213141] CPU features: detected: CRC32 instructions [ 0.218323] CPU: All CPU(s) started at EL2 [ 0.222342] alternatives: applying system-wide alternatives [ 0.229681] devtmpfs: initialized [ 0.240940] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.250270] futex hash table entries: 2048 (order: 5, 131072 bytes, linear) [ 0.264821] pinctrl core: initialized pinctrl subsystem [ 0.270465] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.276916] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations [ 0.283728] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.291487] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.299488] thermal_sys: Registered thermal governor 'step_wise' [ 0.299596] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.312070] ASID allocator initialised with 65536 entries [ 0.317418] Serial: AMBA PL011 UART driver [ 0.321450] scmi_core: SCMI protocol bus registered [ 0.327322] scmi_protocol scmi_dev.1: Enabled polling mode TX channel - prot_id:16 [ 0.334786] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled. [ 0.341026] arm-scmi firmware:scmi: SCMI Protocol v2.0 'NXP:S32G399A' Firmware version 0x0 [ 0.356015] platform 4009c240.siul2-pinctrl: Fixed dependency cycle(s) with /soc/siul2@4009c000/siul2-pinctrl@4009c240/jtag_pins [ 0.374276] Modules: 28944 pages in range for non-PLT usage [ 0.374283] Modules: 520464 pages in range for PLT usage [ 0.379905] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.391552] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.397803] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.404571] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.410825] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.417591] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.423844] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.430613] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.444571] SCSI subsystem initialized [ 0.448063] usbcore: registered new interface driver usbfs [ 0.453383] usbcore: registered new interface driver hub [ 0.458687] usbcore: registered new device driver usb [ 0.464177] pps_core: LinuxPPS API ver. 1 registered [ 0.468707] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [ 0.477829] PTP clock support registered [ 0.482640] vgaarb: loaded [ 0.485222] clocksource: Switched to clocksource arch_sys_counter [ 0.497180] NET: Registered PF_INET protocol family [ 0.501842] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 0.511567] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear) [ 0.519728] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.527392] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.535481] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear) [ 0.543762] TCP: Hash tables configured (established 32768 bind 32768) [ 0.549968] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear) [ 0.556608] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear) [ 0.563848] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.569666] RPC: Registered named UNIX socket transport module. [ 0.575208] RPC: Registered udp transport module. [ 0.579888] RPC: Registered tcp transport module. [ 0.584575] RPC: Registered tcp-with-tls transport module. [ 0.590044] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.596492] PCI: CLS 0 bytes, default 64 [ 0.601939] workingset: timestamp_bits=62 max_order=20 bucket_order=0 [ 0.608413] fuse: init (API version 7.39) [ 0.612144] NET: Registered PF_ALG protocol family [ 0.616809] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248) [ 0.624145] io scheduler mq-deadline registered [ 0.628655] io scheduler kyber registered [ 0.632656] io scheduler bfq registered [ 0.639938] s32cc-siul2-pinctrl 4009c240.siul2-pinctrl: initialized s32 pinctrl driver [ 0.648524] s32cc-siul2-gpio 4009d700.siul2-gpio: No cache defaults, reading back from HW [ 0.656358] s32cc-siul2-gpio 4009d700.siul2-gpio: No cache defaults, reading back from HW [ 0.664805] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 0.673779] s32cc-siul2-gpio 4009d700.siul2-gpio: No cache defaults, reading back from HW [ 0.681583] s32cc-siul2-gpio 4009d700.siul2-gpio: No cache defaults, reading back from HW [ 0.700880] printk: legacy console [ttyLF0] enabled000 (irq = 23, base_baud = 7812500) is a FSL_LINFLEX [ 0.700880] printk: legacy console [ttyLF0] enabled [ 0.710776] printk: legacy bootconsole [linflex0] disabled [ 0.710776] printk: legacy bootconsole [linflex0] disabled [ 0.725708] 401cc000.serial: ttyLF1 at MMIO 0x401cc000 (irq = 24, base_baud = 7812500) is a FSL_LINFLEX [ 0.736947] s32cc_fccu 4030c000.fccu: FCCU status is 0 (normal) [ 0.745126] sja1110-sw@1 enforce active low on GPIO handle [ 0.752978] spi-nor spi6.0: mx25uw51245g (65536 Kbytes) [ 0.758717] 7 fixed-partitions partitions found on MTD device 0.spi [ 0.765085] Creating 7 MTD partitions on "0.spi": [ 0.769858] 0x000000000000-0x000004000000 : "Flash-Image" [ 0.775609] 0x000000000000-0x000000280000 : "FIP" [ 0.780624] 0x000000280000-0x000000290000 : "U-Boot-Env" [ 0.786257] 0x000000290000-0x000001360000 : "Kernel" [ 0.791550] 0x000001360000-0x000001390000 : "DTB" [ 0.796567] 0x000001390000-0x0000032a0000 : "Rootfs" [ 0.801839] 0x0000032a0000-0x000004000000 : "PFE-Firmware" [ 0.808946] vcan: Virtual CAN interface driver [ 0.813465] slcan: serial line CAN interface driver [ 0.818414] CAN device driver interface [ 0.823242] flexcan 401b4000.can: device registered (reg_base=(____ptrval____), irq(s): [ 0.831367] flexcan 401b4000.can: 30 [ 0.835085] flexcan 401b4000.can: 31 [ 0.838798] flexcan 401b4000.can: 32 [ 0.842512] flexcan 401b4000.can: 33 [ 0.846224] flexcan 401b4000.can: ) [ 0.850474] flexcan 401be000.can: device registered (reg_base=(____ptrval____), irq(s): [ 0.858601] flexcan 401be000.can: 34 [ 0.862319] flexcan 401be000.can: 35 [ 0.866031] flexcan 401be000.can: 36 [ 0.869745] flexcan 401be000.can: 37 [ 0.873457] flexcan 401be000.can: ) [ 0.877168] e100: Intel(R) PRO/100 Network Driver [ 0.881937] e100: Copyright(c) 1999-2006 Intel Corporation [ 0.887524] e1000: Intel(R) PRO/1000 Network Driver [ 0.892468] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 0.898311] e1000e: Intel(R) PRO/1000 Network Driver [ 0.903343] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 0.909370] igb: Intel(R) Gigabit Ethernet Network Driver [ 0.914843] igb: Copyright (c) 2007-2014 Intel Corporation. [ 0.921291] hse-uio 40210000.mu0b: firmware not found [ 0.926814] usbcore: registered new interface driver uas [ 0.932233] usbcore: registered new interface driver usb-storage [ 0.939221] imx_usb 44064000.usb: No over current polarity defined [ 0.959778] ci_hdrc ci_hdrc.0: EHCI Host Controller [ 0.964844] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 [ 0.985221] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 [ 0.990844] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.06 [ 0.999233] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 1.006559] usb usb1: Product: EHCI Host Controller [ 1.011505] usb usb1: Manufacturer: Linux 6.6.32-rt32-g49d9f8bb25e0-dirty ehci_hcd [ 1.019180] usb usb1: SerialNumber: ci_hdrc.0 [ 1.024010] hub 1-0:1.0: USB hub found [ 1.027839] hub 1-0:1.0: 1 port detected [ 1.033057] s32cc-rtc 40060000.rtc: registered as rtc0 [ 1.038289] s32cc-rtc 40060000.rtc: setting system clock to 1970-01-01T00:00:00 UTC (0) [ 1.046489] i2c_dev: i2c /dev entries driver [ 1.051171] s32cc-wdt 4010c000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.060424] s32cc-wdt 40200000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.069654] s32cc-wdt 40204000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.078886] s32cc-wdt 40208000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.088135] s32cc-wdt 40500000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.097362] s32cc-wdt 40504000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.106593] s32cc-wdt 40508000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.115823] s32cc-wdt 4050c000.watchdog: S32CC Watchdog Timer Registered. timeout=30s (nowayout=0) [ 1.126324] sdhci: Secure Digital Host Controller Interface driver [ 1.132613] sdhci: Copyright(c) Pierre Ossman [ 1.137034] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.142990] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 1.149899] hse 40211000.mu1b: interface mu1b not active [ 1.155642] usbcore: registered new interface driver usbhid [ 1.161298] usbhid: USB HID core driver [ 1.173231] mmc0: SDHCI controller on 402f0000.mmc [402f0000.mmc] using ADMA [ 1.180511] s32-adc 401f8000.adc: using dma0chan4 for ADC DMA transfers [ 1.187644] s32-adc 401f8000.adc: Device initialized successfully. [ 1.205363] s32-adc 402e8000.adc: using dma1chan16 for ADC DMA transfers [ 1.212536] s32-adc 402e8000.adc: Device initialized successfully. [ 1.217139] mmc0: new high speed SDHC card at address aaaa [ 1.224661] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available [ 1.224888] mmcblk0: mmc0:aaaa SK32G 29.7 GiB [ 1.234181] s32-siul2-nvmem 4009c000.nvram: Initialized s32cc siul2 nvmem driver [ 1.239108] mmcblk0: p1 p2 [ 1.245055] s32-siul2-nvmem 44010000.nvram: Initialized s32cc siul2 nvmem driver [ 1.255917] NET: Registered PF_INET6 protocol family [ 1.261708] Segment Routing with IPv6 [ 1.265473] In-situ OAM (IOAM) with IPv6 [ 1.269496] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 1.275914] NET: Registered PF_PACKET protocol family [ 1.281162] can: controller area network core [ 1.285612] NET: Registered PF_CAN protocol family [ 1.290472] can: raw protocol [ 1.293482] can: broadcast manager protocol [ 1.297728] can: netlink gateway - max_hops=1 [ 1.302201] 8021q: 802.1Q VLAN Support v1.8 [ 1.321752] i2c i2c-0: using pinctrl states for GPIO recovery [ 1.327698] i2c i2c-0: using generic GPIOs for recovery [ 1.333202] pca953x 0-0022: using AI [ 1.343874] rtc-pcf85063 0-0051: registered as rtc1 [ 1.348859] i2c i2c-0: IMX I2C adapter registered [ 1.353671] i2c i2c-0: using dma0chan5 (tx) and dma0chan6 (rx) for DMA transfers [ 1.361699] i2c i2c-2: using pinctrl states for GPIO recovery [ 1.367578] i2c i2c-2: using generic GPIOs for recovery [ 1.372951] i2c i2c-2: IMX I2C adapter registered [ 1.377762] i2c i2c-2: using dma1chan17 (tx) and dma1chan18 (rx) for DMA transfers [ 1.385899] i2c i2c-4: using pinctrl states for GPIO recovery [ 1.391774] i2c i2c-4: using generic GPIOs for recovery [ 1.398483] ina2xx 4-0040: power monitor ina231 (Rshunt = 1000 uOhm) [ 1.404962] i2c i2c-4: IMX I2C adapter registered [ 1.409767] i2c i2c-4: using dma1chan19 (tx) and dma1chan20 (rx) for DMA transfers [ 1.417904] phy-s32cc-serdes 40480000.serdes: Using mode 0 for SerDes subsystem [ 1.425692] phy-s32cc-serdes 44180000.serdes: Using mode 4 for SerDes subsystem [ 1.654758] s32cc-pcie 40400000.pcie: Failed to stabilize PHY link [ 1.661032] s32cc-pcie 40400000.pcie: Configuring as RootComplex [ 1.667155] s32cc-pcie 40400000.pcie: host bridge /soc/pcie@40400000 ranges: [ 1.674326] s32cc-pcie 40400000.pcie: IO 0x5ffffe0000..0x5ffffeffff -> 0x0000000000 [ 1.682632] s32cc-pcie 40400000.pcie: MEM 0x5800000000..0x5ffffdffff -> 0x0000000000 [ 1.690943] s32cc-pcie 40400000.pcie: Memory resource size exceeds max for 32 bits [ 2.698755] s32cc-pcie 40400000.pcie: Phy link never came up [ 2.704548] s32cc-pcie 40400000.pcie: iATU: unroll T, 6 ob, 4 ib, align 4K, limit 1024G [ 2.712763] s32cc-pcie 40400000.pcie: eDMA: unroll T, 4 wr, 4 rd [ 3.719039] s32cc-pcie 40400000.pcie: Phy link never came up [ 4.724891] s32cc-pcie 40400000.pcie: Phy link never came up [ 4.731110] s32cc-pcie 40400000.pcie: PCI host bridge to bus 0000:00 [ 4.737562] pci_bus 0000:00: root bus resource [bus 00-ff] [ 4.743130] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 4.749400] pci_bus 0000:00: root bus resource [mem 0x5800000000-0x5ffffdffff] (bus address [0x00000000-0x7fffdffff]) [ 4.760192] pci 0000:00:00.0: [1957:4300] type 01 class 0x060400 [ 4.766302] pci 0000:00:00.0: reg 0x10: [mem 0x5800000000-0x58000fffff] [ 4.773023] pci 0000:00:00.0: reg 0x38: [mem 0x5800000000-0x580000ffff pref] [ 4.780262] pci 0000:00:00.0: supports D1 [ 4.784330] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold [ 4.793569] pci 0000:00:00.0: BAR 0: assigned [mem 0x5800000000-0x58000fffff] [ 4.800816] pci 0000:00:00.0: BAR 6: assigned [mem 0x5800100000-0x580010ffff pref] [ 4.808498] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 4.814030] pcieport 0000:00:00.0: PME: Signaling with IRQ 52 [ 4.820780] s32cc-dwmac 4033c000.ethernet: IRQ eth_wake_irq not found [ 4.827319] s32cc-dwmac 4033c000.ethernet: IRQ eth_lpi not found [ 4.833796] s32cc-dwmac 4033c000.ethernet: User ID: 0x10, Synopsys ID: 0x52 [ 4.840867] s32cc-dwmac 4033c000.ethernet: DWMAC4/5 [ 4.845909] s32cc-dwmac 4033c000.ethernet: DMA HW capability register supported [ 4.853320] s32cc-dwmac 4033c000.ethernet: RX Checksum Offload Engine supported [ 4.860731] s32cc-dwmac 4033c000.ethernet: TX Checksum insertion supported [ 4.867701] s32cc-dwmac 4033c000.ethernet: Wake-Up On Lan supported [ 4.874096] s32cc-dwmac 4033c000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 4.882039] s32cc-dwmac 4033c000.ethernet: Enabled L3L4 Flow TC (entries=8) [ 4.889098] s32cc-dwmac 4033c000.ethernet: Enabled RFS Flow TC (entries=10) [ 4.896162] s32cc-dwmac 4033c000.ethernet: Enabling HW TC (entries=256, max_off=256) [ 4.904018] s32cc-dwmac 4033c000.ethernet: Using 32/32 bits DMA host/device width [ 4.917289] hwmon hwmon1: temp1_input not attached to any thermal zone [ 4.926162] qoriq_thermal 400a8000.tmu: Critical rising/falling temperature threshold = 5 degree(s) [ 4.939279] nxp_s32cc_ddr_perf 403e0000.ddr-perf: probing device [ 4.945593] nxp_s32cc_ddr_perf 403e0000.ddr-perf: device initialized successfully [ 4.953427] clk: Disabling unused clocks [ 4.981066] EXT4-fs (mmcblk0p2): mounted filesystem 7ef8de4c-43d4-4981-a4ac-61482e00b612 r/w with ordered data mode. Quota mode: disabled. [ 4.993129] VFS: Mounted root (ext4 filesystem) on device 179:2. [ 4.999699] devtmpfs: mounted [ 5.002865] Freeing unused kernel memory: 1792K [ 5.007034] Run /sbin/init as init process [ 5.386401] systemd[1]: System time before build time, advancing clock. [ 5.444407] systemd[1]: systemd 250.5+ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid) [ 5.475772] systemd[1]: Detected architecture arm64. Welcome to Auto Linux BSP 42.0 (kirkstone)! [ 5.497910] systemd[1]: Hostname set to . [ 5.927648] systemd[1]: Queued start job for default target Multi-User System. [ 5.965242] systemd[1]: Created slice Slice /system/getty. [ OK ] Created slice Slice /system/getty. [ 5.986147] systemd[1]: Created slice Slice /system/modprobe. [ OK ] Created slice Slice /system/modprobe. [ 6.009949] systemd[1]: Created slice Slice /system/serial-getty. [ OK ] Created slice Slice /system/serial-getty. [ 6.033676] systemd[1]: Created slice User and Session Slice. [ OK ] Created slice User and Session Slice. [ 6.057473] systemd[1]: Started Dispatch Password Requests to Console Directory Watch. [ OK ] Started Dispatch Password …ts to Console Directory Watch. [ 6.081401] systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ OK ] Started Forward Password R…uests to Wall Directory Watch. [ 6.105482] systemd[1]: Reached target Path Units. [ OK ] Reached target Path Units. [ 6.125329] systemd[1]: Reached target Remote File Systems. [ OK ] Reached target Remote File Systems. [ 6.145305] systemd[1]: Reached target Slice Units. [ OK ] Reached target Slice Units. [ 6.165336] systemd[1]: Reached target Swaps. [ OK ] Reached target Swaps. [ 6.225646] systemd[1]: Listening on RPCbind Server Activation Socket. [ OK ] Listening on RPCbind Server Activation Socket. [ 6.249388] systemd[1]: Reached target RPC Port Mapper. [ OK ] Reached target RPC Port Mapper. [ 6.269922] systemd[1]: Listening on Syslog Socket. [ OK ] Listening on Syslog Socket. [ 6.289501] systemd[1]: Listening on initctl Compatibility Named Pipe. [ OK ] Listening on initctl Compatibility Named Pipe. [ 6.316408] systemd[1]: Journal Audit Socket was skipped because of a failed condition check (ConditionSecurity=audit). [ 6.327108] systemd[1]: Listening on Journal Socket (/dev/log). [ OK ] Listening on Journal Socket (/dev/log). [ 6.349641] systemd[1]: Listening on Journal Socket. [ OK ] Listening on Journal Socket. [ 6.369803] systemd[1]: Listening on Network Service Netlink Socket. [ OK ] Listening on Network Service Netlink Socket. [ 6.393697] systemd[1]: Listening on udev Control Socket. [ OK ] Listening on udev Control Socket. [ 6.413500] systemd[1]: Listening on udev Kernel Socket. [ OK ] Listening on udev Kernel Socket. [ 6.433567] systemd[1]: Listening on User Database Manager Socket. [ OK ] Listening on User Database Manager Socket. [ 6.477471] systemd[1]: Mounting Huge Pages File System... Mounting Huge Pages File System... [ 6.497628] systemd[1]: POSIX Message Queue File System was skipped because of a failed condition check (ConditionPathExists=/proc/sys/fs/mqueue). [ 6.512336] systemd[1]: Mounting Kernel Debug File System... Mounting Kernel Debug File System... [ 6.533610] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing). [ 6.546133] systemd[1]: Create List of Static Device Nodes was skipped because of a failed condition check (ConditionFileNotEmpty=/lib/modules/6.6.32-rt32-g49d9f8bb25e0-dirty/modules.devname). [ 6.577637] systemd[1]: Starting Load Kernel Module configfs... Starting Load Kernel Module configfs... [ 6.599592] systemd[1]: Starting Load Kernel Module drm... Starting Load Kernel Module drm... [ 6.623568] systemd[1]: Starting Load Kernel Module fuse... Starting Load Kernel Module fuse... [ 6.669659] systemd[1]: Starting RPC Bind... Starting RPC Bind... [ 6.689480] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/). [ 6.705360] systemd[1]: Starting Journal Service... Starting Journal Service... [ 6.732435] systemd[1]: Starting Load Kernel Modules... Starting Load Kernel Modules... [ 6.750655] sja1110: loading out-of-tree module taints kernel. [ 6.756520] SPI driver sja1110 has no spi_device_id for nxp,sja1110-switch [ 6.763040] SPI driver sja1110 has no spi_device_id for nxp,sja1110-uc [ 6.769691] sja1110 spi5.0: probing uc [ 6.773335] sja1110 spi5.1: probing switch [ 6.777589] sja1110 spi5.1: Could not get GPIO from device tree [ 6.784402] sja1110 spi5.1: [sja1110_post_probe_upload_worker] Trying to initialize switch [ 6.793013] sja1110 spi5.1: Direct firmware load for sja1110_switch.bin failed with error -2 [ 6.801036] sja1110 spi5.1: request_firmware failed with -2 [ 6.806581] sja1110 spi5.0: [sja1110_post_probe_upload_worker] Trying to initialize uC [ 6.814510] sja1110 spi5.0: Direct firmware load for sja1110_uc.bin failed with error -2 [ 6.822553] sja1110 spi5.0: request_firmware failed with -2 [ 6.833773] systemd[1]: Starting Generate network units from Kernel command line... Starting Generate network …ts from Kernel command line... [ 6.859983] systemd[1]: Starting Remount Root and Kernel File Systems... Starting Remount Root and Kernel File Systems... [ 6.888086] systemd[1]: Starting Coldplug All udev Devices... Starting Coldplug All udev Devices... [ 6.913647] EXT4-fs (mmcblk0p2): re-mounted 7ef8de4c-43d4-4981-a4ac-61482e00b612 r/w. Quota mode: disabled. [ 6.918508] systemd[1]: Started RPC Bind. [ OK ] Started RPC Bind. [ 6.942831] systemd[1]: Started Journal Service. [ OK ] Started Journal Service. [ OK ] Mounted Huge Pages File System. [ OK ] Mounted Kernel Debug File System. [ OK ] Finished Load Kernel Module configfs. [ OK ] Finished Load Kernel Module drm. [ OK ] Finished Load Kernel Module fuse. [ OK ] Finished Load Kernel Modules. [ OK ] Finished Generate network units from Kernel command line. [ OK ] Finished Remount Root and Kernel File Systems. Mounting FUSE Control File System... Mounting Kernel Configuration File System... Starting Flush Journal to Persistent Storage... [ 7.205357] systemd-journald[147]: Received client request to flush runtime journal. Starting Apply Kernel Variables... Starting Create Static Device Nodes in /dev... [ OK ] Mounted FUSE Control File System. [ OK ] Finished Coldplug All udev Devices. [ OK ] Mounted Kernel Configuration File System. [ OK ] Finished Flush Journal to Persistent Storage. [ OK ] Finished Apply Kernel Variables. [ OK ] Finished Create Static Device Nodes in /dev. [ OK ] Reached target Preparation for Local File Systems. Mounting /tmp... Mounting /var/volatile... Starting Rule-based Manage…for Device Events and Files... [ OK ] Mounted /tmp. [ OK ] Mounted /var/volatile. Mounting /var/volatile/tmp... Starting Load/Save Random Seed... [ OK ] Mounted /var/volatile/tmp. [ OK ] Reached target Local File Systems. Starting Create Volatile Files and Directories... [ OK ] Started Rule-based Manager for Device Events and Files. [ OK ] Finished Create Volatile Files and Directories. Starting Network Time Synchronization... Starting Record System Boot/Shutdown in UTMP... [ OK ] Finished Record System Boot/Shutdown in UTMP. [ OK ] Started Network Time Synchronization. [ OK ] Reached target System Initialization. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Reached target System Time Set. [ OK ] Started Daily rotation of log files. [ OK ] Reached target Timer Units. [ OK ] Listening on D-Bus System Message Bus Socket. Starting sshd.socket... [ OK ] Listening on sshd.socket. [ OK ] Reached target Socket Units. [ OK ] Reached target Basic System. [ OK ] Started Job spooling tools. [ OK ] Started Periodic Command Scheduler. Starting D-Bus System Message Bus... Starting IPv6 Packet Filtering Framework... Starting IPv4 Packet Filtering Framework... [ OK ] Started irqbalance daemon. [ OK ] Started Hardware RNG Entropy Gatherer Daemon. [ OK ] Started System Logging Service. Starting Resets System Activity Logs... Starting User Login Management... Starting OpenSSH Key Generation... [ OK ] Finished IPv6 Packet Filtering Framework. [ OK ] Finished IPv4 Packet Filtering Framework. [ OK ] Finished Resets System Activity Logs. [ OK ] Finished OpenSSH Key Generation. [ OK ] Reached target Preparation for Network. Starting Network Configuration... [ OK ] Started Network Configuration. [ OK ] Created slice Slice /system/systemd-fsck. Starting Network Name Resolution... [ OK ] Found device /dev/mmcblk0p1. Starting File System Check on /dev/mmcblk0p1... [ OK ] Finished File System Check on /dev/mmcblk0p1. Mounting /run/media/boot_s32g3-mmcblk0p1... [ OK ] Started Network Name Resolution. [ OK ] Mounted /run/media/boot_s32g3-mmcblk0p1. [ OK ] Reached target Network. [ OK ] Reached target Host and Network Name Lookups. [ OK ] Started Netperf Benchmark Server. [ OK ] Started NFS status monitor for NFSv2/3 locking.. [ OK ] Started Respond to IPv6 Node Information Queries. [ OK ] Started Network Router Discovery Daemon. Starting Permit User Sessions... [ OK ] Started Xinetd A Powerful Replacement For Inetd. [ OK ] Finished Permit User Sessions. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttyLF0. [ OK ] Reached target Login Prompts. [ OK ] Finished Load/Save Random Seed. [ OK ] Started D-Bus System Message Bus. [ OK ] Started User Login Management. [ OK ] Reached target Multi-User System. Starting Record Runlevel Change in UTMP... [ OK ] Finished Record Runlevel Change in UTMP. Auto Linux BSP 42.0 s32g399ardb3 ttyLF0 s32g399ardb3 login: root 次はifconfigコマンドの結果です。 root@s32g399ardb3:~# ifconfig eth0: flags=4099 mtu 1500 ether 7e:d8:f2:25:32:d4 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 55 base 0xa000 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 82 bytes 6220 (6.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 82 bytes 6220 (6.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hi, @Wzlinux  conf/local.conf へのすべての変更を削除することをお勧めします。次に、次の 2 行のみを追加します (コピーして設定ファイルに貼り付けます)。 DISTRO_FEATURES:append = "pfe" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe" その後、次のコマンドを実行して、次のコマンドで再構築します。 bitbake fsl-image-auto -c クリーン & bitbake fsl-image-auto  BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは @chenyin_h ありがとうございます。 フォロー2行を削除しました。 DISTRO_FEATURES:append = "PFE PFE-スレーブ" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" 次のものだけを保持します。 DISTRO_FEATURES:append = "pfe" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" bitbake fsl-image-auto を使用します fsl-image-auto-s32g399ardb3.sdcardをSDカードに焼き付けました。 /lib/firmware が空です。 以下は /lib/modules/ です。 root@s32g399ardb3:/lib/firmware# ls root@s32g399ardb3:/lib/firmware# cd ../ root@s32g399ardb3:/lib/modules/6.6.32-rt32-g49d9f8bb25e0-dirty#LSの mdio-proxy.ko modules.alias.bin modules.builtin.alias.bin modules.builtin.modinfo modules.dep.bin modules.order modules.symbols の更新 modules.alias modules.builtin modules.builtin.bin modules.dep modules.dev名前 modules.softdep modules.symbols.bin Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hello, @Wzlinux  次の2行を削除することをお勧めします。 DISTRO_FEATURES:append = "PFE PFE-スレーブ" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" 次に、Yoctoイメージを再構築して試してみてください BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは@chenyin_h これは私のYocto設定(conf / local.onf)の続きです: 機械。。= 's32g399ardb3' DISTRO ?= 'fsl-auto' PACKAGE_CLASSES ?= "package_rpm" EXTRA_IMAGE_FEATURES ?= "デバッグ調整" USER_CLASSES ?= "buildstats" PATCHRESOLVE = "noop" BB_DISKMON_DIRS??= "\ STOPTASKS、${TMPDIR}、1G、100K \ STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS、${SSTATE_DIR}、1G、100K \ STOPTASKS,/tmp,100M,100K \ ハルト、${TMPDIR}、100M、1K \ ハルト、${DL_DIR}、100M、1K \ ハルト、${SSTATE_DIR}、100M、1K \ ハルト、/ tmp、10M、1K" PACKAGECONFIG:append:pn-qemu-system-native = "sdl" CONF_VERSION = "2" # 並列処理オプション BB_NUMBER_THREADS = "32" PARALLEL_MAKE = "-j 24" DL_DIR = "/home/bin/fsl-auto-yocto-bsp/downloads" SSTATE_DIR = "/home/bin/fsl-auto-yocto-bsp/sstate-cache" ACCEPT_FSL_EULA = "1" DISTRO_FEATURES:append = "pfe" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" DISTRO_FEATURES:append = "PFE PFE-スレーブ" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" 「/home/bin/fsl-auto- に 2 つの s32g_pfe_class.fw s32g_pfe_util.fw ファイルがあります。yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは@chenyin_h これが私のYocto設定です(conf / local.onf)続き: 機械。。= 's32g399ardb3' DISTRO ?= 'fsl-auto' PACKAGE_CLASSES ?= "package_rpm" EXTRA_IMAGE_FEATURES ?= "デバッグ調整" USER_CLASSES ?= "buildstats" PATCHRESOLVE = "noop" BB_DISKMON_DIRS??= "\ STOPTASKS、${TMPDIR}、1G、100K \ STOPTASKS、${DL_DIR}、1G、100K \ STOPTASKS、${SSTATE_DIR}、1G、100K \ STOPTASKS,/tmp,100M,100K \ ハルト、${TMPDIR}、100M、1K \ ハルト、${DL_DIR}、100M、1K \ ハルト、${SSTATE_DIR}、100M、1K \ ハルト、/ tmp、10M、1K" PACKAGECONFIG:append:pn-qemu-system-native = "sdl" CONF_VERSION = "2" # 並列処理オプション BB_NUMBER_THREADS = "32" PARALLEL_MAKE = "-j 24" DL_DIR = "/home/bin/fsl-auto-yocto-bsp/downloads" SSTATE_DIR = "/home/bin/fsl-auto-yocto-bsp/sstate-cache" ACCEPT_FSL_EULA = "1" DISTRO_FEATURES:append = "pfe" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" DISTRO_FEATURES:append = "PFE PFE-スレーブ" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/" 「/home/bin/fsl-auto-yocto-bsp/sources/meta-alb/meta-alb-bsp/recipes-kernel/pfe/pfe/」に2つのs32g_pfe_class.fw s32g_pfe_util.fwファイルがあります。 Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hello, @Wzlinux  あなたのディレクトリの下にpfeng.koがないのは奇妙です、Yoctoのビルド中に「pfe-slave」を設定したかどうかはわかりませんが、テストを行ったところ、次のディレクトリからpfeng.koが見つかりました。 /lib/modules/6.6.32-rt32-00903-g49d9f8bb25e0/kernel/drivers/net/ethernet/nxp/pfe/pfeng.ko Yoctoの建物の設定を再確認するのを手伝ってくれませんか? また、PFE Linuxドライバーを手動でビルドする場合は、BSP42に1.7バージョンが必要ですが、Linuxモジュールをビルドするのと同じ方法でビルドできます。 BR チェンイン BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは@chenyin_h /lib/modules リストは、以下のとおりです。 root@s32g399ardb3:~# cd /lib/modules/ root@s32g399ardb3:/lib/modules# ls 6.6.32-RT32-G49D9F8BB25E0-ダーティ root@s32g399ardb3:/lib/modules# cd 6.6.32-rt32-g49d9f8bb25e0-dirty/ root@s32g399ardb3:/lib/modules/6.6.32-rt32-g49d9f8bb25e0-dirty#LSの カーネル modules.alias modules.builtin modules.builtin.bin modules.dep modules.devname modules.softdep modules.symbols.bin mdio-proxy.ko modules.alias.bin modules.builtin.alias.bin modules.builtin.modinfo modules.dep.bin modules.order modules.symbols の更新 root@s32g399ardb3:/lib/modules/6.6.32-rt32-g49d9f8bb25e0-dirty#cd kernel/drivers/net/ethernet/nxp/pfe/ root@s32g399ardb3:/lib/modules/6.6.32-rt32-g49d9f8bb25e0-dirty/kernel/drivers/net/ethernet/nxp/pfe#LSの pfeng-slave.ko root@s32g399ardb3:/lib/modules/6.6.32-rt32-g49d9f8bb25e0-dirty/kernel/drivers/net/ethernet/nxp/pfe# /lib/firmware は、以下のとおりです。 root@s32g399ardb3:/lib/firmware# ls s32g_pfe_class.fw s32g_pfe_util.fw root@s32g399ardb3:/lib/firmware# ifconfig -a には PFE ポートがありません。 root@s32g399ardb3:/lib/firmware# ifconfig -a can0: flags=128 mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 can1: flags=128 mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 eth0: flags=4099 mtu 1500 inet6 fe80::6c70:86ff:fe71:1b8 prefixlen 64 scopeid 0x20 ether 6e:70:86:71:01:b8 txqueuelen 1000 (イーサネット) RXパケット 50バイト 4462 (4.3 KiB) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 33 バイト 4973 (4.8 KiB) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 デバイス割り込み 55 ベース0x2000 lo: flags=73 mtu 65536 inet 127.0.0.1 ネットマスク 255.0.0.0 inet6 ::1 prefixlen 128 スコープ ID 0x10 loop txqueuelen 1000 (ローカル ループバック) RXパケット 82バイト 6220 (6.0 KiB) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 82 バイト 6220 (6.0 KiB) TX エラー 0 ドロップ、オーバーラン、0、キャリア、衝突0、0 sit0: flags=128 MTU 1480 unspec 00-00-00-00-00-00-38-9B-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは @chenyin_h ありがとうございます。 私はPFE_Driver_1_5_0.zipをダウンロードしましたこのドライバーの作り方を教えてもらえますか?PFE dirver(どのファイル)をロードする方法は? Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hi, @Wzlinux  ご返信ありがとうございます。 ログから、PFE FWは正常に統合されているように見えますが、PFE Linuxドライバーが初期化されていないように見えるため、/ lib / modules /で確認し、PFEドライバーを手動でロードしてみてください。 BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは @chenyin_h ありがとうございます。 私はあなたの方法を使用してbitbakeに成功します。次に、画像をSDカードにフラッシュします。しかし、ifconfig -a には pfe がありません 注意: リセットステータス: 電源投入時リセット BL2:v2.10.0(リリース):bsp42.0-2.10 注意: BL2: 構築 : 2024年9月12日 19:50:36 注意: BL2: BL31 の起動 Uブート 2022.04+g5a6f62071f+p0(2024年9月6日 - 07:11:20 +0000) SoC:NXPのS32G399Aリビジョン1.0 CPU:ARM Cortex-A53 r0p4 @最大1300 MHz モデル:NXP S32G399A-RDB3 DRAM: 3.5 GiB コア:306デバイス、25 uclass、デバイスツリー:ボード MMC:FSL_SDHC:0 MMC から環境を読み込んでいます... わかりました s32cc_serdes_phy serdes@40480000: SerDes サブシステムのモード 0 を使用 pci_s32cc pcie@40400000: RootComplex としての構成 pci_s32cc pcie@40400000: リンクアップに失敗しました で: serial@401c8000 アウト:serial@401c8000 エラー:serial@401c8000 ボードリビジョン:RDB3リビジョンE PCIe: BusDevFun VendorId DeviceId デバイス クラス サブクラス __________________________________________________________________________ pcie@40400000 ルートコンプレックス |'-- 01:00.00 0x1957 0x4300 ブリッジデバイス0x04 網: 警告:ランダムなMACアドレスを使用するethernet@4033c000(eth0) - 2a:2d:07:9b:27:9c eth0: ethernet@4033c000 PFEバージョン0x0101(S32G3)が見つかりました pfeng pfeng-base: CLASS ファームウェアのアップロード pfeng pfeng-base: EMAC0 ブロックが初期化されました pfeng pfeng-base: EMAC1 ブロックが初期化されました pfeng pfeng-base: EMAC2 ブロックが初期化されました pfeng pfeng-base: CLASS ブロックの有効化 pfeng pfeng-base: PFE プラットフォームが正常に開始されました (マスク: 7) s32cc_serdes_phy serdes@44180000: SerDes サブシステムのモード 4 の使用 s32cc_serdes_phy serdes@44180000: 2 μs 後に XPCS0 で安定した RX が検出されました 、eth1:pfe0s32cc_serdes_phy serdes@44180000:XPCS1で不安定なRXが検出されました 、eth2:pfe1、eth3:pfe2 自動起動を停止するには、任意のキーを押します:0 パーティション#0に切り替えて、OK mmc0 は現在のデバイスです 15415304バイトを646ミリ秒で読み取り(22.8MiB/秒) mmc から起動しています ... 60416バイトを6ミリ秒で読み取り(9.6 MiB/秒) ## 83000000 のフラット化されたデバイスツリーブロブ fdt blob を使用して 0x83000000 で起動する デバイスツリーを0000000083000000の位置で使用し、0000000083011bff を終了します。 修正: PFE1: PHY Addr を 0x8 に更新します XPCS1_1の設定に失敗しました SerDes1 の XPCS1 を更新できませんでした カーネルを起動しています... [ 0.000000] 物理CPU上でのLinuxの起動 0x0000000000 [0x410fd034] [ 0.000000] Linuxバージョン6.6.32-rt32-g49d9f8bb25e0-dirty(OE-user@oe-ホスト)(aarch64-fsl-linux-gcc(GCC)11.4.0、GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Sep 12 09:32:29 UTC 2024 [ 0.000000] マシンモデル:NXP S32G3リファレンスデザインボード(S32G-VNP-RDB3) [ 0.000000] earlycon: MMIO 0x00000000401c8000 の linflex0 (オプション '115200n8') [ 0.000000] printk: レガシー ブートコンソール [linflex0] 有効 [ 0.000000] OF: 予約済みメモリ: 0x0000000034000000..0x000000003407ffff (512 KiB) nomap 再利用可能なpfebufs@34000000 [ 0.000000] OF: 予約済みメモリ: 0x0000000034080000..0x000000003409ffff (128 KiB) nomap 再利用可能なpfebufs@34080000 [ 0.000000] 予約済みメモリ: 0x0000000083200000、サイズ 3 MiB で DMA メモリ プールを作成 [ 0.000000] OF: 予約済みメモリ: 初期化されたノード pfebufs@83200000、互換性のある ID shared-dma-pool [ 0.000000] OF: 予約済みメモリ: 0x0000000083200000..0x00000000835dffff (3968 KiB) nomap 再利用可能なpfebufs@83200000 [ 0.000000] OF: 予約済みメモリ: 0x00000000835e0000..0x00000000835fffff (128 KiB) マップ再利用可能なpfebufs@835e0000 [ 0.000000] OF: 予約済みメモリ: 0x0000000084000000..0x0000000084ffffff (16384 KiB) nomap 再利用可能なshm@84000000 [ 0.000000] OF: 予約済みメモリ: 0x00000000c0000000..0x00000000c03fffff (4096 KiB) nomap 再利用可能なshm@c0000000 [ 0.000000] OF: 予約済みメモリ: 0x00000000c0400000..0x00000000c07fffff (4096 KiB) nomap 再利用可能なshm@c0400000 [ 0.000000] OF: 予約済みメモリ: 0x00000000d0000000..0x00000000d000007f (0 KiB) nomap 再利用不可shm@d0000000 [ 0.000000] OF: 予約済みメモリ: 0x00000000d0000080..0x00000000d00000ff (0 KiB) nomap 再利用可能なshm@d0000080 [ 0.000000] OF: 予約済みメモリ: 0x00000000ff600000..0x00000000ff7fffff (2048 KiB) nomap 再利用不可atf@ff600000 [ 0.000000] ゾーン範囲: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 が空です [ 0.000000] ノーマル [mem 0x0000000100000000-0x00000008dfffffff] [ 0.000000] ノードごとに移動ゾーン開始 [ 0.000000] 初期のメモリノードの範囲 [ 0.000000] ノード 0: [mem 0x0000000080000000-0x00000000831fffff] [ 0.000000] ノード 0: [mem 0x0000000083200000-0x00000000835dffff] [ 0.000000] ノード 0: [mem 0x00000000835e0000-0x0000000083ffffff] [ 0.000000] ノード 0: [mem 0x0000000084000000-0x0000000084ffffff] [ 0.000000] ノード 0: [mem 0x0000000085000000-0x00000000bfffffff] [ 0.000000] ノード 0: [mem 0x00000000c0000000-0x00000000c07fffff] [ 0.000000] ノード 0: [mem 0x00000000c0800000-0x00000000cfffffff] [ 0.000000] ノード 0: [mem 0x00000000d0001000-0x00000000ff5fffff] [ 0.000000] ノード 0: [mem 0x00000000ff600000-0x00000000ff7fffff] [ 0.000000] ノード 0: [mem 0x00000000ff800000-0x00000000ffffffff] [ 0.000000] ノード 0: [mem 0x0000000880000000-0x00000008dfffffff] [ 0.000000] Initmem セットアップ ノード 0 [mem 0x0000000080000000-0x00000008dfffffff] [ 0.000000] ノード 0、ゾーン DMA: 使用不可の範囲に 1 ページ [ 0.000000] cma: ノード -1 の 0x00000000ef600000 で 256 MiB を予約 [ 0.000000] PSCI: DT からのコンジット法のプローブ。 [ 0.000000] psci: ファームウェアで PSCIv1.1 が検出されました。 [ 0.000000] psci: 標準の PSCI v0.2 関数 ID を使用 [ 0.000000] PSCI: MIGRATE_INFO_TYPEはサポートされていません。 [ 0.000000] psci: SMC Calling Convention v1.4 [ 0.000000] percpu: 埋め込み 19 ページ/CPU s40040 r8192 d29592 u77824 [ 0.000000] CPU0 で VIPT I キャッシュが検出されました [ 0.000000] CPU機能:検出:GICシステムレジスタCPUインターフェース [ 0.000000] CPU 機能: 検出: ARM エラータ 845719 [ 0.000000] CPU 機能: 検出: ARM エラータ 1165522、1319367、1530923、または 1530924 [ 0.000000] alternatives: ブートの代替を適用する [ 0.000000] カーネルコマンドライン: console=ttyLF0,115200 root=/dev/mmcblk0p2 rootwait rw earlycon [ 0.000000] Dentry キャッシュ ハッシュ テーブル エントリ: 524288 (順序: 10、4194304 バイト、線形) [ 0.000000] inode-cache ハッシュ テーブル エントリ: 262144 (順序: 9、2097152 バイト、線形) [ 0.000000] 1つのゾーンリストを構築し、モビリティのグループ化をオンにしました。総ページ数:903167 [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] ソフトウェア IO TLB: エリア番号 8. [ 0.000000] ソフトウェア IO TLB: マッピング [mem 0x00000000eb600000-0x00000000ef600000] (64MB) [ 0.000000] メモリ: 3223892K/3670012K 使用可能 (9536K カーネル コード、654K rwdata、2928K rodata、1792K init、219K bss、183976K 予約済み、262144K cma 予約済み) [ 0.000000] SLUB: HWalign=64、Order=0-3、MinObjects=0、CPUs=8、Nodes=1 [ 0.000000] rcu: プリエンプティブル階層 RCU の実装。 [ 0.000000] rcu: RCU イベント トレースが有効になっています。 [ 0.000000] タスク RCU のトランポリン バリアントが有効になりました。 [ 0.000000] タスク RCU のトレース バリアントが有効になっています。 [ 0.000000] rcu: RCU の計算値であるスケジューラー登録遅延は 25 jiffies です。 [ 0.000000] NR_IRQS: 64、nr_irqs: 64、事前割り当て済み IRQ: 0 [ 0.000000] GICv3: GIC: 分割 EOI/非アクティブ化モードを使用 [ 0.000000] GICv3: 544 SPI が実装されています [ 0.000000] GICv3: 0 拡張 SPI が実装されました [ 0.000000] GICv3: MBI 範囲 [167:182] [ 0.000000] GICv3: MBI フレーム 0x0000000050800000 を使用 [ 0.000000] ルート IRQ ハンドラ: gic_handle_irq [ 0.000000] GICv3: GICv3 機能: 16 PPI [ 0.000000] GICv3:CPU0:再配布者0領域0:0x0000000050900000が見つかりました [ 0.000000] ITS: 利用可能な ITS がありません。LPI が有効になっていません [ 0.000000] rcu: srcu_init: 競合に基づいてsrcu_structサイズを設定します。 [ 0.000000] arch_timer: 5.00MHz で動作する cp15 タイマー (phys)。 [ 0.000000] ClockSource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x127350b88, max_idle_ns: 440795202120 ns [ 0.000001] sched_clock: 5MHz で 56 ビット、解像度 200ns、4398046511100ns ごとに折り返す [ 0.008364] コンソール: カラー ダミー デバイス 80x25 [ 0.012454] 遅延ループのキャリブレーション (スキップ)、タイマー周波数を使用して計算された値..10.00 ボゴミップス (lpj=20000) [ 0.022659] pid_max:デフォルト:32768最小:301 [ 0.027358] マウントキャッシュハッシュテーブルエントリ:8192(順序:4、65536バイト、線形) [ 0.034652] マウントポイントキャッシュハッシュテーブルエントリ:8192(順序:4、65536バイト、線形) [ 0.044061] RCU タスク: shift を 3 に、lim を 1 に設定 rcu_task_cb_adjust=1。 [ 0.050739] RCU タスク トレース: shift を 3 に、lim を 1 に設定 rcu_task_cb_adjust=1。 [ 0.058406] rcu: 階層型 SRCU の実装。 [ 0.063006] rcu: 最大位相の遅延なしインスタンスは 1000 です。 [ 0.068860] smp: セカンダリ CPU を起動しています ... [ 0.073532] CPU1でVIPT Iキャッシュが検出されました [ 0.073585] GICv3:CPU1:再配布1領域0:0x0000000050920000が見つかりました [ 0.073622] CPU1:セカンダリプロセッサを起動0x0000000001[0x410fd034] [ 0.074197] CPU2でVIPT Iキャッシュが検出されました [ 0.074233] GICv3:CPU2:再配布2領域0:0x0000000050940000が見つかりました [ 0.074253] CPU2:セカンダリプロセッサを起動0x0000000002 [0x410fd034] [ 0.074783] CPU3でVIPT Iキャッシュが検出されました [ 0.074820] GICv3:CPU3:再配布3領域0:0x0000000050960000が見つかりました [ 0.074839] CPU3:セカンダリプロセッサの起動0x0000000003 [0x410fd034] [ 0.075390] CPU4でVIPT Iキャッシュが検出されました [ 0.075449] GICv3:CPU4:再配布100領域0:0x0000000050980000が見つかりました [ 0.075479] CPU4:セカンダリプロセッサの起動0x0000000100 [0x410fd034] [ 0.076058] CPU5でVIPT Iキャッシュが検出されました [ 0.076099] GICv3:CPU5:再配布101地域0:0x00000000509a0000が見つかりました [ 0.076119] CPU5:セカンダリプロセッサの起動0x0000000101 [0x410fd034] [ 0.076665] CPU6でVIPT Iキャッシュが検出されました [ 0.076709] GICv3:CPU6:再配布102リージョン0:0x00000000509c0000が見つかりました [ 0.076728] CPU6:セカンダリプロセッサの起動0x0000000102 [0x410fd034] [ 0.077337] CPU7でVIPT Iキャッシュが検出されました [ 0.077379] GICv3: CPU7: 再配布 103 領域 0:0x00000000509e0000 が見つかりました [ 0.077400] CPU7:起動したセカンダリプロセッサ 0x0000000103 [0x410fd034] [ 0.077473] smp: 1 ノード、8 CPU を起動 [ 0.203366] SMPの 合計8つのプロセッサがアクティブになりました。 [ 0.208042] CPU機能:検出:32ビットEL0サポート [ 0.213173] CPU機能:検出:CRC32命令 [ 0.218356] CPU:すべてのCPUがEL2で開始されました [ 0.222375] alternatives: システム全体の代替案の適用 [ 0.229714] devtmpfs: 初期化済み [ 0.240999] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.250332] futexハッシュテーブルエントリ:2048(順序:5、131072バイト、線形) [ 0.264835] pinctrl core: 初期化された pinctrl サブシステム [ 0.270477] NET: 登録済み PF_NETLINK/PF_ROUTE プロトコル ファミリ [ 0.276933] DMA: 原子割り当て用に事前に割り当てられた 512 KiB GFP_KERNEL プール [ 0.283746] DMA: 事前割り当て済み 512 KiB GFP_KERNEL|アトミック割り当て用のGFP_DMAプール [ 0.291506] DMA: 事前割り当て済み 512 KiB GFP_KERNEL|アトミック割り当て用のGFP_DMA32プール [ 0.299508] thermal_sys:登録サーマルガバナー「step_wise」 [ 0.299617] hw-breakpoint: 6 つのブレークポイントと 4 つのウォッチポイントレジスタが見つかりました。 [ 0.312090] ASID アロケーターが 65536 エントリで初期化されました [ 0.317438] シリアル: AMBA PL011 UART ドライバ [ 0.321472] scmi_core:SCMIプロトコルバスが登録されています [ 0.327323] scmi_protocol scmi_dev.1:ポーリング モードを有効にした TX チャネル - prot_id:16 [ 0.334788] arm-scmi firmware:scmi: SCMI 通知 - コアが有効。 [ 0.341026] arm-scmi firmware:scmi: SCMI Protocol v2.0 'NXP:S32G399A' ファームウェア バージョン 0x0 [ 0.355994] プラットフォーム 4009c240.siul2-pinctrl:/soc/siul2@4009c000/siul2-pinctrl@4009c240/jtag_pins による依存関係のサイクルを固定 [ 0.374260] モジュール: 非 PLT 使用の範囲で 28944 ページ [ 0.374266] モジュール: PLT の使用範囲に 520464 ページ [ 0.379885] HugeTLB: 登録ページサイズ 1.00 GiB、事前割り当て済み 0 ページ [ 0.391532] HugeTLB: 0 KiB の vmemmap を 1.00 GiB ページで解放できます [ 0.397784] HugeTLB: 登録ページサイズ 32.0 MiB、事前割り当て済み 0 ページ [ 0.404552] HugeTLB: 0 KiB の vmemmap を 32.0 MiB ページで解放できます [ 0.410803] HugeTLB: 登録ページサイズ 2.00 MiB、事前割り当て済み0ページ [ 0.417571] HugeTLB: 0 KiB vmemmap を 2.00 MiB ページで解放できます [ 0.423823] HugeTLB: 登録ページサイズ 64.0 KiB、事前割り当て済み0ページ [ 0.430593] HugeTLB: 0 KiB の vmemmap を 64.0 KiB のページで解放できます [ 0.444580] SCSI サブシステムが初期化されました [ 0.448069] usbcore:新しいインターフェースドライバーUSBFを登録しました [ 0.453392] usbcore:新しいインターフェースドライバーハブを登録しました [ 0.458696] usbcore:新しいデバイスドライバUSBを登録しました [ 0.464183] pps_core:LinuxPPS API ver. 1 登録済み [ 0.468713] pps_core:ソフトウェア版5.3.6 - 著作権2005-2007ロドルフォジョメッティ [ 0.477836] PTPクロックサポート登録 [ 0.482652] vgaarb:ロード済み [ 0.485231] clocksource: clocksource arch_sys_counterに切り替えました [ 0.497185] NET: 登録済みの PF_INET プロトコル ファミリ [ 0.501851] IP IDハッシュテーブルエントリ:65536(順序:7、524288バイト、線形) [ 0.511580] tcp_listen_portaddr_hashハッシュテーブルエントリ:2048(順序:3、32768バイト、線形) [ 0.519741] Table-perturb ハッシュ テーブル エントリ: 65536 (順序: 6、262144 バイト、線形) [ 0.527404] TCP がハッシュ テーブル エントリを確立: 32768 (順序: 6、262144 バイト、線形) [ 0.535493] TCPバインドハッシュテーブルエントリ:32768(順序:8、1048576バイト、線形) [ 0.543769] TCP:ハッシュテーブルが設定されました(32768バインド32768が確立されました) [ 0.549976] UDPハッシュテーブルエントリ:2048(順序:4、65536バイト、線形) [ 0.556614] UDP-Lite ハッシュ テーブル エントリ: 2048 (順序: 4、65536 バイト、線形) [ 0.563860] NET: 登録済み PF_UNIX/PF_LOCAL プロトコル ファミリ [ 0.569674] RPC:登録された名前のUNIXソケットトランスポートモジュール。 [ 0.575214] RPC: 登録済みの udp トランスポート モジュール。 [ 0.579895] RPC: 登録された tcp トランスポート モジュール。 [ 0.584581] RPC: 登録された tcp-with-tls トランスポート モジュール。 [ 0.590051] RPC:登録されたtcp NFSv4.1バックチャネルトランスポートモジュール。 [ 0.596498] PCI: CLS 0 バイト、デフォルト 64 [0.601962]ワーキングセット:timestamp_bits = 62 max_order = 20 bucket_order = 0 [ 0.608434] ヒューズ:init(APIバージョン7.39) [ 0.612164] NET:登録済みPF_ALGプロトコルファミリ [ 0.616832] ブロック層 SCSI 汎用 (bsg) ドライバー バージョン 0.4 が読み込まれました (メジャー 248) [ 0.624167] IOスケジューラMQ-DEADLINE登録 [ 0.628677] IOスケジューラKyber登録済み [ 0.632677] IOスケジューラBFQ登録 [ 0.639941] s32cc-siul2-pinctrl 4009c240.siul2-pinctrl:初期化された S32 Pinctrl ドライバー [ 0.648537] s32cc-siul2-gpio 4009d700.siul2-gpio:キャッシュのデフォルトなし、HWからの読み取り [ 0.656371] s32cc-siul2-gpio 4009d700.siul2-gpio:キャッシュのデフォルトなし、HWからの読み取り [ 0.664815] gpio gpiochip0: GPIO ベースの静的割り当ては非推奨です。動的割り当てを使用してください。 [ 0.673796] s32cc-siul2-gpio 4009d700.siul2-gpio:キャッシュのデフォルトなし、HWからの読み取り [ 0.681599] s32cc-siul2-gpio 4009d700.siul2-gpio:キャッシュのデフォルトなし、HWからの読み取り [ 0.700909] printk: レガシーコンソール [ttyLF0] enabled000 (irq = 23, base_baud = 7812500) は FSL_LINFLEX [ 0.700909] printk: レガシーコンソール [ttyLF0] 有効 [ 0.710804] printk: レガシー ブートコンソール [linflex0] が無効 [ 0.710804] printk: レガシー ブートコンソール [linflex0] が無効 [ 0.725709] 401cc000.serial:MMIO 0x401cc000 での ttyLF1 (irq = 24, base_baud = 7812500) は FSL_LINFLEX [ 0.736960] s32cc_fccu 4030c000.fccu:FCCU ステータスは 0 (正常) [ 0.745147] sja1110-sw@1 GPIOハンドルにアクティブローを強制します [ 0.753001] SPIノールSPI6.0:mx25uw51245g (65536 キロバイト) [ 0.758734] MTD デバイス 0.spi に 7 つの固定パーティション パーティションが見つかりました [ 0.765102] "0.spi"に7つのMTDパーティションを作成します。 [ 0.769874] 0x000000000000-0x000004000000 : 「フラッシュイメージ」 [ 0.775622] 0x000000000000-0x000000280000 : 「FIP」 [ 0.780633] 0x000000280000-0x000000290000 : "U-boot-Env" [ 0.786268] 0x000000290000-0x000001360000 : カーネル [ 0.791565] 0x000001360000-0x000001390000 : "DTB" [ 0.796578] 0x000001390000-0x0000032a0000 : "Rootfs" [ 0.801851] 0x0000032a0000-0x000004000000 : 「PFEファームウェア」 [ 0.808968] vcan: 仮想CANインターフェースドライバ [ 0.813487] slcan:シリアルラインCANインターフェースドライバ [ 0.818438] CANデバイスドライバインターフェース [ 0.823267] FlexCan 401B4000.can:登録済みデバイス (reg_base=(____ptrval____), irq(s): [ 0.831392] FlexCan 401B4000.can:30 [ 0.835110] FlexCan 401B4000.can:31 [ 0.838823] FlexCan 401B4000.can:32 [ 0.842536] FlexCan 401B4000.can:33 [ 0.846247] FlexCan 401B4000.can:) [ 0.850493] FlexCan 401BE000.CAN:登録済みデバイス (reg_base=(____ptrval____), irq(s): [ 0.858620] flexcan 401be000.can:34 [ 0.862339] FlexCan 401BE000.CAN:35 [ 0.866051] FlexCan 401BE000.CAN:36 [ 0.869764] FlexCan 401BE000.CAN:37 [ 0.873475] FlexCan 401BE000.CAN:) [ 0.877190] e100: インテル(R) PRO/100 ネットワーク ドライバ [ 0.881961] e100:Copyright(c) 1999-2006 Intel Corporation [ 0.887547] e1000: インテル(R) PRO/1000 ネットワーク ドライバ [ 0.892492] e1000:著作権(c)1999-2006 Intel Corporation。 [ 0.898335] e1000e: インテル(R) PRO/1000 ネットワーク ドライバ [ 0.903368] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 0.909394] igb: インテル(R) ギガビット イーサネット ネットワーク ドライバ [ 0.914867] igb:著作権(c)2007-2014インテルコーポレーション。 [ 0.921312] hse-uio 40210000.mu0b:ファームウェアが見つかりません [ 0.926833] usbcore: 新しいインターフェースドライバーUASを登録しました [ 0.932251] usbcore:新しいインターフェースドライバーのUSBストレージを登録しました [ 0.939239] imx_usb 44064000.usb:過電流極性が定義されていません [ 0.959790] ci_hdrc ci_hdrc.0:EHCI ホスト コントローラー [ 0.964857] ci_hdrc ci_hdrc.0:新しいUSBバスが登録され、バス番号1が割り当てられています [ 0.985229] ci_hdrc ci_hdrc.0:USB 2.0 開始、EHCI 1.00 [ 0.990852] usb usb1: 新しい USB デバイスが見つかりました、idVendor=1d6b、idProduct=0002、bcdDevice= 6.06 [ 0.999242] usb usb1: 新しい USB デバイス文字列: Mfr=3、Product=2、SerialNumber=1 [ 1.006567] usb usb1: 製品: EHCI ホストコントローラ [ 1.011514] usb usb1:メーカー:Linux 6.6.32-rt32-g49d9f8bb25e0-dirtyehci_hcd [1.019191] usb usb1:シリアル番号:ci_hdrc.0 [ 1.024019] ハブ 1-0:1.0:USBハブが見つかりました [ 1.027847] ハブ 1-0:1.0: 1 ポートが検出されました [ 1.033065] S32CC-RTC 40060000.RTC:RTC0として登録 [ 1.038296] S32CC-RTC 40060000.RTC:システムクロックを 1970-01-01T00:00:00 UTC (0) に設定する [ 1.046497] i2c_dev: I2c /dev entries ドライバー [ 1.051174] S32CC-WDT 4010C000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.060426] S32CC-WDT 40200000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.069658] S32CC-WDT 40204000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.078888] S32CC-WDT 40208000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.088135] S32CC-WDT 40500000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.097363] S32CC-WDT 40504000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.106593] S32CC-WDT 40508000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.115824] S32CC-WDT 4050C000.ウォッチドッグ:S32CCウォッチドッグタイマ登録タイムアウト=30秒 (nowayout=0) [ 1.126319] sdhci: セキュア デジタル ホスト コントローラー インターフェイス ドライバー [ 1.132603] sdhci:著作権(c)Pierre Ossman [ 1.137025] sdhci-pltfm: SDHCIプラットフォームおよびOFドライバーヘルパー [ 1.142978] SMCCC:SOC_ID:ARCH_SOC_ID実装されていません、スキップします.... [ 1.149892] HSE 40211000.mu1b:インターフェイス MU1b がアクティブでない [ 1.155642] usbcore:新しいインターフェースドライバーusbhidを登録しました [ 1.161300] usbhid: USB HIDコアドライバ [ 1.173232] mmc0: 402f0000.mmc [402f0000.mmc] の SDHCI コントローラーADMAの使用 [ 1.180525] S32-ADC 401F8000.adc:ADC DMA 転送に dma0chan4 を使用 [ 1.187669] S32-ADC 401F8000.ADC:デバイスが正常に初期化されました。 [ 1.205376] S32-ADC 402E8000.adc:ADC DMA 転送に dma1chan16 を使用 [ 1.212559] S32-ADC 402E8000.adc:デバイスが正常に初期化されました。 [ 1.216889] mmc0: 新しい高速 SDHC カード (アドレス aaaa) [ 1.224683] hw perfevents: armv8_cortex_a53 PMU ドライバーで有効、7 つのカウンターが利用可能 [ 1.224912] mmcblk0: mmc0:aaaa SK32G 29.7 GiB [ 1.234210] s32-siul2-nvmem 4009c000.nvram:初期化された s32cc siul2 nvmem ドライバー [ 1.239113] mmcblk0: p1 p2 [ 1.245068] s32-siul2-nvmem 44010000.nvram:初期化された s32cc siul2 nvmem ドライバー[ 1.255958] NET:登録済みPF_INET6プロトコルファミリ[ 1.261902] IPv6 によるセグメント ルーティング[ 1.265646] IPv6 を使用した In-situ OAM (IOAM)[ 1.269674] sit: IPv6、IPv4、MPLS over IPv4 トンネリング ドライバー[ 1.276098] NET: 登録済みPF_PACKETプロトコルファミリ[ 1.281336] CAN: コントローラエリアネットワークコア[ 1.285784] NET: 登録済みPF_CANプロトコルファミリ[ 1.290644] CAN: raw プロトコル[ 1.293656] CAN: ブロードキャスト マネージャ プロトコル[ 1.297901] CAN: NetLink ゲートウェイ - max_hops=1[ 1.302373] 8021q: 802.1Q VLAN サポート v1.8[ 1.321937] i2c i2c-0: GPIO リカバリに pinctrl ステートを使用[ 1.327881] i2c i2c-0:リカバリに汎用GPIOを使用[ 1.333392] pca953x 0-0022: AIを使用[ 1.344052] RTC-PCF85063 0-0051: RTC1として登録[ 1.349034] i2c i2c-0: IMX I2C アダプタ登録済み[ 1.353853] I2C I2C-0: DMA 転送に DMA0chan5 (tx) と dma0chan6 (rx) を使用[ 1.361855] i2c i2c-2: GPIO リカバリに pinctrl ステートを使用[ 1.367730] i2c i2c-2: 汎用 GPIO をリカバリーに使用[ 1.373103] i2c i2c-2: IMX I2C アダプタ登録済み[ 1.377912] I2C I2C-2: DMA転送にDMA17(TX)およびDMA1chan18(RX)を使用[ 1.386045] I2C I2C-4: GPIO リカバリに Pinctrl ステートを使用[ 1.391918] i2c i2c-4: 汎用 GPIO を使用したリカバリ[ 1.398619] ina2xx 4-0040: パワー モニタ ina231 (Rshunt = 1000 uOhm)[ 1.405096] i2c i2c-4: IMX I2C アダプタ登録済みBR />[ 1.409903] i2c i2c-4: DMA 転送に dma1chan19 (tx) と dma1chan20 (rx) を使用[ 1.418063] phy-s32cc-serdes 40480000.serdes:SerDes サブシステムのモード 0 の使用 [ 1.425859] phy-s32cc-serdes 44180000.serdes:SerDes サブシステムのモード 4 の使用 [ 1.654607] s32cc-pcie 40400000.pcie:PHY リンクを安定させることができませんでした [ 1.660883] s32cc-pcie 40400000.pcie:RootComplex としての構成 [ 1.667010] s32cc-pcie 40400000.pcie:ホストブリッジ /soc/pcie@40400000 の範囲: [ 1.674183] s32cc-pcie 40400000.pcie:IO 0x5ffffe0000..0x5ffffeffff-> 0x0000000000 [ 1.682489] s32cc-pcie 40400000.pcie:MEM 0x5800000000..0x5ffffdffff-> 0x0000000000 [ 1.690802] s32cc-pcie 40400000.pcie:メモリ リソース サイズが 32 ビットの最大値を超えている [ 2.698614] s32cc-pcie 40400000.pcie:Phy リンクが起動しない [ 2.704402] s32cc-pcie 40400000.pcie:iATU: 展開 T、6 ob、4 ib、位置合わせ 4K、制限 1024G [ 2.712604] s32cc-pcie 40400000.pcie:eDMA:T、4 wr、4 rdを展開 [ 3.718882] s32cc-pcie 40400000.pcie:Phy リンクが起動しない [ 4.724737] s32cc-pcie 40400000.pcie:Phy リンクが起動しない [ 4.730933] s32cc-pcie 40400000.pcie:PCI ホスト・ブリッジからバス 0000:00 [ 4.737385] pci_bus 0000:00: ルート バス リソース [バス 00-FF] [ 4.742953] pci_bus 0000:00: ルート バス リソース [IO 0x0000-0xffff] [ 4.749223] pci_bus 0000:00: ルート バス リソース [mem 0x5800000000-0x5ffffdffff] (バス アドレス [0x00000000-0x7fffdffff]) [ 4.760015] PCI 0000:00:00.0:[1957:4300] 01式0x060400 [ 4.766124] PCI 0000:00:00.0:登録0x10:[MEM 0x5800000000-0x58000fffff] [ 4.772846] PCI 0000:00:00.0:登録0x38:[MEM 0x5800000000-0x580000ffff Pref] [ 4.780090] PCI 0000:00:00.0:D1をサポート [ 4.784158] PCI 0000:00:00.0:PME# D0 D1 D3hot D3cold からサポート [ 4.793387] PCI 0000:00:00.0:小節 0: 割り当て済み [mem 0x5800000000-0x58000fffff] [ 4.800634] PCI 0000:00:00.0:小節 6: 代入 [mem 0x5800100000-0x580010ffff pref] [ 4.808316] PCI 0000:00:00.0:PCI ブリッジから [bus 01-ff] へ [ 4.813852] PCIeport 0000:00:00.0:PME:IRQ 52 によるシグナリング [ 4.820529] s32cc-dwmac 4033c000.ethernet:IRQ eth_wake_irq見つかりません [ 4.827072] S32CC-DWMAC 4033C000.イーサネット:IRQ eth_lpi見つかりません [ 4.833567] s32cc-dwmac 4033c000.ethernet:ユーザーID:0x10、Synopsys ID:0x52 [ 4.840635] s32cc-dwmac 4033c000.ethernet:DWMAC4/5の [ 4.845680] s32cc-dwmac 4033c000.ethernet:DMA HW機能レジスタをサポート [ 4.853092] s32cc-dwmac 4033c000.ethernet:RXチェックサムオフロードエンジン対応 [ 4.860507] s32cc-dwmac 4033c000.ethernet:TX チェックサム挿入をサポート [ 4.867478] s32cc-dwmac 4033c000.ethernet:Wake-Up On Lan 対応 [ 4.873869] s32cc-dwmac 4033c000.ethernet:HW ウォッチドッグ タイマーによる RX 軽減の有効化 [ 4.881812] s32cc-DWMAC 4033c000.ethernet:L3L4 フロー TC の有効化 (entries=8) [ 4.888875] s32cc-dwmac 4033c000.ethernet:有効な RFS フロー TC (エントリ = 10) [ 4.895942] s32cc-dwmac 4033c000.ethernet:HW TC の有効化 (entries=256, max_off=256) [ 4.903796] s32cc-dwmac 4033c000.ethernet:32/32ビットDMAホスト/デバイス幅を使用 [ 4.917131] HWMON HWMON1:temp1_inputどのサーマルゾーンにも取り付けられていません [ 4.925993] qoriq_thermal 400a8000.tmu:臨界上昇/下降温度しきい値 = 5 度 [ 4.939101] nxp_s32cc_ddr_perf 403e0000.ddr-perf:プロービング装置 [ 4.945436] nxp_s32cc_ddr_perf 403e0000.ddr-perf:デバイスが正常に初期化されました [ 4.953236] clk: 未使用のクロックを無効化 [ 4.984505] EXT4-fs (mmcblk0p2): ファイルシステム 96ed4b7d-2fa5-411c-b5c1-f04b002b7095 r/w を順序付けデータ モードでマウントしました。クォータ モード: 無効。 [ 4.996558] VFS: デバイス 179:2 にルート (ext4 ファイルシステム) がマウントされました。 [ 5.003237] devtmpfs:マウント済み [ 5.006406] 未使用のカーネルメモリの解放:1792K [ 5.010573] /sbin/initをinitプロセスとして実行 [ 5.380856] systemd[1]: ビルド時間の前のシステム時間、クロックの進行。 [ 5.435938] systemd[1]: systemd 250.5+ をシステムモードで実行 (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid) [ 5.467296] systemd[1]: アーキテクチャ arm64 を検出しました。 Auto Linux BSP 42.0 (kirkstone) へようこそ! [ 5.489934] systemd[1]: ホスト名を に設定します。 [ 5.504734] systemd[1]: ランダムジェネレータからマシンIDを初期化しています。 [ 5.939390] systemd[1]: デフォルトのターゲットマルチユーザーシステムのキューに入れられた開始ジョブ。 [ 5.993560] systemd[1]: スライス /system/getty を作成しました。 [ わかりました ]スライスを作成 Slice /system/getty. [ 6.014301] systemd[1]: スライス /system/modprobe を作成しました。 [ わかりました ]スライス Slice /system/modprobe を作成しました。 [ 6.037982] systemd[1]: スライス /system/serial-getty を作成しました。 [ わかりました ]スライス Slice /system/serial-getty を作成しました。 [ 6.061664] systemd[1]: スライス User と Session Slice を作成しました。 [ わかりました ]スライス User と Session Slice を作成しました。 オートリナックスBSP 42.0 s32g399ardb3 ttyLF0 S32G399ARDB3ログイン:ルート root@s32g399ardb3:~# ls root@s32g399ardb3:~# ifconfig -a can0: flags=128 mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 can1: flags=128 mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 eth0: flags=4099 mtu 1500 ether 2a:2d:07:9b:27:9c txqueuelen 1000 (イーサネット) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 デバイス割り込み 55 ベース0xa000 lo: flags=73 mtu 65536 inet 127.0.0.1 ネットマスク 255.0.0.0 inet6 ::1 prefixlen 128 スコープ ID 0x10 loop txqueuelen 1000 (ローカル ループバック) RXパケット 82バイト 6220 (6.0 KiB) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 82 バイト 6220 (6.0 KiB) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 sit0: flags=128 MTU 1480 unspec 00-00-00-00-00-00-38-9B-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hello, @Wzlinux  私の意見から。 1.PFE1.8の使用をお勧めしますFWは、BSP42.0リリースノートに記載されています。 2. conf/local.conf で、あなたはDISTRO_FEATURES_append += "pfe"を使用しているようですが、代わりに、 DISTRO_FEATURES:append = " pfe"を使用することをお勧めします。 BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hello, @Wzlinux  PFE FWは、次のリンクからダウンロードできます。 https://www.nxp.com/app-autopackagemgr/automotive-software-package-manager:AUTO-SW-PACKAGE-MANAGER BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは@chenyin_h お返事ありがとうございます。 私は情報をconf/local.confファイルに追加します 機械。。= 's32g399ardb3' DISTRO ?= 'fsl-auto' PACKAGE_CLASSES ?= "package_rpm" EXTRA_IMAGE_FEATURES ?= "デバッグ調整" USER_CLASSES ?= "buildstats" PATCHRESOLVE = "noop" BB_DISKMON_DIRS??= "\ STOPTASKS、${TMPDIR}、1G、100K \ STOPTASKS、${DL_DIR}、1G、100K \ STOPTASKS、${SSTATE_DIR}、1G、100K \ STOPTASKS,/tmp,100M,100K \ ハルト、${TMPDIR}、100M、1K \ ハルト、${DL_DIR}、100M、1K \ ハルト、${SSTATE_DIR}、100M、1K \ ハルト、/ tmp、10M、1K" PACKAGECONFIG:append:pn-qemu-system-native = "sdl" CONF_VERSION = "2" # 並列処理オプション BB_NUMBER_THREADS = "32" PARALLEL_MAKE = "-j 24" DL_DIR = "/home/bin/fsl-auto-yocto-bsp/downloads" SSTATE_DIR = "/home/bin/fsl-auto-yocto-bsp/sstate-cache" ACCEPT_FSL_EULA = "1" DISTRO_FEATURES_append += "PFE" NXP_FIRMWARE_LOCAL_DIR = "/home/bin/fsl-auto-yocto-bsp/build_s32g399ardb3/PFE_Firmware_1_10_0/" PFE_Firmware_1_10_0フォルダには、s32g_pfe_class.fwファイルs32g_pfe_util.fwファイルがあります。 しかし、bitbake fsl-image-autoコマンドを実行するとします。エラーがあります。 エラー: 変数DISTRO_FEATURES_appendファイル: /home/bin/fsl-auto-yocto-bsp/build_s32g399ardb3/conf/local.conf 行: 25 には、古いオーバーライド構文を使用した操作が含まれています。新しいビットベイクで使用する前に、このレイヤー/メタデータを変換してください。 エラー:/ home / bin / fsl-auto-yocto-bsp / sources / poky / bitbake / lib / b /__init__.pyを解析できません この問題について調べるのを手伝ってもらえますか?感謝。 Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは@chenyin_h ありがとうございます。 s32g_pfe_class.fw fwファイルとs32g_pfe_util.fwファイルを取得する方法を教えてください。 Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hello, @Wzlinux  イメージの生成に使用したコマンドにはPFEサポートは含まれていませんので、詳細についてはBSP UMの7.3.4章を読むことをお勧めします。 また、@jiajun_chengのインプットに感謝します BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hi, @Wzlinux : 最初に提供していただいたログで、私は見ました [ 6.750655] sja1110: loading out-of-tree module taints kernel. [ 6.756520] SPI driver sja1110 has no spi_device_id for nxp,sja1110-switch [ 6.763040] SPI driver sja1110 has no spi_device_id for nxp,sja1110-uc [ 6.769691] sja1110 spi5.0: probing uc [ 6.773335] sja1110 spi5.1: probing switch [ 6.777589] sja1110 spi5.1: Could not get GPIO from device tree [ 6.784402] sja1110 spi5.1: [sja1110_post_probe_upload_worker] Trying to initialize switch [ 6.793013] sja1110 spi5.1: Direct firmware load for sja1110_switch.bin failed with error -2 [ 6.801036] sja1110 spi5.1: request_firmware failed with -2 [ 6.806581] sja1110 spi5.0: [sja1110_post_probe_upload_worker] Trying to initialize uC [ 6.814510] sja1110 spi5.0: Direct firmware load for sja1110_uc.bin failed with error -2 [ 6.822553] sja1110 spi5.0: request_firmware failed with -2  100baseT1ポートはsja1110にあり、ロード後にpfeポートのメッセージが表示されますsja1110_uc.bin Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは @chenyin_h 感謝。 以下は ifconfig -a result です。PFE 情報はありません。その理由を教えてもらえますか?ビルドをフォローしてBitbakeを使用しました。 1. $ .nxp-setup-alb.sh -M S32G399ARDB3 2.bitbake fsl-image-auto(英語) 3.sudo dd if= .sdcardof=/dev/sd bs=1M &&; sync 以下はifconfig -aコマンドの結果です/////////////////////////////////// オートリナックスBSP 42.0 s32g399ardb3 ttyLF0 S32G399ARDB3ログイン:ルート root@s32g399ardb3:~# ls root@s32g399ardb3:~# ifconfig -a can0: flags=128 mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 can1: flags=128 mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 eth0: flags=4099 mtu 1500 ether 7a:89:31:63:1c:48 txqueuelen 1000 (イーサネット) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 デバイス割り込み 55 ベース0x2000 lo: flags=73 mtu 65536 inet 127.0.0.1 ネットマスク 255.0.0.0 inet6 ::1 prefixlen 128 スコープ ID 0x10 loop txqueuelen 1000 (ローカル ループバック) RXパケット 82バイト 6220 (6.0 KiB) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 82 バイト 6220 (6.0 KiB) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 sit0: flags=128 MTU 1480 unspec 00-00-00-00-00-00-38-9B-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC) RX パケット 0 バイト 0 (0.0 B) RX エラー 0、ドロップ、0、オーバーラン、0、フレーム 0 TX パケット 0 バイト 0 (0.0 B) TX エラー 0、ドロップ、0 オーバーラン、0 キャリア、0、コリジョン 0 Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hello, @Wzlinux  100baseT1 ポートは sja1110 上にあり、デフォルトでは PFE_MAC0 に接続されています。 まず、ビルドされたイメージに PFE サポートを追加し (ビルド済みのイメージにはデフォルトで PFE サポートが含まれている可能性があります)、Linux シェルに入った後、ifconfig -a で pfeX ポートが表示される場合があります。 次に、100base-T1 ポート経由で PFE0 に ping を実行してみてください。(このポートがホストのようにテストデバイスに直接接続されていると仮定します) BR チェンイン Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 こんにちは@chenyin_h ご返信ありがとうございます。 はい、100-base-T1を50コネクタから接続できます。 私の質問は、SWから100-base-T1ポートをどのように有効にできるかということです。 BSP42.0をSDカードに書き込んでSDカードから起動した後、デフォルトで有効になっていますか(例:SJA1110 P10 100-BASE-T1) イーサネットイネーブルガイドから、100-base-T1はSJA1110によって制御されることを学びましたが、最初にSJA1110を有効にする必要がありますか?それらがデフォルトで有効になっているかどうか(BSP42.0 fsl-image-auto )? Re:S32G-VNP-RDB3 100BASE-T1ポートを開く方法。 Hello, @Wzlinux  投稿ありがとうございます。 RDB3には、J53 Mini 50コネクタと100-Base-T1用のハーネスケーブルがあります。このケーブルをテスト・デバイスに接続してテストできます。 ケーブルに接続する特定のデバイスがない場合は、RJ45-100BASET1コンバーターを購入してテストすることをお勧めします。 BR チェンイン
View full article
ドライバーが見つかりません Hello,  添付の写真のように問題が発生しました、それを解決するために助けが必要です、ありがとう。 Re:ドライバーが見つかりません @Senlent  ありがとう、昨日PCの再起動やその他のシステムの問題でプロジェクトに何が起こったのかわかりませんが、S32DS v3.4にも再アクティブ化しましたが、新しい空のプロジェクトを作成してプロジェクトを移行しようとしましたが、問題が発生しました。ありがとうございます Re:ドライバーが見つかりません Hi@jinT この種の問題は、「コードの更新」をクリックすることで解決できる場合があります。 「コードの更新」をクリックしても問題が解決しない場合は、プロジェクトを提供できる場合は確認をお手伝いします。
View full article
Excel MPC55xx/MPC56xx PLL 计算器 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 此 Excel 工具简化了 MPC55xx/56xx 设备上 PLL 的设置。 首先选择设备并定义输入/输出频率。 计算可能的配置并生成基本的 PLL 初始化代码。 注意:必须启用宏! BR, Petr 概述
View full article
Using ADC range comparison mode to achieve constant temperature control in low power mode <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Recently, many people in forums and QQ groups have been discussing low-power design. I remembered that a customer I met before also had a requirement in this regard, so I followed his idea and made an example of using ADC in low-power mode. The customer wanted to make a constant temperature control, which puts the MCU into sleep mode within the set temperature range , and wakes up the MCU for temperature adjustment only when the temperature exceeds the range . Without further ado, let's start the routine introduction. Operating platform: FRDM-25Z IARv7.3 Modify the platinum project in the KL25_SC code package Introduction to Low Power Mode Freescale's Kinetis series MCUs are based on 90nm TFS technology, which enables the MCU to have good performance and power consumption in low-power mode. The KL series is rated as the industry's lowest power MCU . The KL25Z has a total of 11 power modes , namely: Run , VLPR , Wait , VLPW , Stop , VLPS , LLS , VLLS3 , VLLS2 , VLLS1 , VLLS0 , which can meet customers' various low-power configuration requirements for MCUs. In deep sleep mode, intelligent peripherals can process corresponding data without waking up the core.    Figure 1 In this design, it is necessary to monitor the temperature in low power mode. The electrical signal of the thermocouple needs to be sampled by ADC. According to the manual, the lowest power mode that ADC can run is VLPS mode. Most peripherals can still be used in VLPS mode, but it should be noted that the bus clock is prohibited in VLPS mode. Therefore , the ADC clock should be set to ADACK before entering VLPS mode, otherwise it will die after entering VLPS mode. In VLPS mode, only hardware triggers can be used to trigger ADC sampling. In this example, the LPMR timer is used to trigger ADC sampling. In VLPS mode, interrupt wake-up can be used. In this example, ADC interrupt wake-up is used. Of course, asynchronous DMA channels can also be used to transfer ADC conversion results, and automatically return to VLPS mode after the transfer is completed. If you are interested, you can also try this method.   Figure 2 Code introduction: int main (void) {      #ifdef CMSIS  // If we are conforming to CMSIS, we need to call start here     start(); #endif      lptmr_init(1000,LPTMR_USE_LPOCLK); //trigger ADC per 1000ms // In the initialization code, set LPO as the clock source of lptmr to ensure that lptmr can work normally under VLPS; init_ADC16(); //Initialize ADC, set ADC hardware trigger source to lptmr, enable ADC range comparison mode, that is, save the result when the conversion result is less than C1V and greater than C2V; enable_irq(ADC0_irq_no); //Enable ADC interrupt before entering low power mode.     printf("Enter VLPS mode...\r\n");     clockMonitor(OFF);     enter_vlps();     while(1)   {                  if(flag_wakeup == 1)           {             flag_wakeup = 0;             ADC0_SC2 &= ~ADC_SC2_ACFE_MASK;  disable_irq(ADC0_irq_no); //After exiting, in order to adjust the temperature, the range comparison mode needs to be turned off, and the ADC interrupt is turned off at the same time, and the query mode is used;             printf("Wake up from VLPS..\n");             printf("adcresult = %d\n",adcresult);           }                    if((ADC0_SC1(0) & ADC_SC1_COCO_MASK) == ADC_SC1_COCO_MASK) //Query conversion result           {             adcresult = ADC0_R(0);             printf("wake up adcresult = %d\n",adcresult); if((adcresult>= 4000) && (adcresult<= 5000)) //When the ADC result is adjusted to enter the adjustment range again, prepare to enter low power mode;             { ADC0_SC2 |= ADC_SC2_ACFE_MASK; // To enable monitoring, re-enable range comparison mode and ADC interrupt.               enable_irq(ADC0_irq_no);               printf("Enter VLPS mode...\n");               clockMonitor(OFF);               enter_vlps();             }           }              } }   Experimental results: Set the comparison value to 4000~5000, and the print results are as follows: Figure 3 Okay, that’s all. This is the first time I write a technical article, and I have talked about a lot of very simple things. It’s a bit messy, so I hope to criticize and correct me. Attached is the reference code. Re: Constant temperature control using ADC range comparison mode in low power mode <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi FanXi, thank you very much! What is the actual measured current?
View full article
KSDK入门:构建演示应用程序 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该视频将指导您如何构建和运行 Kinetis SDK 提供的演示应用程序。   Overview: 软件示例类别 导入并构建库文件项目 导入、构建和运行演示应用程序   使用的软件/工具: Kinetis 设计工作室 V3.0.0 Kinetis SDK V1.2.0 FRDM-K64F 电路板   相关文件: Kinetis SDK v.1.2入门指南-http: //cache.freescale.com/files/soft_dev_tools/doc/support_info/KSDK12GSUG.pdf Kinetis SDK v.1.2演示应用用户指南 - http://cache.freescale.com/files/soft_dev_tools/doc/support_info/KSDK12DEMOUG.pdf Kinetis SDK常见问题解答-https: //community.freescale.com/docs/DOC-102926   相关视频: KDS 和 Kinetis SDK 的安装 - https://community.freescale.com/videos/3281 在 Freedom Board 上安装 OpenSDA 固件 - https://community.freescale.com/videos/3282 使用 Kinetis Design Studio 进行调试 - https://community.freescale.com/videos/3283 在 KDS 中使用处理器专家 - https://community.freescale.com/videos/3297 KSDK GPIO 驱动程序与处理器专家 - https://community.freescale.com/videos/3195 (在 “我的视频” 中查看) 概述
View full article
EB Tresos のステータスがジェネレーターの実行に失敗したと表示される Hello, MCALパッケージを統合しようとしていますが、生成中に次のような検証エラーが発生します:「モジュール「Dio_TS_T40D2M20I0R0」のジェネレーター「Dio_TS_T40D2M20I0R0_UniqueNGGeneratorId」(モード:「検証」)の実行に失敗しました」と「パラメータービルドファイルが見つかりません」エラー。 ファイルは生成されていますが、検証 get は失敗します。理由は何でしょうか? Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される こんにちは@RaySong、 プライベートメッセージも送りました。 Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される こんにちはJulián_AragónM 私は現在同じ問題に直面しています。現在利用可能な解決策があるかどうか尋ねてもよろしいですか? Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される Hello Julián_AragónM, この情報をいただきありがとうございます。 この問題が修正されましたら、更新をお知らせください。このチケットを締め切ります。 ご協力の程、よろしくお願い申し上げます。 Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される こんにちは@Rohitk23 SWチームから返答をいただきました。この問題は、S32K1 パッケージでも報告されています。チームは、修正の予定日があるかどうかを確認しようとしていますが、現時点ではありません。 この問題に関して、プライベートメッセージを送りました。 Best regards, Julián Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される Hi @Rohitk23., これについては、社内チームに連絡させてください。回答が得られたら、更新します。 Best regards, Julián Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される こんにちはJulián_AragónM、 迅速な対応ありがとうございました。 はい、生成はエラーなしで機能しています。S32K1のどの機能バージョンでこれが修正されるのか教えてください。 Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される こんにちは@Rohitk23、 これを社内チームと話し合ったところ、S32K3 RTDも同様の問題を報告したようです。根本的な原因はプラグイン環境にあり、ドライバーの問題ではありません(すでに私たちの側で処理されています)が、ソフトウェアのリリースに問題があるところがあるため、これは次のリリースで修正されることを願っています。  したがって、Generate はコード生成ファイルに影響を与えることなく機能します。 ご不便をおかけして申し訳ございません。 Best regards, Julián Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される Hello Julián_AragónM, ご返信ありがとうございます。提供されたリンクで確認しようとしましたが、うまくいきません。私の以前の入力によると、検証を行っている間、「パラメータビルドファイルがありません」(添付のスクリーンショットの下)というエラーが出ています。 I am using S32K1_RTD_2_0_0_QLP1_D2408_ASR_REL_4_7_REV_0000_20240809.  EB Tresos のバージョンは 29.0.0 です   他に必要な情報があればお知らせください。 Re: EB Tresos のステータスがジェネレーターの実行に失敗したと表示される こんにちは@Rohitk23、 これは RTD パッケージの例ですか。ドライバーのバージョンとEB Tresosを教えてください。 このコミュニティの投稿を参照できます:解決済み:Re:EB Tresosエラーコード60002 - NXPコミュニティ。一部のモジュール構成によって解決された場合。 これでうまくいかない場合は、パッケージ全体をアンインストールして再度インストールしてみてください。 Best regards, Julián Re: EB Tresos status is showing failed to run generator 私も同じ問題に遭遇しました。解決策はありますか?
View full article
无法安装扩展程序 嘿, 我正在遵循 MR-CANHUB344 的“入门教程”。我已经安装了 IDE,现在正尝试添加扩展。但是我无法安装任何扩展,因为出现以下错误: 这是一个已知问题吗?如果是这样,我该如何解决? 回复:无法安装扩展 嘿@VaneB 您提供的解决方案解决了该问题。 谢谢! 回复:无法安装扩展 Hi @NoahB  看来社区里已经讨论过类似的问题了。请查看以下社区主题并让我知道所提供的解决方案是否对您有帮助。 安装扩展时出错   BR, VaneB
View full article
LS1088ARDB/LS1088ARDB-PB - 如何在 Linux 中创建 DPAA2 网络接口(DPNI) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在 Linux 中,默认情况下只创建一个 MAC 作为标准内核以太网接口。默认情况下,此接口命名为 eth0 (如果首先发现 PCI Express 网络接口卡,则命名为 eth1 )。下图显示了 eth0 (或 eth1 )在 LS1088ARDB 上对应的以太网端口(ETH8)。 下图显示了 LS1088ARDB-PB 上 eth0(或eth1)对应的以太网端口(DPMAC5)。 默认情况下仅创建一个接口,因为在 DPAA2 中,以太网端口无需与 Linux 内核以太网驱动程序实例关联。例如,以太网端口可以被分配为交换机上的端口,或分配给用户空间。此外,可以动态地建立这些关联。 在 Linux 系统中,您可以使用 ifconfig -a 命令或 ip link 命令列出可用的接口。 例如: $ ip link 1: lo: mtu 65536 qdisc noqueue qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc noop qlen 1000     link/ether 68:05:ca:36:96:6a brd ff:ff:ff:ff:ff:ff 3: sit0@NONE: mtu 1480 qdisc noop qlen 1000     link/sit 0.0.0.0 brd 0.0.0.0 4: eth1: mtu 1500 qdisc noop qlen 1000     link/ether 6e:01:3f:a2:04:b6 brd ff:ff:ff:ff:ff:ff 在此示例中,Linux eth1对应于 LS1088ARDB 上的以太网端口 DPMAC5 (ETH8)。 创建网络接口 使用 Layerscape 脚本 ls-listni 检查当前可用的网络接口。 例如: $ ls-listni dprc.1/dpni.0 (interface: eth1, end point: dpmac.5) 默认接口 DPNI.0 使用最少的资源集进行配置。 例如,它只能接收GPP0上的流量,其预期用途是网络启动和低带宽流量。 对于功能齐全的 DPNI 对象,建议使用动态配置(将在后续步骤中说明)。 可选 - 解除绑定并销毁现有接口。 $ echo dpni.0 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind $ restool dpni destroy dpni.0 dpni.0 被销毁 restool 实用程序是一个 Linux 用户空间命令,允许管理 DPAA2 对象(创建、销毁和查询状态)。 使用 Layerscape 脚本 ls-addni 添加新的网络接口。 例如: $ ls-addni dpmac.3 创建接口:eth1 (object:dpni.0, endpoint: dpmac.3) $ ls-addni dpmac.4 创建接口:eth2 (object:dpni.1, endpoint: dpmac.4) 请确认新接口是使用 ifconfig -a 或 ip link 命令创建的。 使用 ifconfig 命令启用新创建的接口 例如: ifconfig eth1 192.168.1.23 up ifconfig eth2 192.168.1.24 up 可选 - 将当前配置保存到数据路径布局 (DPL) 文件 DPL 文件用于在 Linux 启动之前创建 DPAA2 实体。 要将当前配置保存到 DPL 文件,请按照以下步骤操作。创建自定义 DPL 后,您可以将其编程到启动源(例如 QSPI NOR 闪存或 SD 卡),以便下次 Linux 启动时自动加载该配置。在这种情况下,现有 DPL 将替换为更新后的 DPL 文件。 将此自定义配置保存到板上的 DPL 文件(.dts 格式)。 $ restool dprc generate-dpl dprc.1 > .dts 将 DPL 文件复制到 Linux 主机。您可以使用 SCP 命令将文件从开发板传输到 Linux 主机。 运行以下命令将其转换为 .dtb 格式。 $ dtc -I dts -O dtb .dts -o .dtb 有关在 QSPI NOR 闪存或 SD 卡中对新 DPL 文件进行编程的步骤,请参阅 LS1088ARDB - 如何在 QSPI NOR 闪存中更新 MC 固件、DPC 和 DPL 镜像或 LS1088ARDB/LS1088ARDB-PB - 如何在 SD 卡上更新 MC 固件、DPC 和 DPL 镜像。 QorIQ LS1设备
View full article
FRDM-MCXA156、LPUART1機能していません Hi, FRDM-MCXA156 と MCUXpresso IDE v24.12 を使用しています 仕事がLPUART1できません。 LPUART0を使用するサンプルfrdmmcxa156_lpuart_edma_transferをインポートし、不要なコードをすべて削除するように簡略化しました。ファイルlpuart_edma_transfer.cのみ変更しました。LPUART0を初期化し、文字「A」を書き込み、ステータスフラグを読み取るようになりました。 次にLPUART0関連するすべての参照をLPUART1関連に変更しました。LPUART0バージョンとLPUART1バージョンの両方を以下に添付します。 LPUART0バージョンを実行すると、 'A'が送信され、ステータスフラグは00c000c0です。 LPUART1バージョンを実行すると、 'A'は送信されず、ステータスフラグは次のとおりです00000040 おそらく、LPUART1バージョンからレジスタの初期化が欠落しているのでしょうが、それが何であるかはわかりません。 BR, jukka 開発ボード MCXA 日時:FRDM-MCXA156、LPUART1機能していません OK、問題を見つけました。時計をLPUART1に取り付けなければなりません。 これらの行が欠落していました CLOCK_SetClockDiv(kCLOCK_DivLPUART1, 1u); CLOCK_AttachClk(kFRO12M_to_LPUART1); 元の例では、BOARD_InitDebugConsole() にありました。 日時:FRDM-MCXA156、LPUART1機能していません LPUARTレジスタは、whileループで実行が中断されるとダンプします LPUART0 0x4009F000 04040003 00000202 00000000 00000000 ................ 0x4009F010 19000004 00C00000 000C0000 00001000 ......À......... 0x4009F020 00000000 00000000 00C10099 00000000 ..........Á..... 0x4009F030 00001000 ??????00 ???????? ???????? ....???????????? LPUART1 0x400A0000 04040003 00000202 00000000 00000000 ................ 0x400A0010 19000004 00000000 000C0000 00001000 ................ 0x400A0020 00000000 00000000 00410099 00000100 ..........A..... 0x400A0030 00001000 ??????00 ???????? ???????? ....???????????? おそらく、一部のクロック初期化が欠落しています???
View full article
Androidのブートアニメーションの変更 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これは、システムのロード時に表示されるAndroidの起動アニメーションを変更する方法の簡単なステップバイステップガイドです。   要件   - Android L5.1.1_2.1.0 BSP。ブートアニメーションの基本は、古いリリースや今後のリリースにも適用される可能性がありますが、L5.1.1_2.1.0には特に当てはまります。このドキュメントには BSP が使用されました。ファイル名、設定、またはパスは、古いリリースまたは新しいリリースで変更される可能性があります。   - i.MX6Q Sabre SD ボードまたはBSPリリースでサポートされているその他のi.MXボード、テスト用に。   - 7-Zip。これは無料の圧縮ツールであり、ブートアニメーションファイルを準備するために必要な設定が備わっています。ブートアニメーションファイルは圧縮されていないZip形式であることが重要です。そうでないと、ファイルが読み込まれず、アニメーションが表示されません。一部のオペレーティングシステムに統合されている Zip ツールでは、これらの構成が常に許可されるとは限りません。 このユーティリティは、以下のリンクからダウンロードできます。 http://www.7-zip.org/   - Android adb ツール。このツールは Android SDK の一部です。次のリンクから、Android Studio の一部として SDK をダウンロードするか、スタンドアロンとして SDK をダウンロードすることができます。このドキュメントをフォローアップするには、adb のみが必要です。 http://developer.android.com/sdk/installing/index.html   起動アニメーションのフォーマットを理解すること。   Androidが起動時に使用するアニメーションは、実際には圧縮されていないzipファイル(ストレージモード)とテキストファイル(desc.txt)のjpgまたはpng形式の一連の画像です。アニメーションの再生に必要な解像度、フレームレート、ループ回数が指定されています。 アニメーションの一部を含む各フォルダーには、000から始まる番号が付けられた画像が含まれている必要があります。このファイルは常に bootanimation.zip と呼ばれます。ブートアニメーションの例はこのドキュメントに添付されています。   添付された例の desc.txt ファイルの内容は以下の通りです。 480 292 30 p 1 0 part0 p 0 0 part1 (文書の最後に空行を入れてください)。   1 行目:画面解像度とアニメーションの FPS(1秒あたりのフレーム数)。   3~5行目:pは、その行にアニメーションの一部が含まれていることを示しています。次に、アニメーションのセクションが再生される回数(ゼロは無限ループ)が続き、その後、次の行に移動するまでのフレーム単位の遅延が示されます。最後に、アニメーションの特定の部分のファイルを含むフォルダーが来ます(ほとんどのアニメーションでフォルダー名に「part」が使用されるのはこのためです)。   6 行目:空白行。これは重要です。これがないと、記述ファイルが不完全とみなされ、アニメーションが実行されない可能性があります。 ウェブ上にはいくつかのアニメーションがあり、独自のアニメーションを作成できる無料のツールやアプリもあります。このドキュメントにはサンプルアニメーションが添付されており、参考としてご使用いただけます。   bootanimation.zip ファイルに他のファイルが含まれていないことが重要です。これには、Windows によって自動的に作成されたサムネイルが含まれます。ボードにロードする前に、ファイルからそれらを削除してください。   アニメーションがシステムのロードにかかる実際の時間よりも短い場合、ループで繰り返される可能性があることにご注意ください。ただし、アニメーションは読み込み時間に関係なく完全に再生されるため、起動アニメーションが非常に長いと、起動時間が長く感じられることがあります。   ブートアニメーションファイルの場所は、次のパスにあるbootanimation_main.cppファイルに記載されています。 /frameworks/base/cmds/bootanimation/bootanimation_main.cpp   ファイルの場所を示す定義が2つあります。この文書のデフォルト画像(暗号化されていない)に焦点を当てています。 #define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip" #define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"   注:これらの定義は、サードパーティのBSPの定義とは異なる場合があります。BSPがUSER_BOOTANIMATIONとして「/data/local/」フォルダーを使用するのは一般的です。これは、NXPのBSPではデフォルトでサポートされていません。   新しいブートアニメーションファイルを読み込んでいます。   - ユーザーデバッグイメージのビルド Android は改ざんを防ぐために特定のフォルダーを保護しています。そのため、ブートアニメーションを変更するには、ファイルシステムにアクセスするために adb を使用します。ただし、ルートアクセスが可能なイメージを使用する必要があるため、ユーザーデバッグイメージを使用します。   ユーザーデバッグとしてコンパイルするには、『Android ユーザーガイド』の指示に従った後、次の lunch コマンドを使用します。 $ lunch sabresd_6dq-userdebug   ユーザーデバッグ用にビルドを構成した後、make を使用してビルドできます。(このプロセスには数時間かかる可能性があります)   - USBデバッグモードを有効にする ボードはAndroidを実行しており、USB OTGポートを使用してコンピュータに接続されている必要があります。adb が機能するためには、設定を開き、「About」オプションまでスクロールし、「About」オプションを7回クリックして、USBデバッグを有効にする必要があります。   - adbを使用して新しいブートアニメーションを読み込む 以下のパスで入手可能な Android SDK for Windows の adb ツールを使用して SABRE ボードに接続します。 android-sdk-windows\platform-tools   Windows でコマンドプロンプトを開き、adb パスに移動します。次に、次のコマンドでadbサーバーを起動します。 $ adb start-server   これにより、adbデーモンが初期化されます。デバイスに接続するには、許可を与える必要があります。コンピュータホストを信頼するかどうかを尋ねるポップアップが表示されます。システムパーティションを変更するため、adbをrootとして初期化する必要があります。 $ adb root   これにより、adbデーモンがルートモードで再起動されます。デバイスからアクセスを許可する必要があります。接続されているリストが表示されます。 $ adb devices   ファイルシステムの内容をご覧になりたい場合は、次のコマンドでシェルに入ることができます。 $ adb shell   ただし、ブートアニメーションを変更するために、adb の pull/push コマンドを使用します。   現在のブートアニメーションをバックアップ用にダウンロードしたい場合は、次のコマンドを使用します。 $ adb pull /system/media/bootanimation.zip C:\ これにより、bootanimation.zip ファイルが C: にダウンロードされます。   システムパーティションは読み取り専用のため、交換用のブートアニメーションをプッシュする前に、adbで再マウントする必要があります $ adb remount $ adb root push C:\BootAni\bootanimation.zip /system/media   この後、ボードを再起動すると、新しいブートアニメーションが表示されるはずです。 元の添付ファイルはbootanimation.zipに移動されました
View full article
如何在 Android 构建中更改内核配置 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在 Android 10(android_Q10.0.0_1.0.0)上进行了测试 在您构建第一个 BSP 之后,内核源代码位于:${MY_ANDROID}/vendor/nxp-opensource/kernel_imx/ 对于 i.MX8M Mini,您可以在以下位置查看正在使用的 defconfig 文件:${MY_ANDROID}/device/fsl/imx8m/evk_8mm/UbootKernelBoardConfig.mk # imx8mm kernel defconfig TARGET_KERNEL_DEFCONFIG := android_defconfig TARGET_KERNEL_ADDITION_DEFCONF := android_addition_defconfig 您可以更改其中一个以添加所需的配置。 - android_defconfig - 路径为 ${MY_ANDROID}/vendor/nxp-opensource/kernel_imx/arch/arm64/configs/android_defconfig- android_addition_defconfig - 在同一个文件夹 ${MY_ANDROID}/device/fsl/imx8m/evk_8mm/ 调用 "merge_config.sh" 以生成最终的 defconfig 文件,然后再构建内核。参考文档:https://source.android.com/devices/architecture/kernel/config 例如:我需要为构建添加 DEVMEM 支持: 1. 更改 defconfig。 我将以下行添加到 android_addition_defconfig CONFIG_DEVMEM=y (或者可以将其添加到 android_defconfig) 2. 构建内核。 ./imx-make.sh kernel -c -j8 3. 验证您的更改。 编译完成后,可通过读取以下内容验证修改: ${MY_ANDROID}/out/target/product/evk_8mm/obj/KERNEL_OBJ/.config 随后重新构建 boot.img 并编程至目标设备。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
View full article
セッション 3: タスク管理とスケジューラ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このビデオ・プレゼンテーションは、 MQX RTOSアプリケーション開発のエッセンシャル ・トレーニング・コースの第3回です。このセッションでは、MQX タスク・スケジューラーについて紹介します。タスクのスケジュール方法、スケジュール・ポリシーの選択方法、およびシステムのタスク優先度レベルの設定方法について学習します。 このトレーニングは、フリースケールがスポンサーとなり、実績のあるパートナーである Embedded Access Inc.によって作成されました。 セッション3 コースライン ラボ概要 OSchedulingポリシー 優先度ベース タイムスライス (ラウンドロビン) スケジューラのしくみ タスクの優先度レベルの選択 タスクテンプレートリスト システムでのタスクの使用 優先度ベースのスケジューリングの実装 スケジューラーの理解: ラウンドロビン vs プライオリティ ベースのスケジューリング ユーザー・インターフェースへのコマンドの追加 セッション3:ラボ課題まず、セッション3:タスク管理とスケジューラのビデオをご覧ください。 その後、以下のインタラクティブなラボ課題に進んでください。 はじめに セッション 1 のラボでは、ラウンドロビン スケジューリングを使用し、タスクが CPU 時間を効率的に共有する方法を確認しました。このラボでは、優先度ベースのスケジューリングに切り替え、このスケジューリング ポリシーを使用して CPU 時間を効率的に共有する方法について説明します。次に、最終的にアプリケーションにコードを追加し始め、最初に開始するタスクはユーザーインターフェイスタスクです。ここでは、シリアルポートを介したインターフェースを追加し、ユーザーがシステム内にCANタスクのインスタンスをいくつ存在させるかを指定します。インターフェースは、ユーザーがCANタスクを破棄、中止、および再起動できるように拡張され、タスク作成APIを体験できます。 目的 このラボの目的は次のとおりです。 タスクテンプレートリストを理解する _task_createを使用してタスクを動的に作成する _task_destroy、_task_abort、_task_restartの違いを使用し、理解する これらの目標は、次のコマンドを受け入れるように UI タスクを変更することで達成されます。 作成コマンド - 指定した数のCANタスクを作成します。各 CAN タスクは、CAN タスクのインスタンスを一意に識別するパラメータを使用して開始する必要があります。 Destroy コマンド - すべての CAN タスクを破棄します。 Restart command - すべてのCANタスクを再開します。 CANタスクを次のように変更する必要があります。 終了ハンドラのインストール 開始時に初期メッセージを出力する 定期的なメッセージ (初期メッセージとは異なる) を 1 秒に 1 回印刷します 使用する新しい関数/構造: _time_delay、_task_create、_task_destroy、_task_abort、_task_restart、_task_set_exit_handler 割り当て 優先度ベースのスケジューリングを実装する 現在、すべてのタスクは優先度レベル 9 に設定されており、これによりラウンドロビン スケジューリングが呼び出されましたが、優先度ベースのスケジューリングに切り替えたいと思います。タスクの優先度を再編成して、優先度の高いタスク、優先度が中程度のタスク、および優先度の低いタスクを設定します。タスクを相対的な優先度に割り当てる場合、ディスプレイの更新が一瞬遅れてもユーザーは気にしないか気にしないため、ユーザー情報タスクは通常優先度が低いことに注意してください。一方、よりタイムクリティカルなタスクは、可能な限り応答性を確保するために優先度を高くする必要があります。各タスクに割り当てる優先度レベルについて考え、次に推奨される優先度のリストを確認します。 タスクテンプレートリストの優先度レベルを更新して、選択した優先度を反映します。数値が小さいほど実際には優先度が高く、優先度レベルにギャップを残すと、不必要により多くのメモリを使用することに注意してください。優先度が最も高いタスクをレベル 9 に、中程度からレベル 10 に、優先度の低いタスクをレベル 11 に割り当てます。 コードを実行し、ターミナルで出力を確認します。実行を一時停止し、TAD の Ready キューを確認します。 スケジューラの理解 ラウンドロビンスケジューリングでは、アクティブタスクからのスケジュールの譲歩により、準備完了キューの次のタスクを実行できることがわかりました。ただし、優先度が異なるタスクがあり、優先度の高いタスクが優先度の低いタスクにCPUを譲る唯一の方法は、ブロック状態に入ることである場合、これは機能しません。ですから、以前は時間遅延を使用していたことは、結局のところそれほど悪い考えではありませんでした。ヘルスタスクのsched_yieldコールを1秒の遅延に変更して、何が起こるかを確認します。ヘルスタスクのtime_delayにブレークポイントを置かないと、印刷物に追いつくことができない場合があります。 これで、優先度の高いタスクと中程度のタスクを実行する手段ができたため、これを拡張して、優先度の低いタスクも実行できるようにする必要があります。現在、ブロッキングコールのブロックを解除する手段は時間遅延以外にないため、今のところはそれを維持する必要がありますが、これらはすべて最終的に置き換えられます。すべてのタスクを今すぐ更新して、スケジュールの歩留まりの代わりに 1 秒の遅延を使用します。次に、どのような結果が得られるかを確認します。 ユーザーインターフェースの更新 今、私たちはついに私たちのタスクの1つに肉を追加することができます。次のステップは、ユーザーから CAN タスクを作成するコマンド ("c" を入力)、すべての CAN タスクを破棄 ("d" を入力)、または使用可能なコマンドのヘルプを取得 ("h" を入力) のいずれかのコマンドを受け入れるように UI タスクをアップグレードすることです。ユーザーがCANタスクを作成する場合は、作成するタスクの数を入力します(最大10個)。task_create() 関数は、CAN タスクを作成するために使用されます。その他の要件は次のとおりです。 タスクの作成: CANタスクを作成するときは、ID番号を渡します。たとえば、最初のCANタスクはID番号0を取得し、次のCANタスクはID番号1を取得します。結果を確認するために、CANタスクを更新して、作成されたことを示すメッセージを印刷し、1秒に1回、それがどのCANタスクであるかを識別するメッセージを出力する必要があります。他のタスクからの定期的なプリントアウトがこのインターフェイスに干渉しないようにするには、printf ステートメントをコメント アウトするか、while (1) ループの上に移動することができます。最後に、UIタスクはCANタスクを作成するため、MQXの起動時に自動生成されるべきではないため、これをタスクテンプレートリストに反映する必要があります。 タスクの破棄: このコマンドの動作を確認するには、printf を使用して、破棄されている CAN タスクを識別するメッセージを出力します。 ヘルプ: 使用可能なコマンドを識別するために、一連のメッセージを出力します。たとえば、「c - CANタスクの作成」、「d - CANタスクの破棄」などです。 変更を試すには、新しいインターフェースを使用していくつかのCANタスクを作成し、プログラムを一時停止します。要求された数のCANタスクがTADのタスクサマリーウィンドウに存在することを確認します。インターフェースを使用してすべてのCANタスクを削除し、タスクサマリーウィンドウから削除されていることを確認します。 次に、ユーザーが「a」を入力してCANタスクを破壊する代わりに中止できるように、UIにコマンドを追加します。abort 関数を使用すると、終了するタスクが終了前に終了ハンドラを実行できるため、CAN タスクに終了ハンドラを追加します。終了ハンドラは can_task() 関数の外部にある別の関数であり、CanTask.c に配置する必要があります。今のところ、終了ハンドラが行うのは、タスクがシャットダウンしているというメッセージを出力することだけです。終了ハンドラにアクセスするには、CAN タスクは、task-set-exit-handler() 関数を使用して、初期化コードに終了ハンドラをインストールする必要があります。 コードを実行し、abort コマンドが入力されると、すべての CAN タスクでシャットダウン メッセージが出力されますが、destroy メッセージが使用されるとこのメッセージは出力されないことを確認します。 最後に、「r」を入力してCANタスクを再起動するためのコマンドをUIにもう1つ追加します。タスクがいつ開始されたかを確認するには、CAN タスク コードの初期化セクションに、CAN タスクに渡された ID パラメータを使用してタスクが開始したことを示す printf を追加します。 さらにサポートが必要ですか?このラボの完全なソース コードは、こちらの 'Lab Source Code' フォルダーにあります。
View full article
FTF-SNT-F1240.pdf <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> T1023/24ファミリの製品は、1.0-1.4GHzで動作する最新のQorIQ 28nm Powerアーキテクチャ・デバイスで、シングル・コアとデュアル・コアの両方のオプションが用意されています。 T1023/24デバイスは、現行のQorIQ P1ファミリ・プロセッサに比べて最大2倍から10倍のパフォーマンスを発揮します。P102x と T1023/24 の主なアーキテクチャの違いと、P シリーズから T シリーズへの移行に関する推奨事項について説明します。Data Path Acceleration Architecture(DPAA)と、DPAAおよびSEC 5.Xのオフロード・アップグレードの利点について説明します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> T1023/24ファミリの製品は、1.0-1.4GHzで動作する最新のQorIQ 28nm Powerアーキテクチャ・デバイスで、シングル・コアとデュアル・コアの両方のオプションが用意されています。 T1023/24デバイスは、現行のQorIQ P1ファミリ・プロセッサに比べて最大2倍から10倍のパフォーマンスを発揮します。P102x と T1023/24 の主なアーキテクチャの違いと、P シリーズから T シリーズへの移行に関する推奨事項について説明します。Data Path Acceleration Architecture(DPAA)と、DPAAおよびSEC 5.Xのオフロード・アップグレードの利点について説明します。
View full article
第三节:任务管理和调度程序 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该视频演示是MQX RTOS 应用程序开发基础知识培训课程的第三部分。在本课程中,我们将向您介绍 MQX 任务调度程序。您将了解如何安排任务以及如何为系统选择调度策略和设置任务优先级。 该培训由Embedded Access Inc.创建,该公司是飞思卡尔赞助的培训提供商和可靠的合作伙伴。 第 3 节课程线 实验室概要 调度策略 基于优先级 时间片(循环) 调度器如何工作 为任务选择优先级 任务模板列表 在您的系统中使用任务 实现基于优先级的调度 理解调度程序:循环调度与基于优先级的调度 向用户界面添加命令 第三节:实验作业首先,观看第三节的视频:任务管理和调度程序。 然后,完成下面的交互式实验室作业。 简介 在第 1 节的实验中,我们使用了循环调度,并且了解了任务如何有效地共享 CPU 时间。在本实验中,我们将切换到基于优先级的调度,并了解如何使用此调度策略有效地共享 CPU 时间。然后,我们最终开始向我们的应用程序添加更多代码,我们将开始的第一个任务是用户界面任务。在这里,我们将通过串行端口添加一个接口,用户可以在其中指定系统中应该有多少个 CAN 任务实例。该界面将得到增强,允许用户销毁、中止和重新启动 CAN 任务,让您体验任务创建 API。 目的 该实验室的目标是: 了解任务模板列表 使用 _task_create 动态创建任务 使用并理解_task_destroy、_task_abort和_task_restart之间的区别 这些目标将通过修改 UI 任务以接受以下命令来实现: 创建命令——创建指定数量的 CAN 任务。每个 CAN 任务都应以一个唯一标识 CAN 任务实例的参数启动。 销毁命令——销毁所有 CAN 任务。 重启命令 - 重启所有 CAN 任务。 CAN任务应修改为: 安装退出处理程序 启动时打印初始消息 每秒打印一次周期性消息(不同于初始消息) 您将使用的新功能/结构: _time_delay、_task_create、_task_destroy、_task_abort、_task_restart、_task_set_exit_handler 转让 实施基于优先级的调度 目前,所有任务的优先级都设置为 9,这将调用循环调度,现在我们想切换到基于优先级的调度。重新组织任务的优先级,使其具有高优先级任务、中优先级任务和低优先级任务。当将任务分配给相对优先级时,请记住用户信息任务通常具有低优先级,因为用户不会注意到或关心显示更新是否延迟了几分之一秒。另一方面,更多时间关键任务需要优先处理,以确保它们尽可能地响应。考虑一下您要为每个任务分配的优先级,然后查看我们建议的优先级列表。 更新任务模板列表中的优先级以反映您选择的优先级。请记住,较低的数字实际上是较高的优先级,并且如果优先级中存在间隙,它将不必要地使用更多内存。将最高优先级任务分配到第 9 级,将中等优先级任务分配到第 10 级,将低优先级任务分配到第 11 级。 运行您的代码并观察终端上的输出。暂停执行并观察 TAD 中的就绪队列。 理解调度器 通过循环调度,我们看到活动任务的调度让就绪队列中的下一个任务得以运行。但是,当您有不同优先级的任务时,这种方法就行不通了,而高优先级任务将 CPU 让给低优先级任务的唯一方法是进入阻塞状态。因此,我们之前使用的时间延迟并不是一个坏主意。将健康任务中的 sched_yield 调用更改为一秒的时间延迟,看看会发生什么。您可能必须在 Health Task 中的 time_delay 上放置一个断点才能捕获其打印输出。 我们现在有一种方法可以运行高优先级和中优先级的任务,因此我们需要扩展它以允许低优先级的任务也能运行。由于我们目前除了时间延迟之外没有其他方法来解除任何阻塞调用,因此我们现在必须坚持这样做,但这些最终都会被取代。现在更新所有任务,使用一秒的时间延迟来代替计划产量。现在看看您得到了什么结果。 更新用户界面 现在我们终于可以给我们的一项任务添加一些内容了。下一步是升级 UI 任务,以接受用户的命令,即创建 CAN 任务(通过输入“c”)、销毁所有 CAN 任务(通过输入“d”)或获取可用命令的帮助(通过输入“h”)。如果用户想要创建 CAN 任务,他们将输入要创建的任务数量(最多 10 个)。task_create() 函数将用于创建 CAN 任务。以下是一些额外的要求: 任务创建:当您创建 CAN 任务时,请向其传递一个 ID 号。例如,第一个 CAN 任务将获得 ID 号 0,下一个将获得 ID 号 1,依此类推。为了确认结果,更新 CAN 任务以打印一条消息来表明它已被创建,并且每秒打印一次消息来标识它是哪个 CAN 任务。为了避免其他任务的定期打印输出干扰此界面,您可以注释掉它们的 printf 语句或将它们移至 while (1) 循环上方。最后,由于 UI 任务将创建 CAN 任务,它们不应在 MQX 启动时自动生成,因此您需要在任务模板列表中反映这一点。 任务销毁:要验证此命令的操作,请使用 printf 输出一条消息,以识别正在销毁哪个 CAN 任务。 帮助:打印一系列消息来识别可用的命令。例如“c - 创建 CAN 任务”、“d - 销毁 CAN 任务”。 要尝试您的更改,请使用新界面创建一些 CAN 任务,然后暂停程序。检查 TAD 中的任务摘要窗口中是否存在所请求数量的 CAN 任务。使用您的界面删除所有 CAN 任务并确保它们从任务摘要窗口中删除。 现在向您的 UI 添加一个附加命令,以允许用户中止 CAN 任务,而不是通过输入“a”来销毁它们。中止函数允许被终止的任务在终止之前运行退出处理程序,因此我们将向 CAN 任务添加退出处理程序。退出处理程序是 can_task() 函数之外的单独函数,应将其放在 CanTask.c 中。现在,退出处理程序所做的就是打印出一条表明任务正在关闭的消息。为了访问退出处理程序,CAN 任务需要使用 task-set-exit-handler() 函数在其初始化代码中安装退出处理程序。 运行您的代码并验证当输入中止命令时所有 CAN 任务都会打印出关闭消息,但在使用销毁消息时它们不会打印此消息。 最后,通过输入“r”向 UI 中添加一个命令来重新启动 CAN 任务。为了查看任务何时开始,请在 CAN 任务代码的初始化部分添加一个 printf,指示任务刚刚启动,并将 ID 参数传递给 CAN 任务。 需要更多帮助吗?此实验室的完整源代码可以在此处的“实验室源代码”文件夹中找到。
View full article
EUF-SCE-T1584 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetis M系列MCU基于低功耗ARM® Cortex®-M0+内核,适用于单芯片1、2和3相电表和流量计,以及其它高精度测量应用。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetis M系列MCU基于低功耗ARM® Cortex®-M0+内核,适用于单芯片1、2和3相电表和流量计,以及其它高精度测量应用。
View full article
ov5640 在 imx8mp 上的支持 最近,许多客户在IMX8MP平台上测试OV5640时发现了不同的问题。本文档指出了一些DTB文件的问题,并简单介绍了如何在IMX8MP EVK开发板上测试OV5640。 如您所知,当前的 BSP 支持 OV5640、OV2775 和 Basler 相机,且许多客户已配备 OV5640,因此我们可以首先测试该型号 可以找到 ov5640 的不同相机支持 dtb 文件,  imx8mp-evk-basler-ov5640.dts <https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk-basler-ov5640.dts?h=imx_5.4.70_2.3.0> imx8mp-evk-ov2775-ov5640.dts <https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk-ov2775-ov5640.dts?h=imx_5.4.70_2.3.0>   一项 ov5640 支持     请参考 imx8mp evk 基板原理图,我们可以发现摄像头 1# 和摄像头 2# 共享相同的复位和断电引脚。     请参考电路图,当前 EVK 使用 gpio2_IO11 作为电源关闭引脚,gpio1_IO06 作为复位引脚,但让我们查看 i.mx8mp-evk.dts 文件。 <https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk.dts?h=imx_5.4.70_2.3.0> ov5640_1: ov5640_mipi@3c {                compatible = "ovti,ov5640";                reg = <0x3c>;                pinctrl-names = "default";                pinctrl-0 = <&pinctrl_csi0_pwn>, <&pinctrl_csi0_rst>, <&pinctrl_csi_mclk>;                clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;                clock-names = "xclk";                assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>; assigned-clock-parents = <&clk IMX8MP_CLK_24M>;                assigned-clock-rates = <24000000>;                csi_id = <0>;                powerdown-gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;                reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;                mclk = <24000000>;                mclk_source = <0>;                mipi_csi;                status = "disabled";                port {                        ov5640_mipi_1_ep: endpoint {                                remote-endpoint = <&mipi_csi1_ep>;                                data-lanes = <1 2>;                                clock-lanes = <0>;                        };                };         };     因此,如果客户需要将 I2C3 连接到 OV5640,请务必按照原理图的定义更改掉电引脚和复位引脚。   然后您可以在这个 DTS 文件中明显找到问题,并请尝试按照以下方式进行修正: https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk-ov2775-ov5640.dts?h=imx_5.4.70_2.3.0   &i2c3 {       /delete-node/ov2775_mipi@36; };  &ov5640_1 { -       pinctrl-0 = <&pinctrl_csi1_pwn>, <&pinctrl_csi1_rst>, <&pinctrl_csi_mclk>; +      powerdown-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;  +      reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;                  csi_id = <1>;               status = "okay"; };   这就是为什么一些客户通过 imx8mp-evk-ov2775-ov5640.dts 文件测试 ov5640 时失败了。   双 ov5640   因为 ov5640 有 ISP,所以当前的 bsp 通过 ISI 连接 ov5640,所以如果您只连接一个 ov5640,客户可以在 dts 文件中将 &isi_0 或 &isi_1 的状态设置为“确定”,由于 evk 硬件限制,当前板子不能支持双 ISI,这意味着不能支持双 ov5640,因为它们共享相同的掉电引脚和复位引脚, 所以客户只能通过 ISI0 或 ISI1 连接 OV5640 进行测试  i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
View full article
S32K1-FTMに基づいてモーターの速度を計算する このルーチンのハードウェアはS32K142EVBをベースにしており、IDEはARM 2018.R1用のS32_Design_Studio、SDKバージョンはS32K1xx_RTM_3.0.0です。PTB12はホール・パルス出力をシミュレートするために使用されます。PTC12とPTC13はPTB12 ポートのフリップ周波数を変更するボタンです。また、PTB13は入力キャプチャ・ポートとして使用されます。この記事のデモ・プログラムを使用する場合は、PTB12ポートとPTB13ポートを接続する必要があります。 ここでは、ブラシ付きDCモーターを使用していると仮定します。 1.ホールセンサー ホール・センサは磁気誘導センサです。磁気リングとホール素子は、誘導結合を形成します。磁気リングはローターとともに回転します。ホール誘導磁気リングはローターとともに回転します。3極ペア、4極ペアなど、各極のペアは2つのレベルのN.S.に分割されます。1ペアの磁極は1つのパルス信号を出力し、複数の磁極は複数のパルス信号を出力します。磁極段数によってパルス信号の数が決まり、数が増えるほど、精度が高くなります。 ホール・センサ 2.モーターの磁気リングシリーズと出力ホール波形の関係 5 pole pairs 3.モーターの回転方向の決定 モーターの方向は、2つのホール信号の位相差によって判断されます。下図に示すように、センサAの位相はセンサBより進んでいるため、モーターの現在の回転方向は時計回りであると考えられます。   4.モーター速度の計算 モーターの速度はパルスのパルス幅から計算でき、モーターの回転数はパルス数から計算できます。モーターのホール磁気リングに5ペアの極があると仮定すると、モーターの1回転に5つのパルスがあり、モータの回転数 = 60 / (t1 * 5) 回転数/分となります。パルス数は、FTMのエッジ・キャプチャ機能で求めることができます。 モーター速度とストローク FTMのクロックが2MHzだと仮定すると、カウンタが1増えるのに1/2000000秒かかります。モーター速度の単位はrpmなので、モーター速度の計算式は次のようになります。 -> モーター速度 = 60 / (5 * a* (1 / 2000000)) この式では、「5」は磁気リングの極ペアの数で、「a」は連続する2つのパルスの立ち下がりエッジに対応するカウンタの差です。        テストを実行しましょう。下図の矩形波はPTB12の出力であり、出力パルスの周期は32.1msです。モーターが1回転するのに必要な時間は32.1ms × 5 = 160.5msであり、モーターの回転速度は60 × 1000 / 160.5 = 373.83rpmです。   PTB2出力方形波 下の図はデバッガによって直接取得されました。この時点でのモーターの速度は 373 であり、オシロスコープで測定された値373.83とあまり変わらないことがわかります。これは、プログラムの中で浮動小数点演算の結果を使用しなかったためです。要約すると、FTMモジュールの入力キャプチャ機能を使用して、モーター速度の計算を完了します。 デバッガ・モニターの結果 5.モーターの回転方向を計算する方法 上記ではモーターの速度を計算しましたが、モーターの回転方向については判断していません。前述のとおり、モーターの回転方向は2つのホール・パルス波形の位相差によって判断されます。通常、タイムスタンプを使用して位相の現在の状態を判断することを考えるため、2つの入力キャプチャを有効にし、パルスの立ち下がりエッジの2つのホールのタイムスタンプを計算します。 実際、もっと簡単な方法があります。一方のホール・パルスの立ち下がりエッジが中断されたときに、他方のホール・パルス・レベルの高低状態を読み取るだけです。要するに、1つの入力キャプチャを有効にし、もう1つをGPIOポートとして使用することになります。
View full article