鳥なき里のマイコン屋(66) SW4STM32、デバッガを使ってみる

何でまたMbedのWeb環境があるのに、SW4STM32のローカル開発環境をわざわざインストールして、Mbedからコードをイクスポートしたかと言えば、それは

デバッガ

を使いたかったから、という一点につきます。以前、同様な理由からMbedのCLI環境をインストールしてデバッガ動かしてみましたが、正直、

CLIのコマンドを覚える記憶力が失われている気がする

ので辛い。GUIでブレークポイント張って、変数の内容くらい確かめられたらとてもハッピー。ただそれだけでございます。

“鳥なき里のマイコン屋(66) SW4STM32、デバッガを使ってみる” の続きを読む

IoT何をいまさら(28) サーミスタで温度を測る その3

『訂正』本文中のタイミング間違っています。こちらをご参照ください。

サーミスタもそろそろおしまいにして、そこからCDSのお勉強へ進もうと思いつつ、1点引っかかっていたのがサーミスタへの電流供給のOn/Off制御です。センサはOnにしておくと常時電流が流れるものが多く、使わないときにセンサへの電流の供給を止めておく、というのは、電池で駆動されるような装置では必須のことだと思います。過去見た装置の中には、

センサのデータシートの規定よりもOn時間を削り込んでいる

ような装置もありました。削り込める量は、装置を作っている側が(リスクを負って)測定して決めているのだと思いますが、電池寿命を延ばすための努力の一環でしょう。

“IoT何をいまさら(28) サーミスタで温度を測る その3” の続きを読む

鳥なき里のマイコン屋(65) SW4STM32、MbedからExportしてみる

MbedのWeb開発環境で、Nucleo用にプログラムを書いていて、気になっていたものがあるのです。Exportメニューの最初に現れてくる

SW4STM32

というツールです。そんなメニューの先頭に出てくるくらいだから、きっとMbedからの移行は簡単なのに違いない。ローカルな環境だから、GUIからデバッガ使えてきっと嬉しい。などと考えて、ちょっと触ってみることにいたしました。 “鳥なき里のマイコン屋(65) SW4STM32、MbedからExportしてみる” の続きを読む

IoT何をいまさら(27) サーミスタで温度を測る その2

昨日の続きで、サーミスタで温度を測ります。といっても、回路の方はできているので、後は「計算」するだけ。ちょろい、今日は書くことないかも、などと思っていたら、

それなりにトラブりました

なんでも高をくくっているのはよろしくないようで。

“IoT何をいまさら(27) サーミスタで温度を測る その2” の続きを読む

IoT何をいまさら(26) サーミスタで温度を測る その1

動かん動かんと困っていたのが、ピンヘッダの接触不良が原因だと分かり、情けなくなったあと、しっかりコンタクトのとれる別のブレッドボードを使って作業を再開いたしました。なんのことはない、ADコンバータ使って電圧を測るサンプル・プログラムの一つと言ってよいでしょう、

サーミスタで温度を測ろう

というのです。困っていたときに回路要素の設定やらAPIの使い方やらは、かなり「エクササイズ」してしまったので、もはや何も見ずに(実際には、エディタの入力補完があるのでAPIを覚えていなくても大丈夫)プログラムを書いてしまいます。とは言え「教科書」はあります。Cypress社の以下のアプリケーションノート

AN66477- PSoC® 3, PSoC 4, and PSoC 5LP – Temperature Measurement with a Thermistor

です。サンプルプログラムもダウンロードできるのですが、ただ、それを動かしても勉強にならないので、アプリケーションノートとAPIのドキュメントを読みながら自分で書いてみようという感じです。

“IoT何をいまさら(26) サーミスタで温度を測る その1” の続きを読む

トホホな疑問(2)ピンヘッダに泣く

本日は、トホホな「疑問」というより、トホホな「失敗」であります。久しぶりにPSoC 5LP Prototyping Kit, CY8CKIT-059 を取り出してきて、使おうとしたのです。「精度のよい」デルタ・シグマ型のADを使おうとしたのですね。蛇足ですが、廉価版?のPSoC4との違いは、こういう搭載アナログ要素の違いで明らかです。この間、少し時間が取れたときに、PSoC 5LP Prototyping Kitにはピンヘッダの足を半田付けしてあります。ただ、このキットの横幅は幅広で、普通の片側5つ孔のブレッドボードに刺すと、使える孔が1列+2列くらいになってしまい、使いずらいです。そこで、片側6つ孔のブレッドボードも注文してありました。そこで、このボードに「ぶすっ」と刺して作業を始めたわけです。

“トホホな疑問(2)ピンヘッダに泣く” の続きを読む

モダンOSのお砂場(2) Micro:bit についてちと調べてみた

教育用、と銘打って売られている「マイコン・ボード」的なもののひとつに

Micro:bit

というものがあるのをご存知かもしれません。小学生くらいを主対象にプログラミングの学習用など意図したボードのようです。世界中に蔓延っている?らしいです。調べてみると、この開発環境、如何にも「モダン」な要素にあふれています。子供相手のおもちゃなどと馬鹿にしたものじゃありません。

“モダンOSのお砂場(2) Micro:bit についてちと調べてみた” の続きを読む

介護の隙間から(39) 歩行を助けるデバイス

電子工作ばかりにかまけていて、「介護」関係、本当に隙間が広くなってしまいました。久しぶりに考えさせていただきますのは、高齢者の歩行の問題です。歳を取れば、膝が痛くなる、腰も痛くなる、バランスもとりずらくなる。とはいえ、歩けるのであれば、歩きたい。しかし、転倒は怖い。高齢者の場合、転倒から重篤な障害につながるケースもあり、安全第一。以前調べたセンサ類では、転倒を感知するようなものも多数ありましたが、

転ばぬ先の杖

転ばずに歩けるようにアシストする用具もいろいろあるようです。そしてその一部には電子デバイスの出る幕もありましたね。

“介護の隙間から(39) 歩行を助けるデバイス” の続きを読む

IoT何をいまさら(25) ATコマンドパーサ、とりあえずの自作

数日、投稿をお休みしただけで浦島太郎状態です。何やっていたのか思い出せない。そういえば、ESP32をATコマンドで制御するために何かしようとしていたのではなかったかしら、という分けで、ATコマンドのパーサ作りから「復帰」するかと思い立ちました。しかし、Ebedのライブラリなどつらつら見るに

    • ArmコピーライトのWiFi制御の例題プログラムあり
    • それ以外のソースのAT Command Parserもあり

で、その辺を「使わせてもらって」お茶を濁せば良いのでないの、という気もしないでもないです。しかし、ま、諸般の都合あり、自作することにいたしました。

“IoT何をいまさら(25) ATコマンドパーサ、とりあえずの自作” の続きを読む

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

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

Arm Keil

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

gcc –version

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

Literature Watch Returns(6) ヒューズでまる1冊、アナログウエアNo.9

トラ技の読者であれば、ご存知かと思いますが、時々、付録に小冊子「アナログウエア」というのが付いてまいります。赤い本です。小冊子といっても、本誌と同じサイズで70ページほど、それに本誌と違って広告は表紙と裏表紙の表裏に限られるので、結構読み応えのある分量です。トラ技2019年7月号には、No.9という号がついてくるのですが、

まるまる1冊ヒューズの本

でした。これがとても面白かったのです。

“Literature Watch Returns(6) ヒューズでまる1冊、アナログウエアNo.9” の続きを読む

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