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のハードフロー制御が無効で動作する。