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

トホホな疑問(1) 仮想COMポートのお名前 WSL/Cygwin/MSYS

最近、マイコン開発ボード間の接続にUARTを使うようなことを始めております。時間もないので途切れ途切れにソフトを書くしかないのですが、そのマイコン上でなければ書けないようなものならともかく、UART使った文字ベースのプログラムであれば、

パソコンの上である程度作って、デバッグしてから

マイコンに持っていけば簡単じゃん、とか思ってしまうわけです。とは言え、VCでWindowsのAPI使って書く気が起きませぬ(普段Windows上ではお手軽なC#ばかりだから)。WSL(上のUbuntu)か、Cygwinか、MSYS2か、いずれにせよ、gccで書いてマイコンのgccに持ち込むのがよろしかろう、などと考えました。しかし、まてよ、WindowsのCOMxxってその手の環境で使ったことなかった。どんなお名前で呼べば良いの?トホホな疑問です。

“トホホな疑問(1) 仮想COMポートのお名前 WSL/Cygwin/MSYS” の続きを読む

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

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

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

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

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

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

IoT何をいまさら(24) ST VL53L0X, TOF センサ

1カ月くらい前にシャープ製の三角測量原理の測距センサをいじってみましたが、モダンな測距センサの主流といえばTOF(Time Of Flight)センサでしょう。スマホにまで入りつつあるTOFセンサ、ちょっと遊んでみたくなって入手いたしました。ST Microelectronics社のVL53L0Xという型番のTOFセンサです。940nm Class 1 レーザを使用し、最小3cmから最大200cm(屋内)まで測距できるもの。このセンサに加え電源やレベル変換ICなどを搭載したモジュールを、例によって秋月通商から購入。コネクタから配線が取り出せるようになっているので、センサを「ボード」に取り付けるだけで動作します。

“IoT何をいまさら(24) ST VL53L0X, TOF センサ” の続きを読む

IoT何をいまさら(23) PythonとBottleで通信相手を作る

前回はマイコン(ノード側)の通信テストの相手にするために、Raspberry Piを使おうと思い立ち、Raspberry Piを「数年ぶりの再稼働」いたしました。数年ぶりともなると溜まるものが溜まっています。ファイルの更新作業だけで夜中までかかってしまいました。ようやく今回から、Raspberry Pi上に「テスト用のサーバーもどき」を作り始めたいと思います。お手軽重視なので、簡単に作れるものが良いな~と探したところ

Python上で動作するBottleというフレームワークが良さげ

ではないかなと考えました。Pythonでしたら普段から使っているので(Python使いの人のPythonらしいPythonコードには未だに慣れず、ごくごく普通な書き方をしておりますが)何かとお手軽。

“IoT何をいまさら(23) PythonとBottleで通信相手を作る” の続きを読む

IoT何をいまさら(22) Raspberry Pi再稼働で大慌て

このところ無線モジュールを使えそうな感じになってきたので、マイコンのセンサで取得したデータを送る先のテスト用のサーバーが必要だなと思っていたんであります。本格的になってきたら、外部のサーバー、とくにIoT向けで何かお試しできるようなサイトに登録してと思うのですが、とりあえずはマイコンの通信相手として手元に置いておきたい。でも普段づかいのPCの上でサーバー動かすのはやりたくない。ちょうどいいのがあるじゃないか

ずっと眠っているRaspberry Pi

最近のCortex-A搭載しているバージョンではなく、ARM11コアの古い版(最近でもZeroとかは同じチップ使っているようですが)です。買った当時は、Raspberry Pi 2だとか3だとか、という種別はなかったので、確か モデルB+ とだけ呼ばれていた筈。その前に持っていた(今も持っているが)プラスのつかないBが、イマイチ電源が不安定で買いなおしたやつでした。買った当時はそこそこ「遊んで」いたのですが、ここ数年、眠ったまま。でもネットには接続しているので、これを復活させればIoTのテストくらいには使えるのではないかい、と安直に考えました。

“IoT何をいまさら(22) Raspberry Pi再稼働で大慌て” の続きを読む

Literature watch returns (5) ボイジャーに学ぶ無線特集、トラ技 2019/6月号 CQ出版

連休明けには手元にあったトラ技の6月号なんでありますが、なかなか読めずにおり、ようやくに読みました。林さんのSDR連載(CICフィルタ連載というべきか)は今回お休みらしい。そこに「長距離ディジタル無線」の特集です。

ボイジャーに学ぶ

この頃、ロケットとか、間口を広げたのか、エレクトロニクスの領分が広がったというべきなのか、宇宙ものが増えた感じの「トランジスタ技術」誌なのであります。確かにボイジャー、(地球人設計による)長距離無線の記録保持者というべきか。

“Literature watch returns (5) ボイジャーに学ぶ無線特集、トラ技 2019/6月号 CQ出版” の続きを読む

IoT何をいまさら(21) ESP32、BLEとりあえずテスト

相当昔にBluetoothの解説書を読んだ記憶があるのですが、「読んだ」という記憶だけであって、何を覚えておりませぬ。ましてや規格書など読む元気もありません。今回インストールした、ESP32のATコマンドセットの最新版は、

Bluetooth Low Energy (BLE)

をサポートしています。UARTやWiFiのようにお手軽につながる訳はないのですが、とりあえず「物理的に通信している」ことくらいは確かめておきたい。

“IoT何をいまさら(21) ESP32、BLEとりあえずテスト” の続きを読む

IoT何をいまさら(20) ESP32、ATコマンド、通信のテスト

前回は、ESP32-DevkitCボードにATコマンドを解釈できるファームウエアを書き込んでPCからATコマンドが使えるようになるところまでで終わってしまいました。今回は、その残り、ということで、UARTからESP32のWiFiを使って通信できていることを確認するところまでをやっておこうと思います。しかし、通信です。相手がいないと通信の確認できません。そこでお世話になったのが

netcat

という定番のソフトウエアです。

“IoT何をいまさら(20) ESP32、ATコマンド、通信のテスト” の続きを読む

IoT何をいまさら(19) ESP32-DevKitC, ATコマンド

センサも取りそろえつつあり、また、それを制御するマイコンもいくつか使えるようになってきたので、次は無線、ということで手頃な無線モジュールを物色しておりました。IoTと言えばLPWAなど気になりますが、まずは手頃なところでWiFiとBluetoothあたりでしょうか。Webやら雑誌やらみていると最近目につくのが、中国のEspressif Systemsという会社から出ているESPという名のシリーズです。

  1. これ自体がWiFi内蔵の「マイコン」モジュールとしてプログラム可能
  2. 他のマイコンにWiFi接続を提供するための無線モジュールとしても使える

結構、あちこちで紹介されていて、簡単に使えそう、と飛びつきました。とりあえずは、2の方で他のマイコンにつなげる無線モジュールとして使ってみ、そのうち、1の「マイコン」としても使おう、という目論見です。

“IoT何をいまさら(19) ESP32-DevKitC, ATコマンド” の続きを読む

介護の隙間から(38) JRC NJL5501R その2、外乱信号

この「介護の隙間から」のシリーズに「生体計測ネタ」だからということで部品の工作ネタを投稿してしまったのはちょっと混乱している気もするのですが、始めてしまったもんは仕方ありません。続けさせていただきます。久しぶりにセンサを取り出して、回路改良、大分よくなりました。しかし電源のリップルなのか、それともオペアンプが発振してしまっているのか、振動波形が止まりませぬ。でもね、この波形、指をセンサに乗せると「止まる」感じがするのです。原因はというと。

“介護の隙間から(38) JRC NJL5501R その2、外乱信号” の続きを読む

鳥なき里のマイコン屋(58) Arduinoシールド用基板など、細かい話

昨日、Nucleoボードの上に、Arduinoシールド用ユニバーサルボードを重ね、さらにその上に24GHz帯ドップラーセンサモジュールを重ねた3段ピラミッドについて投稿いたしました。既に書いたこともありますが、ボード類に気付いたことを書き留めておきたいと思います。電気的なことじゃありません。

メカニカルな形状の話

です。でも以外と大事かも。

“鳥なき里のマイコン屋(58) Arduinoシールド用基板など、細かい話” の続きを読む