鳥なき里のマイコン屋(64) Mbed、使われているコンパイラは何?

このところ、またMbedのWeb開発環境に戻って作業しています。大分慣れてきたのですが、ちょっと疑問に思うことがありました。Web開発環境の裏側では「コンパイラ」が動作している筈ですが、それはどのようなコンパイラなのかと。いろいろ見れば、Armの「純正コンパイラ」

Arm Keil

であるようですが、gccのように

gcc –version

などとやってコンパイラのバージョンとか分からないものかと思っていました。まあ、知ったからといって、コンパイラのバージョンにセンシティブなほど本格的な使い方はしていないのでありますが。心の片隅にしまわれた小さな疑問というだけのことです。 “鳥なき里のマイコン屋(64) Mbed、使われているコンパイラは何?” の続きを読む

鳥なき里のマイコン屋(63) NXPマイコンにみるMbed微妙な違い

一種類とか一社製品とかばかり見ていると知らぬ間に頭が「その常識」に囚われて、いろいろ見えなくなることがあるものです。このところ、ST社のSTM32マイコンを搭載したNucleoボードでばかり「遊んで」います。ちょっと他社のマイコン、それもArm EbedのWeb開発環境でプログラムを作れるものにもちょいと手を出しておくかいなと思いました。選んだのは、

NXP社のLPC11U35搭載のボード

です。正確に言えば、NXP社のLPC11U35マイコンを搭載したEmbedded Artists社のEA LPC11U35 QuickStart Board互換の秋月製ボードです。純正品に比べると大分お手頃だったので、つい。

“鳥なき里のマイコン屋(63) NXPマイコンにみるMbed微妙な違い” の続きを読む

モダンOSのお砂場(1) Mbed OS、スレッド、セマフォ、イベント、割り込み

RTOS(リアルタイム・オペレーティングシステム)などと言うと、とても敷居が高くて、準備するだけで数か月みたいなイメージをもっていたのですが、

モダンOS

では違うようです。今日も実働時間1時間もかからずに、何の知識もない状態から、4スレッド(一般のRTOSでは普通タスクと呼ぶけど)、セマフォにイベントフラグ、割り込みハンドラなど含めたRTOS(Ebed OS5)の練習プログラム、動いてしまいました。でも、いつもの調子で大慌てなドタバタもあったんであります。まあ、書いてみないと分からない。 “モダンOSのお砂場(1) Mbed OS、スレッド、セマフォ、イベント、割り込み” の続きを読む

鳥なき里のマイコン屋(62) DfuSeとST-LINK Utility

先日からST社のツールを使わせていただいておりますが、よく資料も読まずに作業していたので、ここに来てちゃんと資料を読もうと思いいたりました。マイコンツールの基本中の基本に、作成したプログラムを実機のプログラムメモリに書き込むときに使うオブジェクトファイルフォーマットというものあり、古くから、

    • インテルHEXフォーマット
    • モトローラSフォーマット

などというものが使われております。当然、WindowsやLinuxでもオブジェクトファイルフォーマットは存在し、PEとかELFとかが使われます。マイコン用とパソコン用の違いを簡単に述べれば、以下のような感じでしょうか。

    • パソコン用のフォーマットではOSがロードするときに番地を操作して実行可能な状態にする。相対番地で、かつ動的に実行時にリンクされる部分がある。
    • マイコン用のフォーマットでは絶対番地で静的にリンク済で即実行可能な状態である(ことが多い)。

実際には、ELFフォーマットのような相対番地のフォーマットでコンパイル、リンクまで済ませた後、バイナリツールを使って絶対番地のマイコンに転送できるHEXフォーマットに変換し、書き込みツールでマイコンに書き込む、といったことが行われます。

ST社においても、この手の操作は必須なだけに当然ツール類がサポートされています。

“鳥なき里のマイコン屋(62) DfuSeとST-LINK Utility” の続きを読む

鳥なき里のマイコン屋(61) STM32CubeIDE その3

最初はカッコよさに目が眩んでいたのですが、触ってみるとちょっと不満も出てまいります。なにせこのSTM32CubeIDEのRelease noteのRevision historyを見てみると

19-Apr-2019 Initial release

とあります。ホント出たばかり。まだ出だし、こなれていない感じもします。これからいろいろ改良されたりすると期待しています。最初は、いろいろあるんじゃないかと思います。

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

鳥なき里のマイコン屋(60) STM32CubeIDE その2

前回は、STM32CubeIDEをインストールしてプロジェクトを作ってみたところで終わってしまいました。今回は、恒例の「Lチカ」をビルドして走らせようと思うのですが、初めての環境、手探り状態です。そんな簡単な事でも、やはり初回はノーエラーとは行きません。またまたダウンロードが走り出します。

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

鳥なき里のマイコン屋(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シリアルの準備” の続きを読む