ハードウェアを知る
これから扱うハードウェアに慣れていきましょう。
STM32F3DISCOVERY(「F3」)
この本では、このボードを一貫して「F3」と呼びます。以下は、この ボード上にある多くのコンポーネントの一部です:
- microcontroller。
- 「コンパス」状に並んだ8個を含む、複数の LED。
- 2つのボタン。
- 2つの USB ポート。
- accelerometer。
- magnetometer。
- gyroscope。
これらのコンポーネントの中で最も重要なのはマイクロコントローラーです(ときどき 「microcontroller unit」の略として「MCU」と呼ばれます)。これは、あなたのボードの中央に ある大きな黒い四角です。MCU があなたのコードを実行します。ときどき 「ボードをプログラミングする」と書かれているのを目にするかもしれませんが、実際に 行っているのは、ボードに搭載されている MCU をプログラミングすることです。
STM32F303VCT6(「STM32F3」)
MCU は非常に重要なので、私たちのボードに載っているものをもう少し詳しく見てみましょう。
私たちの MCU は、100 本の小さな金属製の ピン に囲まれています。これらのピンは トレース に接続されています。トレースとは、ボード上でコンポーネント同士をつなぐ 配線として機能する小さな「道路」です。MCU は、ピンの電気的特性を動的に 変化させることができます。これは、回路を流れる電流の流れ方をスイッチが変える のと似ています。特定のピンに電流が流れるようにしたり、流れないようにしたりする ことで、そのピンに接続された LED(トレース経由)を オンとオフにできます。
各メーカーは異なる型番体系を使っていますが、多くの場合、型番を見るだけで
コンポーネントに関する情報を判断できます。私たちの MCU の型番 (STM32F303VCT6) を
見ると、先頭の ST から、これが ST Microelectronics 製の部品であることが分かります。
ST’s marketing materials を調べると、次のことも分かります:
M32は、これが Arm® ベースの 32 ビットマイクロコントローラーであることを表します。F3は、この MCU が ST の「STM32F3」シリーズに属していることを表します。これは Cortex®-M4 プロセッサ設計に基づく MCU のシリーズです。- 型番の残りの部分は、追加機能や RAM サイズのようなものについて、さらに詳しい情報を 表していますが、この時点ではそれほど気にする必要はありません。
Arm? Cortex-M4?
私たちのチップを製造しているのが ST だとすると、Arm とは何でしょうか? そして、私たちの チップが STM32F3 だとすると、Cortex-M4 とは何でしょうか?
「Arm ベース」のチップが非常に 人気だと聞くと驚くかもしれませんが、「Arm」という商標の元になっている企業 (Arm Holdings)は、実際には購入可能なチップを製造していません。 代わりに、彼らの主なビジネスモデルは、チップの一部を 設計 することです。 その後、それらの設計をメーカーにライセンスし、メーカーは今度はその設計を (おそらく独自の調整をいくらか加えて)実装し、販売可能な物理ハードウェアの 形にします。ここでの Arm の戦略は、Intel のようにチップを 設計 し 製造も する企業とは異なります。
Arm はさまざまな設計をライセンス提供しています。その「Cortex-M」ファミリーの設計は 主にマイクロコントローラーのコアとして使われています。たとえば、Cortex-M0 は低コストで低消費電力になるよう設計されています。Cortex-M7 はより高価ですが、 より多くの機能と性能を備えています。私たちの STM32F3 のコアは Cortex-M4 に基づいており、これはその中間に位置します。つまり、Cortex-M0 よりも 機能と性能が高い一方で、Cortex-M7 ほど高価ではありません。
幸い、この本を進めるうえで、さまざまな種類のプロセッサや Cortex の設計についてあまり詳しく知る必要はありません。ただし、これでみなさんは 自分のデバイスの用語について少し詳しくなったはずです。みなさんが 具体的に扱っているのは STM32F3 ですが、STM32F3 は Cortex-M 設計に基づいているため、Cortex-M ベースのチップ向けの ドキュメントを読んだりツールを使ったりすることがあるかもしれません。
シリアルモジュール
古いリビジョンの discovery ボードを持っている場合は、このモジュールを使って F3 上のマイクロコントローラーとコンピューターの間でデータをやり取りできます。このモジュールは USB ケーブルを使ってコンピューターに接続します。ここではこれ以上は 説明しません。
新しいリリースのボードを持っている場合は、このモジュールは必要ありません。代わりに ST-LINK が、ピン PC4 と PC5 にあるマイクロコントローラーの USART1 に接続された USB<->シリアル コンバーターも兼ねます。
Bluetooth モジュール
このモジュールの目的はシリアルモジュールとまったく同じですが、データは Bluetooth 経由で 送信され、USB 経由ではありません。