macOSでRustコードをクロスコンパイルしてRPi向けのバイナリを作る

この記事では「Raspberry Pi上で動かすためのプログラムをRustで書いてmacOS (Apple Silicon) 上でビルドする方法」を解説する。最後におまけとしてLチカもやるよ🦀 RPiに限らず、「Rustのクロスコンパイルをやりたい」あるいは「crossの導入でちょっとハマった」という方の役にも立つかもしれない。 crossとは何か 今回お世話になるのが、Rustのクロスコンパイルを簡単にするcrossというプロジェクトだ。色々なターゲット用にDockerのコンテナとしてビル

続きを読む

ESP32-DevKitC + MicroPythonを試してみた

Wi-FiもBLEも使えて開発もしやすいとっても素敵なマイコンESP32のプログラムを今までCとC++で書いていたけれども、MicroPythonという便利なものがあるということで試してみた。最初はけっこう面倒だったので記録を残しておく。すべてmacOS上でやっている。 今回使ったボードはこちら。 秋月電子でも買えるよ! MicroPythonというのはどんなものか まず、MicroPythonがどんなものなのか概要を説明する。 ここにMicroPython公式のチュートリアルがある。だいたいこの通りにやれ

続きを読む

USBasp 2.0 + avrdudeでATmega328PにArduinoプログラムを書き込む

Arduinoで開発したプログラムを素のATmega328pに書き込んで自作回路で動かしたい……という場合にどうするかについてのメモ。外部クリスタルなども含めてArduinoの青いボードと同じ構成にするならArduino IDE上で完結することも可能だが、実際にはヒューズビットなどを若干変える必要があったりする。そんな場合は とりあえずArduino IDEから書き込んでみて 書き込み時に実際に実行しているコマンドを把握して avrdudeのオプションを追加したものをコマンドラインから実行 という流れで大体

続きを読む

ESP8266でmDNS (後編)

前編ではESP8266上でmDNSを動かして “http://esp8266.local” に接続してみたけれど、それに関してもうちょっと詳しい話をする。実際どんなふうに動いているのか、PC上とESP8266側の両方から眺めてみる。そして、OSごとのmDNS事情についても書く。 動いているところを見てみよう! クライアント編 前編でサンプルスケッチを試したときの様子をWiresharkでキャプチャしてみた。 クライアントとして使用したPCのIPアドレスが192.168.1.8で、ES

続きを読む

ESP8266でmDNS (前編)

ESP8266にはmDNSライブラリがある。mDNSというのはローカルネットワーク内でお手軽にホスト名の解決をしてくれる仕組みであり、けっこう世の中のネットワーク機器でこっそり使われている。mDNSがあると何が嬉しいかというと、例えば ESP8266のIPアドレスを知らなくても “http://hoge.local” といったホスト名を使って簡単にアクセスできてしまうのだ。 ESP8266との通信をするためにはIPアドレスを知る必要があるわけだが、それをどうやって伝えるか? という問

続きを読む

FRDM-KL25Zのピンソケットに貼るラベルを作ったよ / 白紙のラベルもあるよ

FRDM-KL25Zはmbedにも対応しててArduinoにもなって色々便利だし個人的にはProcessor Expertも大好きだしなかなか良いボードで、うちに5枚あるんだけど、配線のときに毎回ピンを調べるのがめんどくさいので、ピンソケットに貼るラベル作って印刷した。 一応裏面にカンペがついてるんだけれど、裏返して見るのが面倒くさいんだよね。 PDFで置いておくので、印刷して切って貼ってね。 [ダウンロード] frdm-kl25z_label.pdf (追記) 探したら意外となかったので、白紙のピンアウト

続きを読む

Mac + Kinetis Design Studioでmbedプロジェクトのビルドとデバッグ

最近mbedを始めた。クラウドコンパイラからバイナリをダウンロードしてそのままボードにドラッグアンドドロップすれば書き込めるのは便利。ローカルでのコンパイル & デバッグもできる。 こちらもFRDM-KL25Zでちょっと遊んだあと、KL25Zの載ってるカスタムボードで色々やらなきゃいけないという事情があって、普段使ってるMac + Kinetis Design Studio + J-Linkでデバッグできるようにした。ここに手順を書いておく。 まず、mbedのクラウド開発環境からローカルのマシンにエ

続きを読む

Windows 8以降でFRDM-KL25Zのファームウェアアップデートができない場合の対処法

ちょっと手持ちのFRDM-KL25Zをmbed化しようと思ったが、ブートローダをアップデートするにあたって困った事態が発生。 手持ちのボードに入っているOpenSDAのファームウェアが Version 1.11 未満の場合、Windows 7以前のマシンでないとブートローダをアップデートできない。この問題の解決法をなんとか見つけたので共有する。MacやLinuxについてはまだ試していないので御免。 まず結論 結論を書いておくと、以下のいずれかの方法で “System Volume Informa

続きを読む