警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : Armadillo-640: CON3、CON4(シリアルインターフェース)をコンソールとして利用する

対象製品: Armadillo-640

u-bootでUART3をコンソールとして利用する

u-bootでUART3をコンソールとして使うためにu-bootコンフィギュレーションを変更してビルドを行います。

まず、Armadillo-640のデフォルトコンフィギュレーションを適用します。 以下のコマンドを実行してください。

[PC ~]$ cd u-boot-a600-v2018.03-at[version]
[PC ~/u-boot-a600-v2018.03-at[version]]$ make ARCH=arm armadillo-640_defconfig

次に、コンソールとしてUART3を利用するようコンフィギュレーションを変更します。
以下のコマンドを実行し、「ARM architecture」->「Console UART select」で「UART3」を選択してください。

$ make ARCH=arm menuconfig

ARM architecture ->
  Console UART select (UART1) --->
    () UART1
    (X) UART3 <-を選択

コンフィギュレーションの変更後、u-bootをビルドしてください。ビルド方法についてはArmadillo-640 製品マニュアル ブートローダーをビルドするをご覧ください。

LinuxでUART3をコンソールとして利用する

u-boot-a600-v2018.03-at3以降では、環境変数 optargs に設定されたパラメータがブートパラメータとしてLinuxカーネルに渡されます。

LinuxでUART3をコンソールとして使用するには、optargsに console=ttymxc2,115200を設定します。

ブートパラメータの設定

=> printenv optargs
## Error: "optargs" not defined
=> setenv optargs console=ttymxc2,115200

u-boot環境変数の確認

=> printenv
baudrate=115200
bootcmd=run setup_mmcargs; ext4load mmc 0:2 ${loadaddr} /boot/uImage; ext4load mmc 0:2 0x83000000 /boot/a640.dtb; bootm\
 ${loadaddr} - 0x83000000;
loadaddr=0x82000000
optargs=console=ttymxc2,115200
setup_mmcargs=setenv bootargs root=/dev/mmcblk0p2 rootwait ${optargs};
tftpboot=tftpboot uImage; tftpboot 0x83000000 a640.dtb; bootm ${loadaddr} - 0x83000000;

Environment size: 400/524284 bytes

u-boot環境変数の保存

=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK