ステップ3:12ビットA-D 変換器でアナログ入力を試す

第2部
第
9章
ステップ 3:12 ビット A-D 変換器でアナログ入力を試す
ダウンロード・データあります
ハードの違いに対応するための最新 Linux のしくみ
デバイス・ツリー初体験!
ステップ 3:12 ビット A-D
変換器でアナログ入力を試す
永原 柊
基板A
パソコン1
基板A専用Linux
パソコン2
単一のLinux
サーバ
BIOSなどを参照することで
ハードウェアの構成情報を得て,
対応した設定を行える
基板B
全部ARM
プロセッサ
内蔵だが…
基板B専用Linux
基板C
ハードウェアの構成情報を得る
しくみがないので個々の
Linuxが必要
基板C専用Linux
(a)パソコンの世界
(b)ARMプロセッサを使った組み込みの世界
図 1 ARM × Linux で大問題! ハードウェア構成を知るしくみがないので基板ごとに Linux が必要になる
GPIO が使えるようになれば,次はやはりアナログ
入力でしょう.BeagleBone Black は 12 ビットの逐次
比較型 A-D 変換器が用意されています.しかし,そ
れを使えるようにするには少しだけ操作が必要です.
ここでは,少し長くなりますが,なぜそのような操
作が必要なのかについて書いたあと,A-D 変換器を使
うための具体的な操作方法を説明します.
プロセッサごとに Linux を
作らないで済ませるためのしくみ
● 問題になること
Linux が動くコンピュータには多くのバリエーショ
ンがあります.例えばパソコンだけを考えても,メモ
リやディスクの容量,周辺機能の種類や数,拡張ボー
ドの有無などさまざまです.
ARM プロセッサの場合はプロセッサ単独ではな
く,それを組み込んだ IC(SoC)が数多く作られ,そ
のバリエーションがどれだけあるのかわかりません
(Appendix7).
しかもパソコンの場合は BIOS などコンピュータの
構成を把握するしくみが用意されていますが,ARM
プロセッサを使ったコンピュータには通常そういうし
2014 年 7 月号
くみはありません.
Linux が起動するとき,パソコンであれば BIOS な
どを参照することでコンピュータの構成を把握し,そ
の構成に応じた設定を行うことができます.こうする
ことで,一つの Linux でさまざまな構成のパソコンに
対応できます.
ARMプロセッサを使ったコンピュータでは,Linux
起動時にコンピュータの構成を把握する方法がありませ
ん.臨機応変に対応することができず,コンピュータの
構成ごとにそれぞれ Linuxが必要になります(図1)
.
Linux をバージョンアップする場合を考えても,一
つの Linux でさまざまな構成のコンピュータに対応で
きれば,一つだけをバージョンアップすれば済みま
す.コンピュータの構成ごとに無数の Linux があると,
バージョンアップするだけでたいへんです.
このような状況を避けるために,デバイス・ツリー
(Device Tree)と呼ばれるしくみが用いられています.
● ハードウェア構成を示すデータ構造のデバイ
ス・ツリー
問題点は,コンピュータの構成を知る手だてがない
ということでした.もしその手だてがあればパソコン
89