ぐだぐた低レベルプログラミング(28) RISC-Vでアセンブラ再開、環境のレストア

Joseph Halfmoon

昨年は結構RISC-Vマイコンを動かしていたのですが、RISC-V debuggerをボードから外してしまった後「疎遠」となっておりました。今回開発環境をレストア(といってデバッガ取り付けるだけですが)し、再び取り組んでみたいと思います。目標はRV32I全命令を動かしてみること。全命令というと大変そうですがRISC-Vだもんね。

“ぐだぐた低レベルプログラミング(28) RISC-Vでアセンブラ再開、環境のレストア” の続きを読む

MicroPython的午睡(42) array.array、意外に小さい使える領域

M5ATOMLite_RaspberryPiPico
Joseph Halfmoon

別件でラズパイPico上のMicroPythonを使用して、arrayモジュールを使ってみたところ、バイト要素が高々16000個以下でエラーで落ちました。他のプログラム要素の使用分もあるので一概には言えないですが、ラズパイPico搭載のSRAM量からしたらかなり小さくて予想外。どういう書き方したらどのくらいの容量が使えるのだか気になって調べてみました。対象はラズパイPicoとM5ATOM LiteのMicroPythonです。

“MicroPython的午睡(42) array.array、意外に小さい使える領域” の続きを読む

IoT何をいまさら(93) ATSAMD51、内蔵ペリフェラルの割り込み受け

TRNG Interrupt Handler
Joseph Halfmoon

前回に続き、Microchip社ATSAMD51マイコンをローレベル(ハードに近いレベル)でプログラムしていきたいと思います。今回は内蔵ペリフェラルの発生する割り込みの受けです。「割り込み源」としては前回使用してみたTRNG(真性乱数ジェネレータ)を使います。今回は単なる割り込み源としての登場です。

“IoT何をいまさら(93) ATSAMD51、内蔵ペリフェラルの割り込み受け” の続きを読む

鳥なき里のマイコン屋(136) ラズパイPico、C/C++SDKでPIO、今度は入力

PIO002DUT_Schematic
Joseph Halfmoon

ラズパイPicoのPIO(Programable IO)、前回は任意のデータの8ビットパラレル出力を行ってみました。今回は、前回の8ビット出力に加えて、4ビットのパラレル入力を追加してみたいと思います。実験用に外付け回路を追加。でもまだまだPIOアセンブラは数行、極めてシンプルであります。

“鳥なき里のマイコン屋(136) ラズパイPico、C/C++SDKでPIO、今度は入力” の続きを読む

鳥なき里のマイコン屋(135) ラズパイPico、C/C++SDKでPIO、多ビット出力

PIO 8bit output
Joseph Halfmoon

ラズパイPicoのPIOですが、MicroPythonから使う方が簡単かな~などと思う今日この頃です。でもこちらのシリーズでは気を取り押してC/C++SDKでやります。さて、前回は単純bit-bangingでしたが、今回は任意の多ビットの値をPIO使って出力してみたいと思います。こんな進捗では何時までかかることやら。まあ急ぐ理由もなし。

“鳥なき里のマイコン屋(135) ラズパイPico、C/C++SDKでPIO、多ビット出力” の続きを読む

ソフトな忘却力(1) リモート接続でLinux Cプログラミング getopt

getoptDebug
Joseph Halfmoon

なんだかな~。老人の忘却力とて、使わなければ忘れるし、使わないものはもともと覚えていないし(当然か。)このところマイコンの「クロス」開発ばかりで、ホスト上の「セルフ」がないです。普通にCとかPythonとかのプログラミングも忘れてしまいそうなので、忘却いや記憶の鍛錬を。今回はコマンドライン引数の処理、C言語編。

“ソフトな忘却力(1) リモート接続でLinux Cプログラミング getopt” の続きを読む

部品屋根性(52) 新日本無線 NJU7031/32 オペアンプでデジタル信号処理の準備

NJU7031_32
Joseph Halfmoon

先週、「Armマイコン」プログラムで学ぶデジタル信号処理(三上直樹先生、工学社刊)を購入、早速実験を始めるつもりで部品類を発注いたしました。いつもよりちょっと時間がかかったですが部品到着。まずは準備として「外付けのアナログ回路」を作成、例によってボード線図など取得して組み立て後の動作確認をいたしました。

“部品屋根性(52) 新日本無線 NJU7031/32 オペアンプでデジタル信号処理の準備” の続きを読む

忘却の微分方程式(12) 折角なので使ってみた、Wolfram+Raspberry Pi

MATHMATICAs
Joseph Halfmoon

一昨日、ラズパイ3のソフトウエアをupdateしていて気づいたのがWolframです。600MBくらいのダウンロードサイズ「でか」、ということで気づきました。そう言えば無料で使えるとあって、嬉しくインストールさせていただいたのですが、完全に忘却の彼方にありました。折角なので使い方勉強しよう、そして忘却の微分方程式に使おう、と。

“忘却の微分方程式(12) 折角なので使ってみた、Wolfram+Raspberry Pi” の続きを読む

連載小説 第52回 4ビットAI内蔵 “詠人舞衣子” の思い出

Maiko Yonbito
Momoe Sakurada
ペンネーム
桜田モモエ

<これまでのあらすじ>

サイコーエジソン株式会社の詠人舞衣子(よんびとまいこ)です。訳あって4ビットAIを内蔵しています。心理学科卒文系女子ながら先端技術製品のICを販売する米国現地法人のSS-Systemsへ赴任しちゃいました。食生活の変化で私の見事な肉体は更に水平方向へ成長しつつも、同期の工作君とトム君とも一緒に毎日忙しくやっています。Appleの青井倫吾郎さんとは、二人でお食事を楽しむご関係に発展し・・・。もしかして、近々、婚約発表? “連載小説 第52回 4ビットAI内蔵 “詠人舞衣子” の思い出” の続きを読む

お手軽ツールで今更学ぶアナログ(55) M1K復活?のAliceインピーダンスアナライザ

Mar2019DUT
Joseph Halfmoon

このところADALM1000が絶不調?で他に測定を逃げてましたが、今回「初期化」によって症状改善したみたいです。今回のテーマのインピーダンス測定は問題なく動いている感じがします(本当か?)StudentZoneの手順どおりに実験を実施、波乱もなく完了(本当か?)

“お手軽ツールで今更学ぶアナログ(55) M1K復活?のAliceインピーダンスアナライザ” の続きを読む

MicroPython的午睡(41) MQTTでPublish、M5ATOM Lite

ATOMLiteDashboard
Joseph Halfmoon

超小型デバイスM5 ATOM Liteに、MicroPythonのESP32向けgenericポートを書き込んで動かしております。前回は nptサーバに接続してRTCに時刻を設定しました。今回はMQTTブローカにPublishして、Node-REDのダッシュボードにATOM LiteのRTCの時刻を表示させてみます。

“MicroPython的午睡(41) MQTTでPublish、M5ATOM Lite” の続きを読む

ブロックを積みながら(35) Node-RED、バージョンアップしたらSQLiteがいない

ErrorSQLite
Joseph Halfmoon

Node-REDは以前からIoTネタで使わせていただいておったのです。しかし必要に応じて(泥縄式)使ってきたので、よく理解せず使っているところも大有り。この際「広く浅く」全貌をとらえるべしと思い立ち、『ブロックを積みながら』(Node-REDは「積まない」スタイルだけど)で勉強してみることにいたしました。まずは今回ソフトウエアのアップデートから。 “ブロックを積みながら(35) Node-RED、バージョンアップしたらSQLiteがいない” の続きを読む

IoT何をいまさら(92) ATSAMD51、TRNG、「真性」乱数ジェネレータ

Joseph Halfmoon

近代的なマイコンの多くにはセキュリティ目的の周辺回路が含まれており、Microchip社ATSAMD51マイコンも例外ではありません。本日はその中からTRNG(True Random Number Generator)、真性乱数生成器を使ってみたいと思います。乱数素人なので乱数についてどうこうできるわけではないのですが。 “IoT何をいまさら(92) ATSAMD51、TRNG、「真性」乱数ジェネレータ” の続きを読む