gugen-kuroyanagi
2024年8月13日 11時59分
お世話になっております。
A6EのUART1をコンソールとして使用し、UART3は通常のシリアル通信に使用する方法はありますでしょうか?
A6の手順などを参考にしてu-bootソースビルド、カーネルソースのbootないのuart部分の変更を
実施してみたのですが期待する動作を得ることができませんでした。
手順、参考URLなどありましたらご教授いただけると助かります。
どうぞよろしくお願いいたします。
コメント
gugen-kuroyanagi
gugen-kuroyanagi
at_dominique.m…
at_dominique.m…
2024年8月13日 13時25分
gugen-kuroyanagiさん
お世話になっています、
マルティネです。
> A6EのUART1をコンソールとして使用し、UART3は通常のシリアル通信に使用する方法はありますでしょうか?
> A6の手順などを参考にしてu-bootソースビルド、カーネルソースのbootないのuart部分の変更を
> 実施してみたのですが期待する動作を得ることができませんでした。
>
> 手順、参考URLなどありましたらご教授いただけると助かります。
申し訳ございません、私が把握している限りでは Armadillo IoT A6E での実例を公開していません。
先週は弊社の営業担当者から話を伺って、金曜日に新しい情報を伝えていただいたはずですが、そちらの手順でどういう動作になっているか、また何かのエラーになったの化を教えていただけますでしょうか?
念のため、手順を以下に改めてまとめてみました。
1/ u-boot の出力を無効化する
1.a/ 「make ARCH=arm armadillo-iotg-a6e_defconfig」でデフォルトのコンフィグを適用した後に menuconfig で CONFIG_SILENT_CONSOLE を設定する
1.b/ マニュアルどおりにビルドして配置する
こちらに関しては問題ないと考えています。
2/ linux の dtb に UART1 を設定する
arch/arm/boot/dts/armadillo-iotg-a6e.dts に変更を直接に加えても問題ありませんが、今後の更新を顧慮すると dtbo (overlay) の形がいいと思いますので、dtbo で案内させていただきます。
2.a/ arch/arm/boot/dts/armadillo-600-customize.dts に以下の内容を記載します
2.b/ dtbo のビルド
2.c/ このファイルを armadillo に転送して、/boot/overlays.txt に追加します。例えば、fdt_overlays=armadillo-iotg-a6e-ems31.dtbo が記載していた場合は以下の様になります
3/ u-boot の「console」環境変数の変更
u-boot のソースに変更しても swupdate でアップデートをインストールすると Armadillo の /boot/uboot_env.d にある変数が設定されますので、
/boot/uboot_env.d/20_console 等に変数を設定します。
4/ /etc/inittab にシェルを開くコンソールの変更
armadillo にあるファイルの ttymxc2 を ttymxc0 に変更した物です。
こちらの設定は8月待つのアップデートで Armadillo 640 と同じ仕組みに変更しようと考えていますので、最後に swupdate_preserve_files に追加しませんが、必要でしたら追加してください。
ファイルを swu で転送しない場合にいくつかの注意点があります。
* 各ファイルを
persist_file [file]
で永続化してください。/boot/armadillo-600-customize-uart.dtbo はデフォルトの /etc/swupdate_preserve_files のリストに載っていないため persist_file -p が必要です。* u-boot の環境変数は swu インストール時に適用されますので、使ってない場合は「fw_setenv -s /boot/uboot_env.d/20_console」で適用してください。「fw_printenv console」で内容を確認できます。
swu を使う場合は以下の mkswu用の desc ファイルを使えるかと思います。ついでに dtbo の名前を分かりやすくリネームしました。
この手順で何かのエラーがあった場合、また期待どおりの動作にならなかった場合に聞いてください。
よろしくお願いします。