ARMボード-Mini2440組込Linux移植ステップバイステップガイドライン
夢は実践から始まる
株式会社日昇テクノロジー
http://www.csun.co.jp
info@csun.co.jp
目 次
第一章 Gitのインストールと使用(Fedora 9に基づいて)	7
1.1  Gitソースコードをダウンロード	7
1.2  Gitをインストール	7
1.3 ボージョン番号をチェック	7
第二章 superviviと開発環境	8
2.1 superviviについて	8
2.1.1 最新のsuperviviとパーティションテーブル	8
2.1.2 開発ボードのsuperviviバージョンの識別方法	9
2.1.3 開発ボードのsuperviviリカバリーとアップデート	10
2.1.4 supervivi機能一覧	10
2.1.5 他のオープンソースのbootloaderを使用	12
2.1.6 最新のsuperviviについて	12
2.2 開発プラットフォームについて	13
2.3 クロスコンパイラについて	13
2.3.1 取得先	13
2.3.2 ABIとEABIについて	14
第三章 Linux-2.6.32.2カーネル移植詳しい手順	16
3.1 序説	16
3.2  Linuxカーネルソースコードを取得	16
3.3 カーネルソースコード解凍	16
3.4 クロスコンパイラの変数を指定	17
3.5 ターゲットプラットフォームを作成、クローン	18
3.5.1 マシンコードについて	18
3.5.2 クロックソース周波数の変更	21
3.5.3 SMDK2440からMINI2440まで	21
3.5.4 コンバイルテスト	22
3.6 カーネル設定メニューのmini2440オプションについて	26
3.7  Nandドライバ移植、パーティション情報変更	29
3.7.1 Linux-2.6.32.2カーネルはサポートするNand Flashタイプ	29
3.7.2 Nand Flashパーティションテーブル変更	30
3.7.3 起動情報からパーティションテーブルを調べる	34
3.8 yaffs2を移植	36
3.8.1 yaffs2ソースコードを取得	36
3.8.2 カーネルにyaffs2パッチを追加	37
3.8.3  YAFFS2をサーポートするカーネルをコンフィグ、コンパイル	38
3.8.4 開発ボードにプログラミング、実行、テスト	39
3.9 DM9000のNICドライバを移植	40
3.9.1 デバイスリソースの初期化	40
3.9.2 DM9000が使用するビット幅レジスタ調整	42
3.9.3  MACアドレスについて	42
3.9.4 カーネル設定、DM9000を追加、コンパイルとテスト	43
3.10 RTCドライバを活性化	45
3.10.1 初期化ファイルにRTCデバイス構造を追加	45
3.10.2 カーネルにRTCを設定	45
3.10.3 RTCをテスト	46
3.11 LCDバックライト•ドライバを追加	47
3.11.1  LCDバックライト•制御原理	47
3.11.2 カーネルにバックライトドライバを追加	47
3.12 LCDディスプレイドライバを移植	53
3.12.1 LCDドライバ基礎知識	53
3.12.2 新しいカーネルpixclockパラメータ	55
3.12.3 カーネルに各種LCDタイプのサポートを追加	58
3.12.4 カーネルを設定し、開発ボードにダウンロードし、テストする	64
3.13 Linux Logoを変更	65
3.13.1 コマンドラインツールでLinux LOGOを変更	65
3.13.2 グラフィカルLogoMakerでLinux LOGOを作成	66
3.14 ADCドライバ追加	69
3.14.1 S3C2440のADCとタッチ•スクリーン•インタフェースについて	69
3.14.2 カーネルにADCドライバを追加	69
3.14.3  ADCテストプログラム	77
3.15 タッチスクリーンドライバを追加(詳しい原理分析を付き)	79
3.15.1 カーネルにタッチスクリーンドライバプログラムを追加	79
3.15.2 カーネルを設定し、コンパイルし、タッチスクリーンドライバをテスト	87
3.15.3 タッチスクリーンドライバ原理の詳しい説明	88
3.16  USB外部デバイス設定	97
3.16.1  USBキ―ボード、スキャナ、マウスの設定とテスト	97
3.16.2  USBキ―ボード、スキャナ、マウスをテスト	98
3.16.3 USBメモリードライバを設定	99
3.16.4  USBメモリードライバをテスト	101
3.16.5 USBカメラの設定とテスト	102
3.16.6  USBカメラをテスト	105
3.16.7 USB無線LANの設定とテスト	107
3.16.8 USB無線LANをテスト	109
3.16.9 USBシリアル変換を設定	109
3.16.10  USBシリアル変換テスト	109
3.17  SDカードドライバを移植	110
3.17.1 カーネルにSDデバイスドライバを登録	110
3.17.2  SDカードをテスト	111
3.17.3  mini2440のSDカードドライバ分析	112
3.18  UDA1341オーディオドライバを移植	129
3.18.1 初期化ファイルにUDA1341デバイス構造を追加	129
3.18.2 カーネルにUDA1341ドライバデバイスを設定	130
3.18.3 MP3再生テスト	132
3.18.4 ドライバでのレコーディングコード修正	133
3.18.5 録音テスト	133
3.19 シリアルポートドライバを修正	134
3.19.1  UART2を一般シリアルポートドライバに変更	134
3.19.2 シリアルポートテスト	137
3.20 I2C-EEPROMドライバの移植	140
3.20.1 カーネルにI2Cドライバを設定	140
3.20.2  I2C-EEPROMをテスト	140
3.21 ウォッチドッグドライバ移植	142
3.21.1 カーネルでウォッチドッグドライバ・コンフィグ	142
3.21.2 ウォッチドッグのON/OFFについて	142
3.21.3 ウォッチドッグをテスト	144
3.22 簡単LEDドライバ	144
3.22.1  LEDドライバ原理と書き込み	144
3.22.2 新カーネルコンパイルとLEDテスト	151
3.22.3 LEDテスト	152
3.23 割り込みに基づきのボタンドライバ	154
3.23.1ハードウェア回路図	154
3.23.2 ドライバプログラム分析とコンパイル	155
3.23.3 ボタンドライバをカーネルに追加	162
3.23.4 カーネル再構成・コンフィグ	163
3.23.5 ボタンテスト	164
3.24  ブザードライバを制御するPWMを追加	166
3.24.1ハードウェア解析	166
3.24.2ドライバ追加	167
3.24.3ドライバをカーネルに追加	172
3.24.4 新しいカーネルをコンフィグとコンパイル	174
3.24.5  PWM制御ブザーテスト	174
第四章ファイルシステムについて	179
4.1 mini2440 root_qtopiaファイルシステムのスタートアッププロセスの分析	179
4.2  Busyboxでファイル•システムを構築	189
4.2.1 busyboxソースコードをダウンロード	189
4.2.2ルート•ファイル•システム•ディレクトリ・ヘルプ	189
4.2.3ルート•ファイル•システム•ディレクトリ作成	190
4.2.4ダイナミック•リンク•ライブラリーの作成	191
4.2.5 Bosyboxクロスコンパイラ	191
4.2.6 etcディレクトリ内の設定ファイル作成	193
4.2.7ルート•ファイル•システム•イメージ•ファイル作成	194
4.3 mdevの使用方法および原理	199
4.3.1 mdev使用	199
4.3.2 mdev 原理	201
4.3.3 mdevで gpio制御サンプル	201


