Interfaceと言う雑誌の2012年6月号に、Cortex-M3が乗ったfm3マイコン基板と言う付録がついていたので、購入したまま寝かせていた。
最近無電圧の接点出力が欲しくて、簡単な電子工作をしたくていろいろ試していた。接点の先に何が繋がるかわからないので、CPUのGPIOの出力に直接繋ぐわけにはいかず、リレーと、リレードライブ回路をCPUに繋ぐ必要があることがわかった。
まずは Raspberry pi を購入してちょっと遊んでみたが、RaspbianはLinuxなので、終了処理をちゃんとやってあげないとファイルシステムが壊れるのではないかとの不安があった。
そこで、fm3基板があったことを思い出し、若松通商で「FM3 マイコン基板 部品キット」を購入。
たくさん部品が付いてきたが、全部ハンダ付けするのは骨が折れると思い、最低限必要な部品をセレクトした。
まずは、リセットスイッチと2PINコネクタ付ケーブルをハンダ付け。黒いビニールチューブが付いてきていたので、半分に切ってケーブルに通した状態でハンダ付けした。
続いて、JP1〜JP3のピンヘッダをハンダ付けするために、3PIN×2列のピンヘッダを折って3つに分ける必要がある。
雑な性格なので、ニッパーでピンヘッダを折ろうとしたところ、一つ目は飛んでいって行方不明になり、2つ目は壊してしまい、一つしか残らなかった。
JP1とJP2の分は最低限必要なので、使わないことにした44ピンのピンヘッダを折って使うことに。
同じ失敗をしないように、カッターで切れ込みを入れて、ラジオペンチで挟んで折ってみた。
次に、部品を基板に嵌めてみて、「背の低いものから」ハンダ付け開始。
しかし、この基板はハードウェア初心者向けでは絶対ない。
32.768kHzのクリスタルなんて、ピンの幅が2mmくらいしかない。
泣きながらハンダ付けしつつ、JTAG(CN5)と電源系(インダクタのハンダ付けと、パターンカットとハンダ盛り)を残してギブアップ。
とりあえずJP1とJP2がついていればLEDをつけるくらいはできるはずなので、USBケーブルを探してきてMacに繋いでみる。
うんともすんとも言いません。
基板をよく見てみると、リセットICの足のハンダが、隣のC22と短絡しているように見えたので、修正したりしてみる。
が、やはりうんともすんとも・・・。
いろいろやる前に、最初にUSBケーブルを繋ぐくらいはやっておくべきだった・・・。
その日はそのまま諦めて、後日別のPCに別のケーブルで繋いでみたところ、USB機器として認識。冷やしたのが良かった?
さて、これでハードの準備ができたので、次は載せるアプリが必要。
デフォルトの開発環境は、KEILのMDK(μVision)で、基板のflashにプログラムを焼くのは富士通提供のFLASH USB DIRECT。
しかし、雑誌が出てからの2年の間に、μVisionは4から5にバージョンが上がり、fm3は富士通からSpansionに売却されてしまっていた。
富士通のfm3のページにはSpansionに売却された旨の記載があり、Spansionへのリンクがあったので、Spansionからデータシートやペリフェラルマニュアル等をダウンロードし、FLASH USB DIRECTをダウンロード。
ダウンロードには個人情報の提供が必要だ。
μVisionの方も、KEILに個人情報を提供すると、期間制限版か容量制限版の試用版がダウンロードできる。
雑誌のサンプルプログラム(SysTickタイマ割り込みLED点灯制御サンプル・プログラム)は、μVision5でもそのままビルドできるので、ビルドするとhexファイルが出来上がる。
基板のJP1にショートピンを刺した状態でUSBでPCと繋ぐと、USB機器として認識されるので、USB DIRECT Programmerのインストールディレクトリのdriverの下にあるデバイスドライバをインストールする。
デバドラのインストールに成功すると、COMポートが増えるので、USB DIRECT Programmerでポート番号を指定する。
Target MCUでMB9BF618S/Tを選択し、先ほどできあがったhexファイルを指定して、Full Operationボタンを押す。
実機をリセットしてOKを押せ、と言われるので、JP2に繋いだリセットスイッチを押す。
少し待ってからOKを押すと、flashの書き込みが行われる。
JP1のショートピンを外し、再度リセットすると、無事に基板上にあるLEDが点滅した。
ここまで来るのにすごく時間がかかっていて、ハマりポイントを列挙しておく。
最近無電圧の接点出力が欲しくて、簡単な電子工作をしたくていろいろ試していた。接点の先に何が繋がるかわからないので、CPUのGPIOの出力に直接繋ぐわけにはいかず、リレーと、リレードライブ回路をCPUに繋ぐ必要があることがわかった。
まずは Raspberry pi を購入してちょっと遊んでみたが、RaspbianはLinuxなので、終了処理をちゃんとやってあげないとファイルシステムが壊れるのではないかとの不安があった。
そこで、fm3基板があったことを思い出し、若松通商で「FM3 マイコン基板 部品キット」を購入。
たくさん部品が付いてきたが、全部ハンダ付けするのは骨が折れると思い、最低限必要な部品をセレクトした。
- JP1〜JP3(ピンヘッダ)
- リセットスイッチ
- CN4(7PIN×2列ピンヘッダ)
- 32.768kHz水晶振動子
- リセットIC
- CN5(10PIN×2列ピンBOX型ヘッダ
- 2.2μHインダクタ
- USBホストコネクタ標準A
まずは、リセットスイッチと2PINコネクタ付ケーブルをハンダ付け。黒いビニールチューブが付いてきていたので、半分に切ってケーブルに通した状態でハンダ付けした。
続いて、JP1〜JP3のピンヘッダをハンダ付けするために、3PIN×2列のピンヘッダを折って3つに分ける必要がある。
雑な性格なので、ニッパーでピンヘッダを折ろうとしたところ、一つ目は飛んでいって行方不明になり、2つ目は壊してしまい、一つしか残らなかった。
JP1とJP2の分は最低限必要なので、使わないことにした44ピンのピンヘッダを折って使うことに。
同じ失敗をしないように、カッターで切れ込みを入れて、ラジオペンチで挟んで折ってみた。
次に、部品を基板に嵌めてみて、「背の低いものから」ハンダ付け開始。
しかし、この基板はハードウェア初心者向けでは絶対ない。
32.768kHzのクリスタルなんて、ピンの幅が2mmくらいしかない。
泣きながらハンダ付けしつつ、JTAG(CN5)と電源系(インダクタのハンダ付けと、パターンカットとハンダ盛り)を残してギブアップ。
とりあえずJP1とJP2がついていればLEDをつけるくらいはできるはずなので、USBケーブルを探してきてMacに繋いでみる。
うんともすんとも言いません。
基板をよく見てみると、リセットICの足のハンダが、隣のC22と短絡しているように見えたので、修正したりしてみる。
が、やはりうんともすんとも・・・。
いろいろやる前に、最初にUSBケーブルを繋ぐくらいはやっておくべきだった・・・。
その日はそのまま諦めて、後日別のPCに別のケーブルで繋いでみたところ、USB機器として認識。冷やしたのが良かった?
さて、これでハードの準備ができたので、次は載せるアプリが必要。
デフォルトの開発環境は、KEILのMDK(μVision)で、基板のflashにプログラムを焼くのは富士通提供のFLASH USB DIRECT。
しかし、雑誌が出てからの2年の間に、μVisionは4から5にバージョンが上がり、fm3は富士通からSpansionに売却されてしまっていた。
富士通のfm3のページにはSpansionに売却された旨の記載があり、Spansionへのリンクがあったので、Spansionからデータシートやペリフェラルマニュアル等をダウンロードし、FLASH USB DIRECTをダウンロード。
ダウンロードには個人情報の提供が必要だ。
μVisionの方も、KEILに個人情報を提供すると、期間制限版か容量制限版の試用版がダウンロードできる。
雑誌のサンプルプログラム(SysTickタイマ割り込みLED点灯制御サンプル・プログラム)は、μVision5でもそのままビルドできるので、ビルドするとhexファイルが出来上がる。
基板のJP1にショートピンを刺した状態でUSBでPCと繋ぐと、USB機器として認識されるので、USB DIRECT Programmerのインストールディレクトリのdriverの下にあるデバイスドライバをインストールする。
デバドラのインストールに成功すると、COMポートが増えるので、USB DIRECT Programmerでポート番号を指定する。
Target MCUでMB9BF618S/Tを選択し、先ほどできあがったhexファイルを指定して、Full Operationボタンを押す。
実機をリセットしてOKを押せ、と言われるので、JP2に繋いだリセットスイッチを押す。
少し待ってからOKを押すと、flashの書き込みが行われる。
JP1のショートピンを外し、再度リセットすると、無事に基板上にあるLEDが点滅した。
ここまで来るのにすごく時間がかかっていて、ハマりポイントを列挙しておく。
- JP1がショートしている状態でないと、USBケーブルを繋いでもUSB機器として認識されない。(JP1がショートしていなくても、USBデバイスとして動作するようなアプリが書かれていれば別だが)
- Mac上のVMware Fusion 上のWindowsにつなごうとしてもうまくいかない。Fusion 4系でも6系でも駄目。デバイスとして認識して、デバイスドライバのインストールまでいけるが、その先が駄目だった。