こんにちは、
私は i.MX プラットフォームと Android BSP を初めて使用します。
NXP Android BSPでi.MX8M Plusを使用し、CANバスと通信するディスプレイシステム(デジタルクラスター)を開発しています。
プロセスに関する私の理解が正しいかどうか確認したいのですが:-
-> NXP から Android BSP イメージ (Linux カーネルと CAN ドライバを含む) をダウンロードしてフラッシュします。
->BSP はすでに SocketCAN をサポートしているため、CAN HAL またはカーネル コードを変更する必要はありません。
-> Android Studio から、次のようなアプリを構築 CAN。
-NDK/JNI経由でC/C++を使用してSocketCANインターフェース(例:can0)を開きます
-バスからCANフレームを受信する
-それらをデコードし、Android アプリ (Java/Kotlin レイヤー) の UI 変数 (速度、RPM など) を更新します。
->FUTUREには、カメラ機能とナビゲーション機能を追加する予定で、これらも同じ Android Studio アプリに実装する予定です。
ご確認いただけますでしょうか:
-> Android BSP 環境で CAN 通信を使用する場合、この全体的なアプローチは正しいでしょうか?
-> Android Studio (JNI 経由) を使用してアプリから SocketCAN データを開いて読み取るのは正しい方法ですか?
-> カメラやナビゲーションの統合については、Android Studio(アプリケーション層)で直接開発しても問題ありませんか?
->このプロセスが正しくない場合、従うべき適切な方法またはアーキテクチャを説明していただけますか?
私はこのプラットフォームに非常に不慣れなので、CAN を使用した Android BSP 開発の正しいフローを説明する明確な説明や公式ドキュメントの参照をいただければ幸いです。
こんにちは、
ほとんどの場合、その通りです。Android Studio を使用して Android 用アプリを作成するのが最善の方法です。そのためには、Android のドキュメントを確認する必要がありますが、Android 開発者の Web ページほど適切な場所はありません。
https://developer.android.com/studio/intro
また、まず Linux で数回テストを行って、ボードと CAN インターフェースに慣れてから、Android の世界に切り替えることをお勧めします。
よろしくお願いいたします。
アルド。