at_kazutaka.bito
2014年11月29日 14時19分
Armadillo-400シリーズのUART2は、標準のカーネルコンフィギュレーションでは ハードフロー制御が有効になっており、make menuconfigからは設定変更できない。
そこで、ハードフロー制御を無効にできるようにする。
備考)以下の説明において、、ディレクトリ構成は、 Armadillo実践開発ガイド第1部7.2. Atmark Distを使ったルートファイルシステムの作成に基づいて環境構築しているものとする。
1. Kconfigの編集
atmark-dist/linux-2.6.x/arch/arm/mach-mx25のKconfig内で、Armadillo-410/420/440については、 デフォルトでUART2のハードフロー制御が有効になるように設定されているので、その設定を削除する。
[atde ~]$ cd atmark-dist/linux-2.6.x/arch/arm/mach-mx25
[atde ~]$ gedit Kconfig
でKconfigファイルを開いて、下記の"select SERIAL_MXC_HW_FLOW2"の行を削除する(3か所))
<select SERIAL_MXC_HW_FLOW2削除前>
config MACH_ARMADILLO410
bool "Support Atmark Techno Armadillo-410"
select SERIAL_MXC_SELECT2
select SERIAL_MXC_HW_FLOW2
help
Say 'Y' here if you want your kernel to support the
Atmark Techno Armadillo-410 board.
config MACH_ARMADILLO420
bool "Support Atmark Techno Armadillo-420"
select SERIAL_MXC_SELECT2
select SERIAL_MXC_HW_FLOW2
help
Say 'Y' here if you want your kernel to support the
Atmark Techno Armadillo-420 board.
config MACH_ARMADILLO440
bool "Support Atmark Techno Armadillo-440"
select SERIAL_MXC_SELECT2
select SERIAL_MXC_HW_FLOW2
help
Say 'Y' here if you want your kernel to support the
Atmark Techno Armadillo-440 board.
<select SERIAL_MXC_HW_FLOW2削除後>
config MACH_ARMADILLO410
bool "Support Atmark Techno Armadillo-410"
select SERIAL_MXC_SELECT2
help
Say 'Y' here if you want your kernel to support the
Atmark Techno Armadillo-410 board.
config MACH_ARMADILLO420
bool "Support Atmark Techno Armadillo-420"
select SERIAL_MXC_SELECT2
help
Say 'Y' here if you want your kernel to support the
Atmark Techno Armadillo-420 board.
config MACH_ARMADILLO440
bool "Support Atmark Techno Armadillo-440"
select SERIAL_MXC_SELECT2
help
Say 'Y' here if you want your kernel to support the
Atmark Techno Armadillo-440 board.
2. make menuconfigでUART2のハードフロー制御を無効にする
[atde ~atmark-dist]$ make menuconfig
Main Menu
Kernel/Library/Defaults Selection --->
[*] Customize Kernel Setting
でMain Menuをexitして、Kernel Configurationの画面を開いて、
Linux Kernel Configuration
System Type --->
Freescale MXC Implementations --->
MX25 Options --->
Device options --->
[ ] Enable UART2 HW Flow Control
のように、Enable UART2 HW Flow Controlに*印がないように設定する。
上記の設定をしてビルドしたカーネルイメージをArmadilloに書き込んで実行するとUART2のハードフロー制御が無効で動作する。