近代的なマイコンの多くにはセキュリティ目的の周辺回路が含まれており、Microchip社ATSAMD51マイコンも例外ではありません。本日はその中からTRNG(True Random Number Generator)、真性乱数生成器を使ってみたいと思います。乱数素人なので乱数についてどうこうできるわけではないのですが。 “IoT何をいまさら(92) ATSAMD51、TRNG、「真性」乱数ジェネレータ” の続きを読む
鳥なき里のマイコン屋(134) ラズパイPico、C/C++SDKでプログラマブルIO
他のマイコンでPIOと言えばパラレルIOでしょうが、ラズパイPico(のRP2040マイコン)では違います。プログラマブルIO。CPUとは独立に動作するIO専用のステートマシン。「MicroPython的午睡」シリーズで何度か使ってみましたが、C/C++から使うときはお作法が違う、ということで今回はPIO使ったオブジェクトのビルドのサンプル、bit-bangingを。
Literature watch returns(28) Armマイコンプログラムで学ぶデジタル信号処理
文字数の関係でタイトル端折ってしまいました。正確には「Armマイコン」と「」がつきます。三上直樹先生著、工学社刊2021年2月25日初版であります。デジタル信号処理、立派な教科書は数あれど最初からやり直すのはシンドイ。なにか「手っ取り早く」実験中心で楽しく体験できるもの、と思って購入させていただきました。
“Literature watch returns(28) Armマイコンプログラムで学ぶデジタル信号処理” の続きを読む
MicroPython的午睡(40) まずはネット接続してntp、M5ATOM Lite
超小型デバイスM5 ATOM Liteに、MicroPythonのESP32向けgenericポートを書き込んで動かしております。ESP32系のデバイスの売りといえば何といってもイージーなネット接続であります。まずはWiFiアクセスポイントに接続。最初はntpサーバにお願いしてRTCに時刻を設定してみます。
ブロックを積みながら(34) MakeCode、Simulator、使える?使えない?
BBC micro:bitを「ビジュアル」プログラムするのにMakeCodeエディタを使っています。気になっていたものにSimulatorがあります。LEDを操作するようなブロックを積むと勝手にそれが光る様子を画面で再現してくれるアレです。意図的に止めなければ漏れなくいつも動作中。でも使い方、よくわかりません。どこまでシミュレートしてくれるの?
IoT何をいまさら(91) ATSAMD51、CCL、極小のオンチップFPGA
最近のマイコンには従来のマイコンになかった周辺回路が搭載されているものがあります。Microchip社のATSAMD51マイコンに搭載されているCCL (Configurable Custom Logic)もそんな周辺の一つじゃないかと思います。これ、極小ながらオンチップのFPGAです。ただし、小さすぎるので用途は限られますが。 “IoT何をいまさら(91) ATSAMD51、CCL、極小のオンチップFPGA” の続きを読む
IoT何をいまさら(90) Wio Terminal、SAMD51、GCLK周波数リスト
お手軽指向などといいつつ、基本面倒なことは後回し。以前に調べておけばよかったですが、今になってちょっと「速い」クロックが欲しい、ということで初期設定後のWio Terminal上で、どのようなクロック周波数が即使えるのか調べておくことにいたしました。前々回の周波数メータの応用であります。 “IoT何をいまさら(90) Wio Terminal、SAMD51、GCLK周波数リスト” の続きを読む
鳥なき里のマイコン屋(133) ラズパイPico、C/C++SDKでマルチコアもお手軽
別シリーズのMicroPythonの方でマルチコアやっていたので、C/C++SDKでもやった気になっていました。仕切り直し。C/C++SDK環境(VS Codeでリモート接続)でマルチコアを動かして、デバッガを使ってみます。お手軽にデバッグできるんだが、腑に落ちない挙動が一つ。概ねOKだから、また今度ね。いい加減な。
MicroPython的午睡(39) “generic” ポートで見るATOM Lite
別件やっていたのでM5 ATOM LiteのMicroPythonはインストールからかなり間が空いてしまいました。気を取り直して(?)ATOM Liteに戻りたいと思います。M5シリーズ用のMicroPythonは、機種固有実装もいろいろある中で、今回使用しているのは ESP32用のgeneric版です。これで動かしておけばM5シリーズ以外にも多種あるESP32のボードに適用可能な筈。
ブロックを積みながら(33) BBC micro:bit、pin入力でevent送出
本稿、昨日予定していた内容なのですが、思わぬ伏兵に足をすくわれ本日となりました。micro:bitの誇る(?)イベントとリアクティブなシステムの応答の実験です。まあ、普段からお世話になっている仕組みではありますが。外部端子でイベント発生と、別件の処理から「イベントなりすまし」もやってみます。 “ブロックを積みながら(33) BBC micro:bit、pin入力でevent送出” の続きを読む
ブロックを積みながら(32) BBC micro:bit、digital read pin
今回は digital read pin、端子から0か1かを読み出すだけの機能について。たまたま目の前にあった「スイッチ回路」をmicro:bitに接続して端子を読み出そうとしたら、スイッチ押しても離しても0なのです。昨日、別なデバイスに接続したときはちゃんと0と1読めてたのに。なぜ? “ブロックを積みながら(32) BBC micro:bit、digital read pin” の続きを読む
IoT何をいまさら(89) Wio Terminal、外部割込みとSAMD51 EIC
前回までWio Terminal搭載のマイコンSAMD51の周辺回路を直接触ってきました。今回はArduino環境でもともと用意されている関数を使って割り込みを使用してみます。そしてそれら関数でどのようにSAMD51のEICが設定されているのか確認します。関数が用意されていない機能へのアクセスの準備ということで。 “IoT何をいまさら(89) Wio Terminal、外部割込みとSAMD51 EIC” の続きを読む
鳥なき里のマイコン屋(132) ラズパイPico、何気に便利なpicotool
あれ、このPico何書き込んであったかな?老人の忘却力とて、先週書き込んだプログラムが何だったのか思い出せない、ということは不可避なんであります。しかし流石Raspberry Pi、素晴らしいツールが用意されていました。picotool。ラズパイPicoのFlashの中のオブジェクトの情報を取り出せるツールです。
MicroPython的午睡(38) ラズパイPicoとDMA3重塔でZ80つづき
前回お手製の「DMA3重塔」を使い、ラズパイPicoのMicroPythonで、Z80(TMPZ84C015BF)のバスの制御権を奪ってプログラムROMの内容のダンプを試みました。しかし何か変。ちゃんとダンプできてる感じがしない。今回再トライ、正常にダンプできるようにはなりました。しかしイマイチ釈然としないです。
“MicroPython的午睡(38) ラズパイPicoとDMA3重塔でZ80つづき” の続きを読む