twitter icon   twitter icon   rss icon

Linux.com Japan

Home ニュース Linux.com Exclusive BeagleBone Black 事始め: 45 ドルで買える 1GHz の ARM Linux マシン

BeagleBone Black 事始め: 45 ドルで買える 1GHz の ARM Linux マシン

原文は、こちらです。

訳注:この原文は、2013 年 6 月に公開されました。少し古いですが、BeagleBone Blackシリーズ (日本語版:BeagleBone BlackのSPIからチップをアクセスする方法BeagleBone Blackシリーズ : Linux GPIOを通して割り込みを取得する) の第 1 回として訳出しました。

  BeagleBone Black (以下 BBB) は、1GHz クロックの ARM Coretex-A8、512Mb の RAM、Linux カーネル 3.8 を持った GNU/Linux を起動できる 2Gb の eMMC フラッシュ メモリを搭載しています。イーサネット、HDMI と自由に扱える IO ピンを使うことで、組み込み Linux と Arduino の中間にあるような小型マシンを手に入れることができます。BeagleBone Black は、ARM ベースのシングルボード コンピューターの Beagle シリーズの最新作で、以前の BeagleBone の改良版と言えます。入手した BBB には、ボードと USB ケーブルが 1 本付属していました。HUB から USB ケーブル経由で電力を供給できるため、BBB 専用の電源は不要です。

BeagleBone Black の LED を点灯させるために、GPIO_7 ピンをファイルシステムにマップする必要がある

  BBB の各サイドにある 46 ピンを調べると、このボードがさまざまなハードウェア プロジェクトに適していることがわかります。BBB の構成によって、デジタル IO ピン、8 個の PWM、4 つのタイマー、7 つの 1.8V アナログ入力、シリアル UART、2 つの I2C と 3.3V もしくは 5V でアクセス可能な 2 つの SPI の構成を設定することによって、BBB を最大 65 の汎用的な用途に使うことができます。特定のピンは、複数用途に使用します。たとえば、ヘッダーのピン 17 はデジタル IO ピンとして動作しますが、I2C か SPI ピンとして使うことができます。そのため、どちらで使用するかを設定する必要があります。BBB 上の 2 つのヘッダー ブロックは、それぞれ P8、P9 として参照できます。

  BBB 上の HDMI 出力は、ボード上に "cape" を付けることで実装されています。"cape" とは、Beagle コミュニティが、ピンヘッダーに装着可能なボードのことを呼ぶ名称です。Arduino で言う Shields に相当します。BBB の HDMI 出力は、BBB 上の 2 つのヘッダーに実装されている汎用の出力ピンを使用します。特に、ヘッダー P9 の 3 つの SPI ピンと P8 ヘッダーの 30 本のピンを必要とします。そのため、HDMI ディスプレイを使用すると、P9 ヘッダーの 2/3 のピンが使えなくなります。さらに、1080 ディスプレイを使用する場合、24Hz の解像度しか得られません (システムリファレンスマニュアルの 68 ページを参照)。ソフトウェアのリビジョンアップにより、解像度の制限は解消されています。
 

BeagleBone Black を使いましょう

 初めて BBB をブートしたときに、HDMI 経由でグラフィック表示はできましたが、USB マウス、キーボードのいずれも動作しませんでした。セルフパワー HUB、バスパワー HUB のいずれでもダメでした。そのため、なにより、ソフトウェアのアップグレードが必要であることに気が付きました。BBB の eMMC に格納されている Linux ディストリビューションのアップデートのために、最新イメージから Angstrom Distribution eMMC flasher をダウンロードします。ダウンロード イメージを "unxz" で解凍し、マイクロ SD カードに "dd" で書き込みます。私が実行した Windows 的な方法を含め、さまざまな方法があります。約 4GB のイメージをマイクロ SD カードに書き込んだら、BBB の電源を切り、カードを BBB に挿入、"boot" ボタンを押下したまま電源を入れます。"boot" ボタンは、マイクロ SD カード プラグの裏側にあります。書き込み中は LED が点滅し、書き込みが終了すると LED は点灯したままになります。私のときは、約 1 時間かかりました。

eMMC のアップデート後、ネットワーク ケーブルを接続したまま BBB をブートすると、HDMI が使えないことがわかりました。ディスプレイを使用するときは、まずネットワーク ケーブルを外してブートし、そのあとにケーブルを挿入する必要があります。

720p 解像度で、デスクトップでアイドル状態、バスパワー HUB を接続し、キーボード、マウスをその HUB に接続し、ネットワークを使わないときの電力消費は 2.7W でした。イーサネット ケーブルを挿入すると、3.2W に増加します。CPU を 100% 稼働させると 3.9W に増加します。HUB (とキーボード、マウス) を外すと、0.8W 減少します。
 

GPIO ピンの使用方法

 Linux カーネルの GPIOインタフェースを使って、BBB のボード両端にあるヘッダーのピンにアクセスします。ピン 42 (GPIO_7) と、となりのグラウンド ピン 44 の間に LED を接続し、動作を見てみます。上の写真にある赤い LED です。ブート時には点灯しません。

LED を点灯させるには、GPIO_7 ピンをファイルシステムにマップさせます。GPIO ピンを export ファイルにエコーすることでできます。以下に示すように、ピン制御のために、export ファイルに gpio7 リンクを新しく作成します。ファイルの中身は 0 ですが、"high" をエコーすると LED が点灯します。

root@bbb:/sys/class/gpio# echo 7 > /sys/class/gpio/export
root@bbb:/sys/class/gpio# ls -lh
total 0
--w------- 1 root root 4.0K Jun  1 10:54 export
lrwxrwxrwx 1 root root    0 Jun  1 10:54 gpio7 -> ../../devices/virtual/gpio/gpio7
lrwxrwxrwx 1 root root    0 Jan  1  2000 gpiochip0 -> ../../devices/virtual/gpio/gpiochip0
lrwxrwxrwx 1 root root    0 Jan  1  2000 gpiochip32 -> ../../devices/virtual/gpio/gpiochip32
lrwxrwxrwx 1 root root    0 Jan  1  2000 gpiochip64 -> ../../devices/virtual/gpio/gpiochip64
lrwxrwxrwx 1 root root    0 Jan  1  2000 gpiochip96 -> ../../devices/virtual/gpio/gpiochip96
--w------- 1 root root 4.0K Jan  1  2000 unexport
root@bbb:/sys/class/gpio# cd gpio7
root@bbb:/sys/class/gpio/gpio7# cat value 
0
root@bbb:/sys/class/gpio/gpio7# echo low  > direction 
root@bbb:/sys/class/gpio/gpio7# echo high > direction 

最初の GPIO 制御チップ (32 のピンを制御している) に接続されていない GPIO ピンを使うときは、システムリファレンスマニュアルの拡張ヘッダーピン テーブル (Expansion Header Pinout table) を参照して、exports ファイルにエコーするための正確な番号を計算します。たとえば、P9 ヘッダのピン 16 にアサインされている GPIO_51 は、gpio1[19] です。これは、第 2 gpio 制御チップの 19 番目を意味しているので、exports ファイルに、32+19=51 をエコーすると、GPIO_51 にアクセスできるようになります。

 ハードウェア関係で、1 つ問題がありました。BBB に実装されている USB ポートは、ボードの裏側に実装されているマイクロ HDMI ポートと非常に接近しています。両方のポートに接続しようとすると、ケーブルの被覆が触れあいます。

 次の文献 (日本語版) では、CPU ベンチマークと、ボート上に実装されている eMMC の性能を紹介します。

Linux Foundationメンバーシップ

30人のカーネル開発者

人気コンテンツ

  1. Today's Linux 2018/10/09 2018年 10月 08日
  2. Today's Linux 2018/10/10 2018年 10月 09日
  3. Today's Linux 2018/10/12 2018年 10月 11日
  4. Today's Linux 2018/10/17 2018年 10月 16日
  5. Today's Linux 2018/10/18 2018年 10月 17日

Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!