...

Linux超入門

by user

on
Category: Documents
14

views

Report

Comments

Transcript

Linux超入門
Linux 内部動作がわかればこわくない!
コーナ 高性能 ARM ボードをハード制御に活用するために
マイコン・プログラマのための
Linux 超入門
第
12 回 ちゃんとできたらプロ! …デバイス・ツリー対応
宗像 尚郎
最新 Linux でオンチップ / オンボード回路を動かす方法
描画サーバ
ユーザ・
プログラム部
windowアプリ
(描画クライアント)
ユーザLinuxアプリケーション
ファイル形式インターフェースPOSIX
(仮想)
ファイル・システム
スペシャル・
制御する
ファイル
画面イメー
ジを転送
Linux
カーネル
ソフト
ウェア
ハード
ウェア
見られる
今回解説するの
はチップ内の各
ブロックのアド
レス,
マッピング
情報のデータ
ベース部分
デバイス・
ドライバ
レジスタ
(プロセス)
スケジューラ
割り込み
コントローラ
Linuxではハード
ウェアにファイルの
ようにアクセスする
DRM
I2C
リアルタイム・
クロック
見られる
スケジュール メモリ
情報
情報
仮想メモリ空間
I/O
コントローラ
USB
DMAスレーブ
イーサ
ネット
A-D
コンバータ
I/Oバッファ
ブロック・
デバイス
DMAマスタ
レジスタ
レジスタ
I2Cインター リアルタイム・
VRAM
クロック・インター
GPU フェース
回路
フェース回路
表示制御
メモリ・
アクセス
レジスタ
レジスタ
レジスタ
アドレス
変換
D
M
A
物理メモリ空間
レジスタ
USBインター
A-D ブロック・
イーサ
デバイス・
フェース
コンバータ インター
ネット
MMU
回路
通信回路
回路
フェース回路
RAM
CPU
図 1 今回解説すること…ARM 製品をサポートする上で対応必須! デバイス・ツリーの実装方法や対応を解説
早々にデバイス・ツリー対応を行った BeagleBone Black のコードを参考にする
Linux は,x86 や ARM な ど い ろ い ろ な CPU ア ー
キテクチャやいろいろな CPU ボードでも動作するマ
ルチプラットホーム対応 OS です.前回は,Linux が
マルチプラットホームを実現するしくみと,ARM
プロセッサをサポートする上で対応が必須となった
チップ / ボード固有回路を動かすしくみデバイス・
ツリーを紹介しました(図 1).
今回は,デバイス・ツリー対応済みのボードである
BeagleBone Blackを例に,前回触れなかったデバイ
ス・ツリー関連ファイルの記述や動作を説明します.
(編集部)
● デバイス・ツリー完全対応でお手本にピッタリ!
BeagleBone Black
今回は,BeagleBone Black でデフォルトで採用され
ている 注 1 カーネル・バージョン 3.8 の Angstrom のデ
バイス・ツリー関連ファイルのコードを見ていきます.
さらに,BeagleBone Black の拡張ボード Cape をデバ
イス・ツリーでサポートする Cape Manager について
解説します.
▶ BeagleBone Black はこんなボード
BeagleBone Black は,AM335x シリーズ(テキサス・
イ ン ス ツ ル メ ン ツ )を 搭 載 し た Linux ボ ー ド で す.
注 1:最新の Revision C ではデフォルトのディストリビューショ
ンが Debian に変わりました.
134
第 1 回 電源投入からカーネルが起動するまでの動作(2013 年 11 月号)
第 2 回 仮想アドレスのメカニズム(2013 年 12 月号)
第 3 回 高性能処理のキモ! プログラム実行順序決定のメカニズム(2014 年 1 月号)
2014 年 11 月号
Fly UP