鳥なき里のマイコン屋(59) STM32CubeIDE その1

マイコン開発ツールを毎月1種類使ってみて、これを1年も続けたら開発ツールの「今」が分かるんでないかい、と思って3カ月目なのであります。3つ目インストールせずにはいられません。と言って何に手を出すか?別にSTの回し者ではないのですが、このところSTのNucleoボードを使うことが多いので、まずはこのボードに適合するツールを「網羅」すべくという目標をたてました。しかし、調べると結構いろいろあるんでありますな、開発ツール。この頃、大分淘汰されているのかと思っていたのですが、勢いのあるマイコンはサポートされる、というところなのでしょう。

“鳥なき里のマイコン屋(59) STM32CubeIDE その1” の続きを読む

鳥なき里のマイコン屋(57) Arduinoシールドでパズル?

ちょこちょことブレッドボードの上に回路を組み、いろいろ実験するつもりで並べてあります。数が増え、小さなブレッドボードとは言え、段々収拾がつかなくなってきました。

何度も実験などに使えそうな回路は半田付けで固定するか

などと思い至りました。しかし、何種類もマイコンボードを仕入れているので、できれば「互換性」ある感じにしておきたい。そこで思いついたのが、

Arduinoシールド用のユニバーサル基板で作っておく

ということです。Arduinoシールドは、Arduinoボードの上に子亀的に載せる各種機能ボードですが、自作用にユニバーサル基板も出回っています。それを使えば、Arduinoピンヘッダの上に取り付けられて「かっこもよい」。なにせ、Arduino Uno、Nucleo-F072RB、Nucleo-F401REと現状3枚のマイコンボードがArduinoピンヘッダを「しょっている」のです。マイコンはそれぞれ異なりますが、その3枚に共通の実験ボードを作れるのではないか、などと考えたわけです。しかし、なかなかそうは問屋が卸さないことが判明しました。

“鳥なき里のマイコン屋(57) Arduinoシールドでパズル?” の続きを読む

鳥なき里のマイコン屋(56) Nucleo F401RE追加

前回はPSoCのボード追加の件でしたが、今回はNucleoのボード追加です。只で貰ったNucleo F072RBがなかなか使いでが良かった上、いろいろな開発環境を試せそうだったので、もう一枚評価ボードを追加いたしました。

Nucleo F401RE

です。見かけはまったく変わり映えしないボードです。ラベルを見ないとどっちがどっちだかわかりませぬ。

“鳥なき里のマイコン屋(56) Nucleo F401RE追加” の続きを読む

鳥なき里のマイコン屋(55) CY8CKIT-059 PSoC 5LP Prototyping Kit

PSoC Creatorを使って、トラ技付録の「TSoC」基板を使ってみているうちに、ちょっと良い目のターゲットボードも欲しくなってきたんであります。物欲。まず、ハードウエアのプログラマ兼デバッガIFが欲しい。するとPSoC Creatorの上でデバッグできるし。また、付録基板のPSoC4は、かなり機能抑えめのチップ、廉価版。しばらくしたら、も少し機能が欲しくなりそう。そういうことで、表題の、

CY8CKIT-059 PSoC 5LP Prototyping Kit

を購入いたしました。

“鳥なき里のマイコン屋(55) CY8CKIT-059 PSoC 5LP Prototyping Kit” の続きを読む

鳥なき里のマイコン屋(54) PSoC Creator その3 システムタイマチックとコンパレータ

PSoC Creator、動かしてみるほどに良くできた開発ツールです。今回はコンパレータを使ってみたところ、前回の回路図エントリへの疑問が氷解しました。先だって「モダンなマイコンOS(とその開発環境)」の話を読んで思ったのですが、PSoC Creator カッコいいツールなのですが、先だっての「モダン」の範疇には入りませぬ。なぜなら

データシートを読まずにはいられない

ツールだからです。「モダン」なサイドではデータシートなど読まずとも「なんとなく」動いてしまいますが、「クラシック」なサイドでは、ドキュメントを読み、スペックを頭に入れて設計すること必須。そういう点で、PSoC Creatorは「クラシック」。しかし、クリック一発、必要なデータシートが画面に表れてくるのは実に素晴らしい。「クラシック」サイドの一つの到達点かもしれませぬ。

“鳥なき里のマイコン屋(54) PSoC Creator その3 システムタイマチックとコンパレータ” の続きを読む

鳥なき里のマイコン屋(53) PSoC Creator その2、回路図エントリにハマる

別件(別ボードでと言うべきか)でセンサなどを工作していたので、Cypress社のPSoC開発環境であるPSoc Creatorの勉強がお休みになっておりました。PSoCで工作したいセンサも出てきたので、今回は接続のための下準備を始めてみたいと思います。PSoCの「売り」であるアナログ・コンポーネントの使用に入るのですが、思わぬところでハマって一刻空費してしまいました。何のことはない、回路図の編集で「ツボにハマって」いたのです。

“鳥なき里のマイコン屋(53) PSoC Creator その2、回路図エントリにハマる” の続きを読む

鳥なき里のマイコン屋(52) トラ技の付録でPSoC Creator その1

昨日USBシリアルを準備して備えておったのは、Cypress社のPSoCの開発環境である

PSoC Creator

なんであります。開発環境やら周辺部品やらをいろいろ遊んでいくためにはターゲットボードは「何枚あっても良いな」けれども「先立つ物が」などと思っていた矢先

トラ技5月号にPSoC 4 体験キット、その名も”TSoC”

ということで付録基板が付いていました。GWの10連休中に遊ぶためにCQ出版様が付録を付けたのかとも思われます。早速、遊んでみることにいたしました。

“鳥なき里のマイコン屋(52) トラ技の付録でPSoC Creator その1” の続きを読む

鳥なき里のマイコン屋(51) USBシリアルの準備

そろそろ次の開発環境の調べに進むために、別のターゲットを準備することにいたしました。現状「虎の子」状態のNUCLEO-F072RBボードを使ってMbedで周辺デバイスを繋げるシリーズを別口で始めてしまったので、NUCLEOはしばらくMbed固定にせざるを得ないためです。その別のターゲットボードにUSB接続の口などは無くシリアル接続でした。ターゲットの接続のためにシリアルポートが必要というのは「ちょっと前なら普通」です。そこで、なにはともあれ、USBシリアル変換モジュールを準備しておくことにいたしました。

“鳥なき里のマイコン屋(51) USBシリアルの準備” の続きを読む

鳥なき里のマイコン屋(50) ARM Mbed その8、Mbed Simulator

マイコン向けの開発環境では、ホスト(大抵はパソコン)の上でオブジェクトをビルドした後、開発用のターゲットボードに刺した「エミュレータ」とか「プローブ」とか呼ばれるハードウエアの箱を通してターゲットボードにオブジェクトを「ダウンロード」して実行することが多いと思います。またエミュレータにはターゲットをデバッグするための支援機能が内蔵されており、これを呼び出して(多くはホスト上のデバッガが裏で操作しているのですが)デバッグを行います。最近の「お手軽」開発ボードでは、従来独立した箱だったエミュレータに相当する部分までボード上に搭載してしまい、直接パソコンにUSB接続してダウンロードもデバッグも行えるものが増えています。

しかし、多くの開発プロジェクトでは、ターゲットとなるハードウエアの開発と並行してそれを制御するソフトウエアも開発しないとスケジュール的に間に合わないことも多く、ソフトウエアに着手した時点ではまだターゲットボードが存在しない、という状況も多いと思います。そんな時に使われたりするのが「シミュレータ」です。多くのマイコン向け開発環境に、マイコンメーカなどが開発した「ソフトウエア・シミュレータ」が含まれており、ターゲットのハードウエア無に、ホスト上でマイコン用のオブジェクトプログラムを動作させ、テストできるようになっています。 “鳥なき里のマイコン屋(50) ARM Mbed その8、Mbed Simulator” の続きを読む

鳥なき里のマイコン屋(49) ARM Mbed その7、classの行方

開発ツールとしてのARM Mbedを調べてみるシリーズから「スピンオフ(フォークというべきか?)」する感じで、ターゲットボードにいろいろデバイスをつなげてみるシリーズを始めました。そのときに、真っ先に困ったのが、デバイスを繋げるための自分のコードを書くときに「どんなスタイルで書くのがいいの?」という点。組み込み用のマイコンのプログラミングというとCで書くのが「未だに」一般的じゃないかと思います。しかし、Mbedは基本C++で、結構カッコよくclassを使ってハードウエアの下の方を隠蔽している感じです。

“鳥なき里のマイコン屋(49) ARM Mbed その7、classの行方” の続きを読む

鳥なき里のマイコン屋(48) ARM Mbed その6、Make-GCC-ARMへイクスポート

Mbed-CLIをも少し使ってみるつもりでおりました。Mbed-CLIはOS5向けのようですが、OS2も可能という記述を見つけたので、「Mbed-CLI用」のOS2サンプルプロジェクトのimportをMbed-CLIから試みたのですが、途中で落ちてしまいました。どうせコマンドラインで作業するのであれば、Web環境から既にツールチェーンMake-GCC-ARM宛てでローカルディレクトリにイクスポート済のOS2のサンプルプロジェクトをビルドするのと大差なくね、ということで、そちらでビルドからgdbデバッグまでを通しでやってみました。実質の作業時間5分くらい。あまり簡単すぎて、本当に良いのだろうか、とも思いましたが、問題ありません。ちゃんと動いていますよ。

“鳥なき里のマイコン屋(48) ARM Mbed その6、Make-GCC-ARMへイクスポート” の続きを読む

鳥なき里のマイコン屋(47) ARM Mbed その5、OpenOCD+GDBでデバッグ

昨日、Mbed-CLI環境が立ち上がり(といっても大した作業はしていませんが)ローカル環境でビルドも成功しました。GCC_ARMのクロスツールチェーンの中を見やればgdbも入っています。これでデバッグできるかといえばさにあらず。WindowsやLinuxの上で自OSの上で動作するプログラムを作るセルフ開発であればgdbでセルフデバッグできますが、マイコン(ROM/RAM積んだマイクロコントローラ、MCU)のクロス開発環境ではそうは問屋が卸しません。リモートデバッグのための準備が必要です。

“鳥なき里のマイコン屋(47) ARM Mbed その5、OpenOCD+GDBでデバッグ” の続きを読む

鳥なき里のマイコン屋(46) ARM Mbed その4、Mbed-CLI

楽しく使わせていただいているArm Mbed環境ですが、そろそろCLI(コマンド・ライン・インタフェース)の開発環境についても触れないわけにはいきません。まず技術的な面からは、クラウドベースのMbed環境はソースコードからオブジェクトへのコンパイル(ビルド)はできるのですが、デバッガを使うことができないためです。もう一つはルール的な問題です。ソースコードをクラウド上に置いておくような開発の方法は、伝統的な会社の多くでは制限されているという点です。ソースコードの社外あるいは部門を越えた持ち出しについては、厳しく管理されている会社多いですものね。クラウドにソースを上げておくなどトンデモない、と。そんな場合にMbed-OS使えないのは世界を狭めてしまうので、クラウドにソースを置かず、ローカルで開発する手段が提供されています。

“鳥なき里のマイコン屋(46) ARM Mbed その4、Mbed-CLI” の続きを読む

鳥なき里のマイコン屋(45) ARM Mbed その3、OS2種類、どっち?

昨日も書きましたが、Mbedという「開発環境」は、Mbed-OSという「実行環境」と不可分なようです。しかし、そのOSに2種類というか2バージョンあるのです。「彼ら」の呼び方で

OS 2 と OS 5

です。途中の3とか4はどこにあるの?とか、OS 2といわれると、その昔のIBM OS/2を思い出してしまうのですがね、とか閑話休題。そんな2種類あると言われると、どっち使ったらいいものか、まずは両方調べないとならないな、などと思うのです。ところが、Webベースの開発環境で、プログラムの新規作成を選ぶと、ひな形にするテンプレートを選んだ時点で勝手にどちらかに設定されています。特になんのお断りもなし。そんなOSのバージョン知らなくても無意識に使えてしまう?のがちょっと怖い。

“鳥なき里のマイコン屋(45) ARM Mbed その3、OS2種類、どっち?” の続きを読む