OK1046A-C開発ボードVLAN設定ガイド
I. 概要
VLAN(仮想ローカルエリアネットワーク)の概念:VLANは、1つの物理スイッチ上に複数の「仮想」ミニスイッチを作成する技術です。各ミニスイッチ(VLAN)は独立したブロードキャストドメインとして機能し、レイヤー2(データリンク層)でネットワークトラフィックを分離します。これは、それぞれが異なる物理スイッチに接続されている場合と同様の動作です。
この機能を実装する鍵は、標準イーサネットフレームに4バイトのVLANタグを挿入することです。このタグには、フレームが属する特定のVLANを識別する12ビットのVLAN IDが含まれています。VLANをサポートするデバイスは、このIDを使用して、さまざまな仮想ローカルエリアネットワーク(VLAN)からのトラフィックを区別して管理します。
II. 設定手順
1. VLAN仮想インターフェースを作成する
このファイルは、システム起動時に仮想VLANネットワークデバイスを作成するために使用されます。この場合、「Name=vlan100」はVLANインターフェースに割り当てられる名前、「Id=100」はVLAN IDです。
root@localhost:~# vi /etc/systemd/network/vlan100.netdev [NetDev] 名前=vlan100 種類=vlan [VLAN] ID=100
2. VLANインターフェースのIPアドレスを設定する
このファイルは、以前に作成した VLAN デバイスに IP アドレスを割り当て、設定を有効にするために使用されます。VLAN が外部ネットワークにアクセスする必要がある場合は、ゲートウェイを設定できます。例: Gateway=192.168.0.1。
root@localhost:~# vi /etc/systemd/network/vlan100.network [マッチ] 名前=vlan100 [ネットワーク] アドレス=192.168.0.70/24
3. 親インターフェースを設定する
VLANトラフィックを物理ネットワークインターフェイスカード経由で通過させるには、親インターフェイス(fm1-mac3など)がアクティブであるものの、IPアドレスが割り当てられていないことを確認してください(ただし、インターフェイスにネイティブVLANのIPアドレスが割り当てられている場合は除きます)。この手順は、systemd-networkdネットワークサービスに対し、fm1-mac3インターフェイスの主な機能がVLAN vlan100を伝送することであることを通知するため、非常に重要です。
root@localhost:~# vi /etc/systemd/network/fm1-mac3.network [マッチ] 名前=fm1-mac3 [ネットワーク] VLAN=vlan100 # 重要なポイント: IP アドレスを設定しないでください。代わりに、このインターフェイスが VLAN を伝送することを宣言してください。 # トポロジー内で物理インターフェースが複数の VLAN を伝送する必要がある場合は、次のように記述します: VLAN=vlan100,vlan200
4. 設定を適用する
設定ファイルを作成したら、systemd-networkdサービスを再起動して設定を有効にしてください。
root@localhost:~# systemctl restart systemd-networkd
III. 検証
1. 構成情報宣言
開発ボード1のVLAN設定
開発ボード2のVLAN設定
2. 同一VLAN IDテスト
次に、VLAN IDが両方とも100である2つのネットワークポート(192.168.0.78と192.168.0.70)をイーサネットケーブルで直接接続します。互いにpingを実行してテストしてください。
3. 異なるVLAN IDテスト
このテストでは、VLAN IDが異なると、同じサブネット内のIPアドレスであっても相互に応答できないことが示されています。
要約すると、VLAN機能のテストには、仮想VLANインターフェースを作成し、それを物理的に存在するネットワークポートに接続する必要があります。この物理ポートは複数のVLANインターフェースを接続できます。その後、必要に応じて異なるVLAN IDを設定し、VLANの動作を確認します。
IV. VLANタグを表示するためのパケットキャプチャ
同じVLAN IDを持つデバイス同士が通信する場合、下の画像に示すように、tcpdumpを使用してVLANタグ付きデータフレームを観測することもできます。
1. VLAN識別子
各行に目立つように表示されている「vlan 100」は、そのパケットがVLAN ID 100の仮想LANに属していることを明確に示しています。
2. 802.1Qタグ
各行のethertype 802.1Q(0x8100)は、イーサネットフレームが802.1Qプロトコルを使用していることを示しています。802.1Qは、IEEEが定義したVLANタグ付けの標準規格です。16進数値0x8100は、イーサネットフレームヘッダーに埋め込まれた「TPID」であり、ネットワーク機器に対して「このフレームにはVLANタグが含まれている」ことを通知します。
V. PCでVLAN IDを設定する
Windows PCと開発ボード間でVLANテストを実行する必要がある場合は、以下の手順に従ってネットワークアダプタのVLAN IDを手動で指定してください。
1. ネットワーク接続へのアクセス
コントロールパネルを開き、「ネットワークと共有センター」に移動して、左側の「アダプタ設定の変更」をクリックします。開発ボードに接続されている物理ネットワークインターフェイスカードを探します。
2. 「ネットワークカードのプロパティ」を開きます。
ネットワークアダプターのアイコンを右クリックし、「プロパティ」を選択します。ポップアップウィンドウで、「構成(C)...」ボタンをクリックします。
3. 「詳細設定」を編集する
ネットワークアダプタの設定ウィンドウで、「詳細設定」タブに切り替えます。左側の「プロパティ(P)」リストを下にスクロールして、「VLAN ID」を探します。
4. VLAN IDを設定する
右側の「値(V)」入力フィールドに、開発ボードに対応するVLAN ID(例:100)を入力します。「OK」をクリックして設定を保存します。ネットワークアダプタが再起動し、VLANタグが適用されます。
Forlinx Embedded がニュルンベルクで開催される embedded world 2026 に初登場し、グローバルな組み込み市場における足跡を強化します。
2026 年 3 月 10 日 — 組み込み技術に関する世界有数の年次イベントである embedded world 2026 が、ドイツのニュルンベルク展示センターで盛大に開幕しました。
展示会(ブース番号3-561)では、Forlinx Embeddedが力強い復活を遂げ、多様なシナリオに対応する最先端製品と統合ソリューションを多数発表しました。この展示は、中国の組み込み技術セクターの革新性と競争力を際立たせ、Forlinxのグローバル展開加速へのコミットメントを改めて示すものとなりました。
01 包括的かつ多様化
この展示会で、Forlinx Embedded は、NXP、Rockchip、Allwinner、TI の主要チップ プラットフォームをベースにした組み込み SoM、開発ボード、産業用コンピューター、エッジ コンピューティング ゲートウェイなど、多様な製品ラインアップを展示しました。
デモでは、エッジAI、産業オートメーション、スマートディスプレイ、EV充電といった分野におけるForlinxのソリューションの高性能と信頼性が強調されました。また、Forlinxと世界有数のチップメーカーとの連携、そしてハードウェア研究開発と統合ソリューション開発における専門知識も強調されました。
02 フルシナリオ&魅力的な
ブースでは、初公開となる複数のダイナミック デモを実施します。
-
i.MX 9596 + Ara240 知覚・理解プラットフォーム
-
i.MX 94x スマートディスプレイソリューション
-
FCU3501エッジコンピューティングゲートウェイ(RK3588 Jベース)、16 x AIビデオ処理
-
RV1126B 4カメラパノラマスティッチングシステム
-
T536 8 x CANテクノロジーモジュール
-
TI AM62LインタラクティブEV充電器ソリューション
これらの最先端のプラットフォームは、参加者から強い関心と関心を集めました。
右にスワイプしてもっと見る > >
また、IEC 62443-4-1およびIEC 62443-4-2セキュリティ規格の認証を既に取得済みのFCU2601組み込み制御ユニットも展示されます。さらに、EN 18031(RED)サイバーセキュリティ認証も取得しています。これにより、EUサイバーレジリエンス法(CRA)などの規制への準拠が保証され、世界中で安全かつコンプライアンスに準拠した導入が可能になります。
03 エコシステム連携、共同展示体験
Embedded World 2026において、Forlinx Embeddedはチップメーカーとの連携強化を継続しました。NXP、Rockchip、TIといったパートナー各社は、貴重な共同展示の機会を提供しました。各社のブースでは、ForlinxのSoM、開発ボード、そして各パートナーの主力製品をベースに開発されたダイナミックなデモが、世界中の来場者から強い関心を集めました。
04 たゆまぬ努力と革新
20年以上にわたり組み込み技術に注力してきたForlinx Embeddedは、イノベーション、品質、そしてお客様の成功に尽力しています。Embedded World GermanyにおけるForlinxのプレゼンスは、単なるブランドアピールにとどまりません。国際的なパートナーシップを構築し、グローバル市場の成長を加速させるための戦略的前進を示すものでした。
Forlinx Embeddedは今後もイノベーションへのコミットメントを維持し、顧客ニーズを最優先に考え、製品を継続的に改良していきます。Forlinxは、世界中のパートナーとの連携を深めることで、世界中の産業を支援し、組み込みエコシステムの持続的な成長を促進する高度な組み込みソリューションの提供を目指します。
3月11日~12日、ブース番号3-561にお越しください。組み込み技術の未来について、より深い洞察、デモンストレーション、そしてディスカッションをお楽しみください。
共に、未来を築きましょう。
Buildroot を使用して RK3568 でデバッグ用にコアダンプを有効にする方法 (Linux 5.10 カーネル)
1. 概要
組み込みLinux製品の開発、デバッグ、そしてデリバリーにおいては、セグメンテーション違反やスタックオーバーフローといったクラッシュが頻繁に発生します。シリアルログだけでは、正確な障害シナリオを特定できないことがよくあります。
コアダンプは、Linuxオペレーティングシステムが提供する重要なデバッグメカニズムです。プロセスが異常終了すると、システムはクラッシュ時のプロセスの主要な実行時状態(メモリイメージ、レジスタ、コールスタックなど)をファイルに保存します。開発者はgdbなどのデバッグツールを使用してこのファイルに対してオフライン分析を実行し、問題の根本原因を迅速に特定できます。
この記事では、OK3568 プラットフォーム(Linux カーネル 5.10 + Buildroot) を例に、コア ダンプ機能を有効にする方法を詳しく説明し、アプリケーション開発、システム統合、顧客の問題分析などのシナリオに適用できる実用的なデバッグ方法を紹介します。
2. コアダンプの概念
次のような状況によりアプリケーションが異常終了すると、コア ダンプがトリガーされることがあります。
- 不正なメモリへのアクセス(セグメンテーション違反)
- ヌルポインタまたはワイルドポインタアクセス
- スタックオーバーフロー
- 違法な指示
- プログラムがabort()をアクティブに呼び出している
生成されたコア ファイルは、基本的にクラッシュの瞬間のプロセスのアドレス空間のスナップショットであり、主に次のものが含まれます。
- プロセスの仮想メモリの内容(コードセグメント、データセグメント、ヒープ、スタック)
- CPUレジスタの状態
- スレッド情報
- 信号情報(衝突の原因となった信号の種類)
コア ファイルを使用すると、ターゲット ボードがなくても問題を再現できるため、問題分析の効率が大幅に向上します。
3. OK3568 Buildrootシステムのデフォルト操作の説明
OK3568 (Linux カーネル 5.10) のデフォルトの Buildroot システムでは、コア ダンプは無効になっています。
コアダンプのデフォルト機能は無効になっています。
アプリケーションがクラッシュしても、コア ファイルは自動的に生成されません。
詳細なデバッグやシナリオの再現を有効にするには、この機能を手動で有効にしてください。
4. コアダンプを有効にする手順
3568 Linux 5.10 ボードでは、コア ダンプはデフォルトで無効になっています。
ボード上で有効にするには:
4.1 コアダンプディレクトリを作成する
コアファイルは、/userdata など、ユーザーが読み書きできる永続パーティションに保存することをお勧めします。
mkdir -p /userdata/core
4.2 ディレクトリの権限を設定する
デバッグ中に任意のプロセスが書き込みできるようにします。
chmod 777 /userdata/core
注意: 実稼働システムでは、セキュリティ ポリシーに従って権限を制限してください。777 は長期使用には推奨されません。
4.3 コアファイルディレクトリの設定
ディレクトリ内にわかりやすい名前でコアを保存するようにカーネルを設定します。
echo "/userdata/core/core.%e.%p" > /proc/sys/kernel/core_pattern
パラメータの説明:
%e:実行ファイル名
%p:プロセスPID
生成されたファイルの例:
コア.myapp.1234
4.4 コアダンプの生成を許可する
現在のシェルのコア ダンプのサイズ制限を解除します。
ulimit -c 無制限
注: この設定はセッションごとに異なります。永続的に適用するには、コマンドを起動スクリプトに追加してください。
4.5 コアダンプが有効になっているかどうかを確認する
有効にした後、ulimit -c コマンドを使用して、ダンプ機能がアクティブかどうかを確認します。
出力が 0 の場合、ダンプ機能が無効になっていることを示します。
出力が無制限の場合、ダンプ機能が有効になっていることを示します。
5. コアダンプの生成を確認する
上記のセットアップが完了したら、対象のアプリケーションを実行します。
プログラムがクラッシュすると (セグメンテーション違反などにより)、設定されたディレクトリ (/userdata/core/) に次の命名パターンを持つコア ファイルが生成されます。
core.<プログラム名>.<プロセスpid>
6. GDBでデバッグする
6.1 基本的なデバッグコマンド
ホストまたはターゲット ボード上で一致する GDB (通常はクロスデバッガー) を使用します。
gdb <プログラムパス> <コアファイルパス>
例:
gdb /userdata/myapp /userdata/core/core.myapp.1234
6.2 クラッシュコールスタックを表示する
GDB に入ったら、次のコマンドを入力します。
ビット
このコマンドは、クラッシュ時のプログラムの関数呼び出しスタックを出力します。これは、問題を特定するための重要な基礎となります。
6.3 追加の便利なデバッグコマンド
現在のスレッドを一覧表示:
情報スレッド
指定されたスレッドに切り替えます:
スレッド <id>
変数値を表示します。
<変数名>を印刷する
現在の関数のソースコードを表示します。
リスト
7. 推奨事項と考慮事項
1. デバッグ シンボルを使用してコンパイルする場合は -g をオンにすることをお勧めします。そうしないと、呼び出しスタック情報が制限されます。
2. 大量のコアファイルがストレージ容量を占有する可能性があるため、定期的にクリーンアップするか、生成されるファイルの数を制限することをお勧めします。
3. 機密情報が含まれている可能性があるコアダンプを本番環境で慎重に開き、正式な製品では要件に応じてそれを有効にするかどうかを決定する必要があります。
4. ログ効果が最も高いコア ダンプ + ログ (syslog/アプリケーション ログ) を使用すると、問題のシナリオをより完全に復元できます。
8. 要約
OK3568 Buildrootシステムでコアダンプを有効にすると、アプリケーション障害発生時のクラッシュシーンの完全な情報が保存されるため、デバッグと問題分析の効率が大幅に向上します。このメカニズムは特に以下の場合に有効です。
- 現場で報告された問題の再現
- ラボ内で再現できない散発的なクラッシュのデバッグ
- マルチスレッドまたは複雑なロジックの障害の分析
研究開発およびテスト段階ではデフォルトでオンにしておき、量産段階で安全性やリソース戦略に応じて選択することをお勧めします。
大規模エッジAI:RV1126Bは効率性と計算能力の最適なバランスを実現
エッジAIが概念実証から本格導入へと移行するにつれ、効率性とコンピューティング能力の適切なバランスを実現することが重要な課題となっています。産業用ビジョン、インテリジェントセキュリティ、軽量ロボティクスといった主要分野では、アルゴリズムの強化やハードウェアのスタッキングに頼るだけではもはや市場を勝ち抜くことは不可能であることは明らかです。お客様が真に求めているのは、厳しい電力とコストの制約下で12メガピクセルのビデオストリームを安定的に処理し、0.01ルクスという超低照度環境でも有用なディテールを捉え、技術設計を迅速に実製品へと反映できるソリューションです。
3 TOPS NPU: オンデバイスAI推論を強化
Rockchip RV1126Bプロセッサは、最大3 TOPS @ INT8のAIコンピューティング能力を実現する専用NPUを搭載しており、前世代のRV1126と比較して50%向上しています。INT8/INT16混合精度演算、W4A16/W8A16混合精度量子化、Transformerモデル最適化をサポートし、2Bパラメータの大規模言語モデルやマルチモーダルモデルのスムーズな実行を可能にします。
つまり、RV1126B は、顔検出、ヘルメット識別、煙と火災の警報、侵入検知など、さまざまな一般的なエッジ AI 認識モデルを効率的に実行できるため、クラウドに依存せずにリアルタイムのローカル意思決定が可能になります。
複数のモデルをForlinx Embedded OK1126B-S開発ボードでテストしました。RV1126BのNPUの測定結果は以下の通りです。
大規模言語モデルとマルチモーダルモデル
物体検出
画像セグメンテーション
人物と顔のキーポイント認識
テスト データは、RV1126B を搭載した Forlinx OK1126B‑S ボードがさまざまなモデルにわたって優れたパフォーマンスを発揮し、特に前世代のボードと比較して NPU が顕著に改善されていることを明確に示しています。
AI-ISP: より効率的なビジュアルインテリジェンスエンジン
エッジAIシステムでは、高品質な画像入力の取得が知覚能力の向上に不可欠です。従来のアプローチにはボトルネックがあります。ISPから出力される画像は既に圧縮されたデジタル信号であるため、NPUベースの分析は「霞を通して見る」ようなものになります。RV1126Bの専用AI-ISPは、高度なAIアルゴリズムをISPの生データ処理パイプラインに直接統合し、「AIによる理解のために画像を事前に最適化しながら画質を向上させる」という2つの目標を達成します。
AIモデルは、3DNR(3Dデジタルノイズリダクション)、HDR合成、歪み補正、デフォッグといった主要な処理をリアルタイムで行います。AI Remosaic技術と組み合わせることで、「昼夜適応型デュアルモード」画像処理を実現し、視覚的に優れた画像だけでなく、「AIフレンドリー」な画像も生成します。これにより、バックエンドNPUの正確かつ効率的な推論のための最適な基盤が構築されます。
特に、AI-ISP を実行する場合、RV1126B は NPU リソースを占有しないため、ISP と NPU が一緒に処理される従来のソリューションと比較して、帯域幅と電力効率が向上します。
さまざまなシナリオに対応する汎用性がインテリジェントなアップグレードを可能に
バランスの取れたパフォーマンスを備えた Rockchip の RV1126B は、さまざまなエッジ AI シナリオにぴったり合うように調整されています。
-
スマート建設現場では、ヘルメットや反射ベストの検知、高所物体の落下認識、不正火災警告などの安全監視機能を実現します。
-
スマート倉庫では、バーコード認識、棚在庫管理、人員の軌跡追跡、侵入警報などのタスクを効率的に実行します。
-
産業用ビジョンのシナリオでは、太陽光発電パネルやリチウム電池の欠陥の識別に優れています。
-
自動車アプリケーションでは、DMS (ドライバー監視システム) をサポートします。
-
軽量ロボットの場合、動的な障害物回避と経路計画が可能になります。
チップの性能を安定性と信頼性に優れた製品にするには、堅牢なハードウェアキャリアとサービスシステムが必要です。Forlinx EmbeddedがRV1126Bプロセッサシリーズをベースに設計・開発したFET1126B-S/FET1126BJ-S SoMは、まさにこの目的を果たします。
Forlinx Embedded FET1126BJ-S SoM(産業グレード)は、-40℃~85℃の温度範囲で確実に動作し、優れた耐久性と環境適応性を提供します。一方、FET1126B-S SoM(広温度グレード)は、-20℃~85℃の動作要件を満たす商用グレード構成を備え、競争力に優れています。高帯域幅のLPDDR4メモリを搭載したこのボードは、低コストと広温度範囲の性能を両立しています。商用グレードのアプリケーションでは0℃~70℃に制限されるDDR4とは異なり、商用グレードのLPDDR4チップは-20℃~85℃をカバーします。
さらに、Forlinx Embeddedは、ハードウェア設計からソフトウェア導入まで、包括的なリソースと効率的な技術サポートサービスを提供します。安定したサプライチェーンと相まって、プロジェクト開発サイクルを大幅に短縮し、あらゆる業界のお客様がソリューションを迅速に実装し、量産化を実現できるよう確実に支援します。
結論:RockchipのRV1126BによるエッジAIの強化
エッジAIがコンセプトから大規模導入へと移行する中で、RockchipのRV1126Bプロセッサは、エッジインテリジェンスに強力な演算処理能力を提供し、様々なシナリオの中核ニーズに的確に対応します。Forlinx Embedded FET1126B-S/FET1126BJ-S SoMシリーズは、実装における重要な架け橋として機能します。堅牢なハードウェア、強力なアルゴリズム、信頼性、そして技術サポートにより、RV1126Bチップの機能を実世界の製品性能へと効果的に変換します。業界をまたいだ迅速なインテリジェントアップグレードを可能にし、スケーラブルなエッジAI導入のための信頼できるコアハードウェアソリューションです。
OK8MP 開発ノート | A-Core GPIO ピン解放の詳細な方法
i.MX 8MP プラットフォームでは、M-Core (Cortex-M7) が GPIO ピンにアクセスする必要がある場合、Linux ベースの A-Core (Cortex-A53) とのリソース競合が頻繁に発生します。
ピンをリリースする理由は何ですか?
デュアルコアシステム(A-Core + M-Core)では、GPIOピンは通常、デフォルトでA-Core(Linuxドライバ)によって管理されます。M-Coreが特定のGPIO(割り込み入力、制御信号など)にアクセスする必要があるにもかかわらず、A-Coreがそのピンを保持している場合、以下の問題が発生する可能性があります。
GPIOは割り込みに応答できません
-
M-Coreアクセス障害
-
GPIOは割り込みに応答できません
-
システムリソースの競合または異常な出力
したがって、A-Core 側でピンの多重化と関連するデバイス ノード参照を解放することが重要です。
リリース方法
このプロセスには主に 2 つのステップが含まれます。
- 1. pinmux (ピン多重化) 構成をコメント アウトします。
- 2. GPIO を参照するすべてのデバイス ノードをコメント アウトします。
詳細な手順
Pinmux 設定をコメントアウトする
ボタン GPIO を例にとると、デバイス ツリー ファイルで次のものを見つけます。
OK8MP-linux-kernel/arch/arm64/boot/dts/freescale/OK8MP-C.dts
pinctrl_gpio_key ノードを見つけて、ターゲット GPIO の多重化構成をコメント アウトします。
pinctrl_gpio_key: gpiokeygrp { fsl、ピン = < /*MX8MP_IOMUXC_SAI2_TXFS__GPIO4_IO24 0x159 MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x159*/ >; };
その他の GPIO については、公式のピン多重化テーブル (Pinmux テーブル) を参照して、対応する構成を識別および変更できます。
デバイスツリー内のGPIOへの呼び出しに注釈を付ける
ピンの多重化を単にコメントアウトするだけでは不十分です。デバイスツリー内にこれらのGPIOを参照するノード(例えばgpio-keys)が残っている場合、Linuxカーネルは起動時にこれらのピンを要求しようとします。
OK8MP-C.dts でキー ノードの検索を続け、その GPIO ピン参照をコメント アウトします。
キー { compatible = "gpio-keys"; pinctrl-names = "デフォルト"; pinctrl-0 = <&pinctrl_gpio_key>; 上 { label = "GPIOキーアップ"; Linux、コード = <103>; デバウンス間隔 = <20>; /*gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;*/ }; 下 { label = "GPIOキーダウン"; linux、コード = <108>; デバウンス間隔 = <20>; /*gpios = <&gpio4 18 GPIO_ACTIVE_LOW>;*/ }; };
M-Core GPIO割り込み使用のための追加手順
M-Core が割り込み用に GPIO を使用する必要がある場合 (ピンが GPIO1 グループに属していない場合)、A-Core はその特定の GPIO を解放するだけでなく、デバイス ツリー内のそのグループの GPIO コントローラー ノード全体をコメント アウトする必要があります。
gpio2 を例に挙げて、ファイルを編集します。
OK8MP-linux-kernel/arch/arm64/boot/dts/freescale/imx8mp.dtsi
以下に示すように、関連するセクションをコメント アウトします。
/*gpio2: gpio@30210000 { 互換性 = "fsl、imx8mp-gpio"、"fsl、imx35-gpio"; レジスタ = <0x30210000 0x10000>; 割り込み = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>、 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; クロック = <&clk IMX8MP_CLK_GPIO2_ROOT>; gpio コントローラー; #gpioセル = <2>; 割り込みコントローラ; #割り込みセル = <2>; };*/
注意: このノードをコメント アウトすると、Linux はこの GPIO コントローラーを登録しなくなり、M-Core での使用のために完全に解放されます。
検証
上記の変更を適用した後、カーネルを再コンパイルしてフラッシュします。この時点で、以下のようになります。
A-Core は関連する GPIO を占有しなくなります。
M-Core は、割り込み入力などとして通常どおりアクセスして構成できます。
リソースの競合やデバイス ツリーの読み込み警告は発生しません。
このドキュメントで概説されている方法に従うことで、OK8MP A-Core から GPIO を安全に解放し、M-Core に独立した制御されたリソース アクセス チャネルを提供できるようになります。
元は www.forlinx.net で公開されています。
Forlinx Embedded RK3568 開発ボードのファイルシステムを TFTP フラッシュするためのガイド
このテストは、Rockchip RK3568プロセッサを搭載したOK3568-C開発ボード上で、Linux 4.19.206の標準開発環境を用いて実施されました。このボードは安定したネットワーク基盤を備えており、TFTPプロトコルの伝送要件を満たすことができます。テスト中、TFTPサーバーはUbuntuシステムに展開されました。UbuntuとRK3568開発ボードはブリッジモードで構成されました(開発ボード上のデュアルネットワークインターフェースのハードウェア的利点を活用することで、ネットワーク伝送の遅延を短縮できます)。サーバーアドレスは172.16.0.177に設定されました。
事前にシステムイメージ(boot.img と rootfs.img)をTFTPサーバーのディレクトリに配置してください。また、開発ボードとサーバー間のネットワーク接続が適切であることを確認してください。これは、プロセスをスムーズに実行するために不可欠です。
フォーリンクスRK3568 SoM
1. ネットワークアクセスのためのU-Boot環境変数の設定
RK3568開発ボードのUboot環境設定はシンプルで直感的です。オンボードのType-Cデバッグインターフェース(USB-シリアル変換チップを内蔵し、追加アダプタは不要)と組み合わせることで、開発者はターミナルツール(SecureCRTやXshellなど)からUbootコマンドラインに素早くアクセスし、ネットワークパラメータの設定を完了できます。
操作のヒント: Type-Cデバッグインターフェースのデフォルトのボーレートは115200bpsで、データビットは8ビット、ストップビットは1ビット、パリティチェックはなしです。接続後、開発ボードを再起動してUbootコマンドラインを起動してください。
=> setenv ethaddr 22:51:a2:cc:47:2d # 開発ボードのイーサネットMACアドレスを設定して、一意のネットワークIDを確保します => setenv ipaddr 172.16.0.176 # 開発ボードの静的IPを設定します。これはサーバーと同じネットワークセグメントにある必要があります。 => setenv gatewayip 172.16.0.218 # ネットワークセグメント間の通信を確実にするためにゲートウェイアドレスを設定します(必要な場合) => setenv netmask 255.255.0.0 # LANネットワークセグメント計画に合わせてサブネットマスクを設定します => saveenv # 再起動後のデータ損失を防ぐために環境変数をeMMCに保存します 環境を ENV_BLK に保存しています… 環境を ENV_BLK に保存しています... mmc(0)に書き込み中...完了 # ネットワーク接続を確認します。まず実機にpingし、次にUbuntuサーバーにpingします。 => ping 172.16.0.77 # 開発ボードと実機間のネットワーク接続をテストします ethernet@fe2a0000 PHYの自動ネゴシエーションが完了するのを待っています。完了 ethernet@fe2a0000デバイスの使用 ホスト172.16.0.77は稼働中 => ping 172.16.0.177 # 重要なステップ: TFTP サーバーとの接続を確認します (接続に失敗した場合は、VMware ブリッジ モードまたは開発ボードのネットワーク ケーブル接続を確認します) ethernet@fe2a0000デバイスの使用 ホスト172.16.0.177は稼働中 => setenv serverip 172.16.0.177 # TFTPサーバーのIPアドレスを指定すると、以降の送信ではデフォルトでこのアドレスが使用されます => 保存環境 環境を ENV_BLK に保存しています... mmc(0)に書き込み中...完了
注: サーバーへの ping が失敗した場合は、次のチェックを優先する必要があります。
- VMware ネットワークが「ブリッジ モード」に設定されているかどうか。
- 開発ボードのネットワーク ケーブル接続が正常かどうか (カテゴリ 5e 以上のネットワーク ケーブルの使用をお勧めします)。
- TFTP ポート (デフォルト ポート 69) がサーバーのファイアウォールによってブロックされているかどうか。
2. eMMCパーティションテーブルのクエリ
Forlinx Embedded RK3568開発ボードは、8/16/32/64GBの複数のeMMCストレージオプションを提供します。このテストでは、Linux標準のパーティションプランを採用しています。mmc partコマンドを実行すると、boot.img(ブートイメージ)とrootfs.img(ファイルシステムイメージ)のターゲットパーティションを明確にするために、パーティション構造全体を表示できます。
= > MMC パート # eMMC デバイス 0 のパーティション テーブルを一覧表示します (パーティション タイプ: EFI) MMC デバイス 0 のパーティション マップ -- パーティション タイプ: EFI パーツ開始LBA終了LBA名前属性タイプGUIDパーティションGUID 1 0x00004000 0x00005fff 「uboot」 0x00000000 0a100000-... b7030000-... 2 0x00006000 0x00007fff 「その他」 0x00000000 420c0000-... ca5e0000-... 3 0x00008000 0x00017fff "boot" 0x00000000 aa0c0000-... 81190000-... # boot.img ターゲットパーティション 4 0x00018000 0x00027fff 「回復」 0x00000000 2a050000-... c4620000-... 5 0x00028000 0x00037fff 「バックアップ」 0x00000000 aa600000-... 7b5d0000-... 6 0x00038000 0x00c37fff "rootfs" 0x00000000 12770000-... 614e0000-... # rootfs.img ターゲットパーティション 7 0x00c38000 0x00c77fff "oem" 0x00000000 4a1c0000-... e52f0000-... 8 0x00c78000 0x01d59fbf 「ユーザーデータ」 0x00000000 3b120000-... 680f0000-...
このパーティションプランは、RK3568開発ボードのマルチシステム特性に完全に適合しています。AndroidまたはOpenHarmonyシステムに切り替える必要がある場合は、ハードウェアを交換することなく、Forlinx Embeddedが提供するpartition_tool.shスクリプトを使用してパーティションテーブルを調整するだけで済みます。
3. TFTP経由でboot.imgをブートパーティションにフラッシュする
tftpflashコマンドを使用して、TFTPサーバーからeMMCの「boot」パーティション(パーティション3)にboot.imgを直接ロードします。RK3568プロセッサの高速データ処理能力により、安定したTFTP転送速度が確保され、ブートイメージのフラッシュが迅速に完了します。
tftpflashコマンドの説明: tftpflash [ロードアドレス] [ファイル名] [ターゲットパーティション名]
=> tftpflash 0x09400000 boot.img "ブート" ethernet@fe2a0000デバイスの使用 サーバー 172.16.0.177 からの TFTP; IP アドレスは 172.16.0.176 です ファイル名「boot.img」。 ロードアドレス: 0x9400000 読み込み中: ##################################################################### ################################################################# ......(中間読み込み工程を省略) ############################################### 3.1 MiB/秒 終わり 転送バイト数 = 23584256 (167de00 hex) ## TFTP で boot.img を 'boot' パーティションにサイズ 0x167de00 でフラッシュします... OK reboot # 書き込みが完了したら再起動して、ブート パーティションが正常かどうかを確認します (オプションの手順。rootfs をフラッシュした後でシステムを再起動することもできます)。
技術的なハイライト:
boot.imgにはカーネルとデバイスツリーが含まれており、そのフラッシュの安定性はシステムの起動に直接影響します。RK3568のeMMCは「不良ブロック管理」機能をサポートしています。キャリアボードの5V/12V電源保護設計と組み合わせることで、フラッシュプロセス中の電圧変動によるイメージの損傷を回避し、産業用途における長期動作要件を満たします。
4. TFTP経由でrootfs.imgをRootfsパーティションにフラッシュする
rootfs.imgには、完全なファイルシステム(/bin、/etc、/libなどのディレクトリを含む)が含まれています。これを「rootfs」パーティション(パーティション6)にフラッシュする必要があります。RK3568開発ボードのrootfsパーティションには十分な予約領域があります(このテストでのパーティションサイズは約1.9GB)。基本的なファイルシステムを収容できるだけでなく、後続の機能拡張のニーズにも対応できます。例えば、この開発ボードには1TOPSの演算能力を持つNPUが搭載されています。軽量AIアプリケーションを展開する必要がある場合、ストレージアーキテクチャを追加調整することなく、RKNN-Toolkitツール(Caffe、TensorFlow、PyTorchなどの主流モデルへのワンクリック変換をサポート)をこのファイルシステムに直接統合できます。
=> tftpflash 0x09400000 rootfs.img "rootfs" ethernet@fe2a0000デバイスの使用 サーバー 172.16.0.177 からの TFTP; IP アドレスは 172.16.0.176 です ファイル名「rootfs.img」。 ロードアドレス: 0x9400000 読み込み中: ##################################################################### ################################################################# ......(ファイルサイズが大きいため読み込み時間が若干長くなるため、中間読み込み処理は省略) ################################################################# 終わり 転送バイト数 = 1404391424 (16進数53b55000) ## TFTP で rootfs.img を 'rootfs' パーティションにサイズ 0x53b55000 でフラッシュします... OK => 再起動 # フラッシュが完了したら、開発ボードを再起動してターゲットシステムに入ります
注記:
RK3568開発ボードは、「SoM」と「キャリアボード」からなる分割設計を採用しています。SATA 3.0インターフェース経由でハードディスクを追加するなどストレージを拡張する必要がある場合や、M.2 Key-Bインターフェース経由で4G/5Gモジュールを追加してネットワークオプションを変更する必要がある場合でも、ファイルシステムを再フラッシュする必要はありません。必要なドライバーは既存のシステムに簡単にインストールできます。Forlinx Embeddedデータパッケージにはプリコンパイルされたドライバーが用意されており、機能の反復プロセスを大幅に簡素化します。
5. まとめ
Forlinx Embedded RK3568 開発ボード上で TFTP 経由でファイルシステムをフラッシュする操作は、その基本機能 (シンプルな Uboot コマンドや安定したネットワーク伝送など) の利便性を示すだけでなく、製品の中核的な利点も示します。
- 産業グレードの信頼性: EMC 保護、産業グレードの eMMC、および電源保護、複雑なオンサイト環境に適しています。
- 高いスケーラビリティ:デュアル ギガビット イーサネット、SATA3.0、および M.2 インターフェイスにより、ストレージとネットワーク機能の柔軟な拡張をサポートします。
- AI コンピューティング パワーの統合: 1 TOPS NPU は軽量 AI アプリケーションをサポートし、開発ツールをファイル システムに直接統合できます。
Forlinx Embedded の完全な技術データと技術サポートにより、開発者はイメージのフラッシュから機能拡張までの全プロセスを簡単に完了することができ、産業用制御、スマートデバイス、エッジコンピューティングなどの分野での製品実装を加速できます。
元は www.forlinx.net で公開されています。
皆様、Facebookに組み込み技術交流専用のグループを作成しました。当社のエキスパートが最新の技術トレンドや実践的なスキルを共有します。ぜひご参加いただき、共に成長しましょう!
FCU3501 エッジコンピューティングボックス: インテリジェントでフレキシブルなレーンのためのリアルタイム意思決定を実現
あなたもこのようなシナリオを経験したことがあると思います。
午前8時、市内の東西幹線道路では、左折レーンに500メートルを超える渋滞が発生していました。一方、直進レーンはほぼ空いており、交通量はまばらでした。この時、目立つフレキシブルレーンの標識は頑固に直進矢印を示していました。これは、事前に設定されたスケジュールによると、午前9時まで左折矢印に切り替わらないからです。このような光景は、毎日数え切れないほどの都市で発生しています。
従来の柔軟な車線制御は、時間戦略や集中型のクラウドスケジューリングに依存しています。前者は厳格なコマンドを実行し、後者はネットワークの遅延と中央コンピューティング能力のボトルネックによって制限されます。認識から意思決定までのプロセスが長すぎます。信号機は状況を「見る」ことはできますが、「より良い解決策を思いつく」ことはできません。
では、リアルタイムのホログラフィック知覚に基づいて、数秒または数ミリ秒以内に最適な車線制御の決定を自律的に行うことができるローカル「頭脳」を交差点に与えることはできるでしょうか?
データソースにAIを導入
答えはエッジインテリジェンスにあります。これはクラウドを置き換えるという意味ではありません。交差点におけるコアとなる認識、分析、意思決定機能をデバイス側に移管し、「エッジ認識と意思決定 + クラウドによる全体計画と最適化」という効率的な連携モデルを構築することを意味します。このモデルを実現するための鍵となるのは、強力で信頼性が高く、十分にオープンなハードウェアキャリアです。過酷な屋外環境でも継続的に動作し、複数チャネルの高解像度ビデオストリームを処理し、複雑なAIアルゴリズムを実行し、交通管制システムと直接通信できる必要があります。
Forlinx Embedded がRK3588 J 産業グレードプロセッサをベースに開発した FCU3501 AI エッジ コンピューティング ボックスは、このような需要の高いシナリオ向けに設計された専用ハードウェアです。
1. 決定論的コンピューティングパワー:「見る」から「正確に理解し判断する」へ
交差点インテリジェンスの核心は視覚認識です。FCU3501 AIエッジコンピューティングボックスに搭載された6TOPSの演算能力を持つNPUは、アルゴリズムのローカル動作のための強固な基盤を提供します。これにより、交通流検知、渋滞長分析、事故認識といったAIモデルは、ビデオストリームをクラウドに転送することなく、ローカルでリアルタイム分析を完了できます。4×Cortex-A76 + 4×Cortex-A55オクタコアCPUを統合することで、より複雑なタスクをより効率的に実行できます。
例えば、最大 16 チャンネルの 1080P 高解像度ビデオを同時に処理し、100 ミリ秒以内に各方向の交通量、車両の種類、異常イベントを正確に識別し、車線切り替えの判断に必要な正確なデータを即時に提供します。
2. 決定論的接続性:「認識 - 決定 - 制御」ループを閉じる
インテリジェンスを実装できなければ、それは単なる空想に過ぎません。豊富な産業グレードのインターフェースを通じて、意思決定を迅速に行動へとつなげることができます。
デュアルギガビットイーサネットポート:フロントエンドカメラとバックエンドネットワークに簡単に接続し、ネットワークの冗長性をサポートします。
コンピューティング パワー カードの接続のサポート:将来、より複雑な AI モデル (ホログラフィック パーセプションなど) を実行する必要がある場合、コンピューティング パワー カードを介してシームレスにアップグレードし、投資を保護することができます。
ハードドライブの接続をサポート:イベント後の追跡と分析のために、イベントビデオとトラフィックデータをローカルに保存できます。
決定論的な信頼性、過酷な環境にも耐える
インテリジェント交通設備は、24時間365日、365日連続稼働が求められます。-40℃から+85℃の広い動作温度範囲とファンレスの完全密閉型金属筐体を備えた産業グレードの設計により、屋外キャビネット内でも安定動作し、寒冷、高温、粉塵、湿気にも耐えることができます。この信頼性こそが、交差点における「エッジブレイン」が長年にわたり忠実に任務を遂行するための根本的な保証なのです。
「自動実行」から「自律インテリジェンス」へのアップグレード
FCU3501 AIエッジコンピューティングボックスのようなエッジインテリジェンスコアの導入により、インテリジェントフレキシブルレーンの制御ロジックは根本的に変化しました。
「時間指定」から「リアルタイム」へ:応答時間が時間/分から秒に短縮されました。
「集中型」から「分散型」へ:ネットワークへの依存とクラウドの圧力を軽減し、単一点障害の影響を制限し、システムの回復力を強化します。
「プリセット」から「自律」へ:リアルタイムのホログラフィック知覚データに基づいて自律的な決定を下し、リソースの使用率を最大化します。
最終的には、個々の交差点の効率性を向上させるだけでなく、将来の地域連携型インテリジェント交通ネットワークを構築するための最も重要な基盤機能も構築されます。各交差点に安定したインテリジェントな「エッジブレイン」が備われば、都市全体の交通の流れはよりスムーズかつ活発になります。
上記は、インテリジェント交差点におけるForlinx EmbeddedのFCU3501 AIエッジコンピューティングボックスの核心価値です。
