シリアルポートのボーレート変更
1.1. ボーレートの紹介
ボーレート(Baud Rate)は、データ通信において1秒間に転送されるシンボル(変調レート)の数であり、単位はボー(Baud)です。本質的にはデータ転送速度を測定するための重要な指標であり、シリアル通信における信号変化の周波数を反映しています。簡単に言えば、ボーレートはシリアルポートが1秒間に送信できる「信号単位」の数を決定します。各信号単位は1つまたは複数のビット(bit)データを運ぶことができるため、ボーレートはビットレートと密接に関連していますが、両者は完全に同じではありません(ビットレート= ボーレート × 1シンボルあたりのビット数)。
組み込みデバイスのシリアル通信において、一般的なボーレートには9600、19200、38400、115200などがあります。デバイス間でシリアル通信を行う際、送信側と受信側のボーレートは完全に一致している必要があります。一致していない場合、データ転送時の文字化け、データ損失、さらには通信不能といった問題が発生します。これはシリアル通信の基本的な前提です。
1.2. ボーレート設定の変更
1.2.1 U-BOOTのdefconfig設定の変更
-
『組み込みローレベル開発/UbuntuシステムSDK/ソースコードの取得』を参照し、SDKを取得します。
-
u-boot ディレクトリに入り、rv1126b_defconfig ファイルを変更します。
vim u-boot/configs/rv1126b_defconfig
1.2.1 U-BOOTのdefconfig設定の変更 図1

1.2.1 U-BOOTのdefconfig設定の変更 図2
1.2.2 U-BOOTのDDR BIN設定の変更
DDR BINは、DDRメモリの初期化設定ファイルです。一部のデバイスでは、シリアルポートのボーレート設定がDDR BINと関連付けられているため、ここの設定を変更しないと、デバイス起動後にシリアルポートが正常に機能しない可能性があります。その他の設定要件がある場合は、ddrbin_tool_user_guide.txtガイドをお読みください。変更手順は以下の通りです:
- RV1126BMINIALL.ini 設定の確認
rkbin/RKBOOT ディレクトリを開き、RV1126BMINIALL.ini 設定を確認します。

1.2.2 U-BOOTのDDR BIN設定の変更 図3
初期デフォルトの .bin ファイル名を確認します:rv1126b_ddr_1332MHz_v1.06.bin
- 新しい .bin ファイルのコピー
sudo cp rv1126b_ddr_1332MHz_v1.06.bin test.bin- ddrbin_tool を使用した設定
rv1126b_ddr_1332MHz_v1.06.bin ファイルの設定を取得します。
cd rkbin/tools./ddrbin_tool.py rv1126b -g gen_param.txt../bin/rv11/rv1126b_ddr_1332MHz_v1.06.bin
1.2.2 U-BOOTのDDR BIN設定の変更 図4
gen_param.txtを開くと詳細な設定パラメータを確認できます。以降は、このデフォルト設定に基づいて変更を行います。

1.2.2 U-BOOTのDDR BIN設定の変更 図5
ddrbin_param.txt の設定を行うことで、.binファイルの設定を変更します。

1.2.2 U-BOOTのDDR BIN設定の変更 図6
./ddrbin_tool.py rv1126b ddrbin_param.txt ../bin/rv11/test.bin
1.2.2 U-BOOTのDDR BIN設定の変更 図7
💡 注意 : 通常、ddrbin_param.txt内のパラメータ値は空(空白)になっています。空値は対応する .binのデフォルト値を意味します。コマンドを使用することで、test.binファイルの設定が正しいか確認できます。
RV1126BMINIALL.ini 設定の変更
vim rkbin/RKBOOT/RV1126BMINIALL.ini
1.2.2 U-BOOTのDDR BIN設定の変更 図8
1.2.3 U-BOOT設定のコンパイル
- U-BOOT設定をコンパイルします
./build.sh uboot
1.2.3 U-BOOT設定のコンパイル 図9
- コンパイル済みのU-BOOT設定をファームウェアツールに更新します。

1.2.3 U-BOOT設定のコンパイル 図10
この時点で、これら2つの設定ファイルのみを再書き込みした場合、シリアルコンソールのU-BOOT部分の出力は正常に表示されるようになりますが、カーネル(kernel)部分の出力は依然として文字化けする現象が確認できます。

1.2.3 U-BOOT設定のコンパイル 図11
したがって、すべてが正常に表示されるようにするために、引き続きカーネルの設定を行う必要があります。
1.2.4 カーネル(Kernel)設定の変更
- rv1126b-nano.dts 設定の変更
vim kernel_dev/arch/arm64/boot/dts/rockchip/rv1126b-nano.dts
1.2.4 カーネル(Kernel)設定の変更 図12
- カーネル設定のコンパイル
./build.sh kernel
1.2.4 カーネル(Kernel)設定の変更 図13
カーネルコンパイルのプロセスに不慣れな場合は、『組み込みローレベル開発/UbuntuシステムSDK/kernel』の記事をご参照ください。
- コンパイル済みのカーネル設定をファームウェアツールに更新します。

1.2.4 カーネル(Kernel)設定の変更 図14
1.2.5 再書き込み
- 更新したすべての設定をボードに再書き込み(フラッシュ)します。

1.2.5 再書き込み 図15
- 最終的に、シリアルコンソールの出力がすべて正常に表示されるようになります。

1.2.5 再書き込み 図16