My Works
- LEDチェッカ
- 太陽電池式回路テスタ
- TTL Pong
- DSP プリセットラジオ
- 電動式 CVCC 電源装置
- OLED MP3 プレーヤ
- etc.
Report
- MIDI のハードウェア
- aitendo DSPラジオ一覧表
- etc.
Parts Collection
- Logic IC
- Calculator LSI
- CMOS Melody IC
- etc.
主な更新のみ
24/09/11
- MCU-based Melody ICs
24/08/12
- MCU-based Melody ICs
24/03/10
- Logic IC Collection
初版公開:2014/03/21
最終更新: 2015/01/11
[15/01/11] 以下は少し古い情報かもしれません。
まずは秋月電子で手に入る ARM 評価基板についてリストアップします。ここで挙げた基板は、それぞれの基板上にホストと接続するための USB コネクタとプログラミング&デバッガ用 MCU がついており、それぞれが単独で PC からプログラムできる構成になっています。したがって、PIC や AVR のように別にプログラマを購入する必要はありません。
C の開発環境は完全に無料というわけではありませんが、評価版や GCC も使えるので、それほど困らないと思います。また、以下のように STM32 評価基板の秋月価格は非常に安価ですが、いつ生産中止になってもおかしくないので、手に入るうちに手に入れておくべきといえるでしょう。
品名 | アーキテクチャ | 型番 | Flash | RAM | クロック | 周辺 | そのほか | 秋月価格 |
---|---|---|---|---|---|---|---|---|
STM32F0DISCOVERY | Cortex-M0 | 051R8 | 64k | 8k | 48M | \800 | ||
STM32F3DISCOVERY | Cortex-M4 Analog & DSP |
303VC | 256k | 48k | 72M | USB | 加速度センサ ジャイロセンサ 電子コンパス |
\950 |
STM32L-DISCOVERY | Cortex-M3 Ultra-low-power |
152RB | 128k | 16k | 32M | 4k EEP | 14seg LCD タッチセンサ |
\1150 |
STM32VLDISCOVERY | Cotrex-M3 Mainstream |
100RB | 128k | 8k | 24M | \1100 | ||
STM32F4DISCOVERY | Cortex-M4 High-performance |
407VG | 1024k | 192k | 168M | USB OTG Ethernet Ext. Mem |
加速度センサ マイクロホン D級アンプ |
\1650 |
品名 | アーキテクチャ | 型番 | Flash | RAM | クロック | 周辺 | そのほか | 秋月価格 |
---|---|---|---|---|---|---|---|---|
LPCXpresso | Cortex-M0 | LPC1114FBD48 | 32k | 8k | 50M | \2000 | ||
LPCXpresso | Cortex-M0 | LPC11U14 | 32k | 6k | 50M | USB | \2000 | |
LPCXpresso | Cortex-M0 | LPC11C24 | 32k | 8k | 50M | CAN | \2000 | |
LPCXpresso | Cortex-M0 | LPC1227 | 128k | 8k | 30M | \2000 | ||
LPCXpresso | Cortex-M3 | LPC1343 | 32k | 8k | 72M | USB | \2000 | |
LPCXpresso | Cortex-M3 | LPC1347 | 64k | 12k | 72M | USB | \2000 | |
LPCXpresso | Cortex-M3 | LPC1769 | 512k | 64k | 120M | USB OTG Ethernet |
\2500 | |
(参考) | Cortex-M0 | LPC1114FN28 | 32k | 4k | 50M | トラ技のふろく | \110 | |
(参考) | Cortex-M0 | LPC810M021FN8 | 4k | 1k | 30M | トラ技のふろく | \75 |
2012/12/08 現在(一部)
Cortex なんとかというのはアーキテクチャのグレードを示します。最新の ARM アーキテクチャは Cortex-A, Cortex-R, Cortex-M の3種類に大分されますが、組み込みで 8bit MCU 並に手軽に使えるものが Cortex-M です。Cortex-M0、M3、M4 の関係について言えば、M3 が ARM Cortex-M の最も基本となるアーキテクチャで、M0 は M3 からいくつかの命令をカットしたものとなっているようです。逆に M4 は M3 に DSP 機能と FPU を追加したものです。
最も気軽に手に入る ARM はこれでしょう。このマイコン [LPC1114FN28] は手軽な DIP パッケージで ROM が比較的大きく、最大 48MHz で動作し、入手性の良い点にメリットがあります。使ってみた印象では、ペリフェラルは AVR ほど融通は利かないのですが、コストパフォーマンスの良さからさまざまな応用が期待できそうです。開発の容易さもポイントで、少なくとも同価格帯の PIC よりははるかに楽に開発可能だと思います。その一方、ペリフェラル(周辺機能)ははっきり言ってしょぼいので、AVR や R8C なんかの方が便利に使えるシチュエーションもかなり多いと思います。
スペックシート
型名 | Flash | RAM | EEPROM | タイマ | 周辺(IF) | 周辺(その他) | 電源 | クロック | 秋月価格 |
---|---|---|---|---|---|---|---|---|---|
LPC1114FN28 | 32kB | 4kB | なし | 16bit*1 32bit*1 SysTick |
UART*1 SPI*2 I2C |
10bit ADC | 1.8 - 3.6 V | 50M 内蔵12M+PLL |
\110 |
LPC の ARM マイコンは汎用の USB-シリアル変換器を使用して簡単にプログラミング可能です。LPC1114 の書き込みの一例として、3V 系の変換モジュールを使用したプログラミング回路を上図に示します(USB-シリアルから見て回路図 2 ピンがRx, 3 ピンが Tx です)。
LPC1114 を ISP モード (ISP Command Handler) で起動することでプログラミングの準備が開始されます。 リセット時に PIO0_1 を L に保持すると ISP モードで起動します。これで PIO1_6, PIO1_7 を通してプログラムを書き込み準備ができました。
この状態での書き込みには Flash
Magic ソフトウェアを使用します。LPC1114
の設定はおおむね以下のような感じです。あとは画面に従えばフラッシュ書き込みが行えます。
以上をまとめると、書き込みプロセスは以下のようになります。
(なおデバッガを購入すれば IDE からクリック一発です。)
STマイクロの公式ドキュメントで紹介されている IDE(統合開発環境)のうち、無償で使える評価版が提供されているものは、IAR の
EWARM、KEIL の MDK-ARM、Atollic の TrueSTUDIO の 3 種類です。前 2
者の評価版は制限(コードサイズもしくは使用期限)つきの評価版が提供されています。TrueSTUDIO は サイズ制限なし の "Lite
version" が提供されています。TrueSTUDIO も無償版はコードサイズ制限 (32k (M3/M4) / 8k
(M0)) 付きです。
NXP の評価基板(LPCXpresso) については、パッケージに同封されているコードがあれば、LPCXpresso の IDE が無償で使用できます。
完全に無償の開発環境というと GCC が共通して使えます(もっと言うと有償 IDE も内部で動いているのは GCC です)。GCC + Eclipse で GUI の IDE を構築することも可能です。ただ、上の IDE と比較すると Eclipse の環境構築は慣れていないとやや面倒といえるでしょう。
無償で使える Toolchain として Launchpad のものがありますが、デバイス固有の定義などライブラリは別途必要になります。STM32 の場合は "Standard peripherals library" の中に、LPC は適当なサンプルプロジェクトから持ってきた CMSIS のヘッダファイルが使えます。 ライセンス上いいのかわかりませんが、有償 IDE で開発してフリーの GCC でコンパイルするという方法もあります。
STM32xxDISCOVERY 評価基板にはすぐ使えるサンプルプロジェクトがいくつかついていますが、それらは EWARM、MDK-ARM、TrueSTUDIO のいずれかのプロジェクトファイルで提供されています。 私はとりあえずサンプルを使うために TrueSTUDIO の Lite version をインストールしました。気づいたことを以下にメモします。
デフォルトではビルドしても HEX ファイルが出力されませんので、設定の追加が必要です。
Project -> Settings -> Tool Settings -> Other ->
Output Format
Convert build output にチェック、 Intel Hex を選択
デフォルトでは F3 で次へ検索できなかったりいろいろ不便なのでカスタマイズしましょう。
Window -> Preferences -> General -> Keys
評価版 IDE ではサイズや最適化の制限があるため、ちょっとこったアプリケーションの開発には使えないと思います。しかしながら、フリーソフトの GCC が使えるので、趣味の製作では GCC を利用しない手はありません。
GCC での開発をはじめるために、まず Launchpad から GCC Toolchain をインストールしましょう。たくさんの実行ファイルが作成されますが、主に使用するものは以下の 3 つです。
それぞれの使い方は -help 参照するか Yahoo で検索してください。
適当に作った Makefile の例を置いておきます。GCC へのパスを通してあれば、この Makefile を使うことで TrueSTUDIO で作ったプロジェクトがそのままビルドできるはずです。(なおこのファイルについてはノーサポートとします。)