ぐだぐだ低レベルプログラミング(121)ARM64(AArach64)LDUR/STUR

FLDUR_STUR_EC
Joseph Halfmoon

今回も「A64の命令多すぎ」感を醸し出す命令であります。浮動小数とSIMD(スカラー扱い)レジスタに対するロード、ストア命令の「一翼を担う」LDUR/STUR命令です。似たアドレシングモードはLDR/STRでも使えるのだけれども、ちょっと違うんだと。Armの八方美人的体質の成せる技?あれば使ってしまうの道理かと。

“ぐだぐだ低レベルプログラミング(121)ARM64(AArach64)LDUR/STUR” の続きを読む

鳥なき里のマイコン屋(168) PIC16F18855で吉例Hello World.

HelloWorld
Joseph Halfmoon

前回、久しぶりにMicroChip社の8ビットマイコンを使って吉例Lチカ。遥か昔の記憶でPICはメンドイという意識があったのですが、そんなことはありませんでした。MPLAB X IDEに「標準装備」されたMCCでスイスイです。今回はこれまた吉例Hello Worldを実施。UART1個しかないのに端子は2組、なぜに?
“鳥なき里のマイコン屋(168) PIC16F18855で吉例Hello World.” の続きを読む

RustにいればRustに従え(15) Rustによる ラズパイ Picoで吉例Lチカ

RaspberryPiPicoBlinkEC
Joseph Halfmoon

忘却力の年寄はRustに慣れないので過去回ではズルズルとLinux上で練習。しかしマイコン用のプログラムをRustで書くことが目標です。PC上での練習を切り上げてマイコン用のクロス開発へ突入。今回はターゲットRaspberry Pi Picoのクロス開発環境をWindows11上に構築、吉例Lチカまでやってみます。

“RustにいればRustに従え(15) Rustによる ラズパイ Picoで吉例Lチカ” の続きを読む

忘却の微分方程式(101) 反復練習64、くり返し積分その1、Maxima

repeatIntegF
Joseph Halfmoon

前回で長きにわたった「多変数関数の微分」を終えられた(ホントか?)ので、今回から「多変数関数の積分」デス。一難去ってまた一難という感じか?実際に計算しているのはMaxima先生なので私は何も苦労はないのですが。今回は積分領域Dが長方形で定数で決まる繰り返し積分。重積分へいたる中では一番お楽な感じの奴らか。
“忘却の微分方程式(101) 反復練習64、くり返し積分その1、Maxima” の続きを読む

SPICEの小瓶(32) BVエレメント使って、微分のビヘイビア・モデル

ADIFF1_DUT_WAV
Joseph Halfmoon

前回、積分回路のビヘイビア・モデルを作ったので、今回、微分回路のビヘイビア・モデルを作らんというわけにはいかんでしょう。しかし、一度禁断の荒業、BVエレメントを使ってしまったからには、積分だろうが微分だろうが一撃。簡単に作れてしまいます。その代わり純粋数学的。ちょっと気を許すとkV単位の電圧が出てきてビックリ。
“SPICEの小瓶(32) BVエレメント使って、微分のビヘイビア・モデル” の続きを読む

オプション沼(21) gcc、-Wuninitialized、最適化のときだけ働く、その2

uninitEC
Joseph Halfmoon

前回は最適化オプションの有無で挙動が異なるWarray-boundsオプションでした。同様に最適化オプションの有無が挙動に影響する警告オプションは他にもありました。今回のWuinitializedオプションもその一つです。未初期化の変数を使用しちゃったときに警告してくれるもの。Wallしていても最適化してなければザル。

“オプション沼(21) gcc、-Wuninitialized、最適化のときだけ働く、その2” の続きを読む

データのお砂場(87) R言語、volcano、ニュージーランドMaungawhau火山

volcanoCountorMap
Joseph Halfmoon

R言語所蔵のサンプルデータセットをABC順(大文字先)で見ています。今回はvolcanoとな。火山といって何処の?ニュージーランドでした。噴火の履歴的なもの?でも違いました「相手」は単成火山です。「火山業界?」における一発屋的な、1回噴いたら同じ場所では噴かない奴です。アッチで噴いて、コッチで噴いて。たまや~鍵屋~

“データのお砂場(87) R言語、volcano、ニュージーランドMaungawhau火山” の続きを読む

鳥なき里のマイコン屋(167) PIC16F18855、MPLAB IDEで吉例Lチカ

PIC16F18855_EvaBoard
Joseph Halfmoon

遠い昔、ちょこっとだけ8ビットのPICマイコンを触ったことがありました。「PIC以前の」古いマイコンに比べたら「近代的」なマイコンであったのですが、データシートを読み込んでいないと戸惑う部分も多かった記憶。しかし「今どきの」PICマイコンは自動生成ツールなど充実して「楽ちん」だそうです。使ってみたいと思います。

“鳥なき里のマイコン屋(167) PIC16F18855、MPLAB IDEで吉例Lチカ” の続きを読む

ブロックを積みながら(122) Node-RED、自前ノードのユニットテスト、Should

moreTestResults
Joseph Halfmoon

前回、Node Test Helper をつかったユニットテストを自前ノードに追加。しかしテスト・フレームワークそのものは定番の Mocha を使っています。そしてAssertionについては Should.js を利用とな。元よりJavaScript素人、目が回ります。少しずつそいつらをかじっていきたいと。

“ブロックを積みながら(122) Node-RED、自前ノードのユニットテスト、Should” の続きを読む

IoT何をいまさら(122) 泥縄で思い出す。インタプリタもどきの文法をEBNF化

EBNF_0EC
Joseph Halfmoon

前回からだいぶ間が空いてしまいました。マイコンに載せてチョイとした用途に使うつもりのインタプリタもどきをGtestを活用?して作っていましたが、ソース以外にドキュメント無。自前とは言え仕様は忘却の彼方デス。作業再開にあたってソースを読みながら文法をEBNF化(いい加減だけれども。)後付け、泥縄、いつものことか。

“IoT何をいまさら(122) 泥縄で思い出す。インタプリタもどきの文法をEBNF化” の続きを読む

手習ひデジタル信号処理(91) PythonでFMラジオデータを音声再生、RTL-SDR

AudioWave
Joseph Halfmoon

前々回前回と低価格なソフトウエア無線受信用USBドングルRTL-SDRのデータをPythonで読み取ったものをScilabへ「輸出」するためのPythonスクリプトを作ってました。今回はそのスクリプトにFM放送波形を復調して断片的ですが音響再生する機能を追加してみました。毒を食らわば皿まで?違うか。

“手習ひデジタル信号処理(91) PythonでFMラジオデータを音声再生、RTL-SDR” の続きを読む

GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合

Joseph Halfmoon

TinyGoを使ってBBC micro:bit v2を制御してます。「使ってなかった」のに「使った気でいた」ペリフェラル回路があり。SPIです。TinyGoでSAMD21マイコンで実験済、またmicro:bitのmakeCode環境でも実験済。でもTinyGoとmicro:bit v2 ではやってない。組み合わせ爆発?
“GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合” の続きを読む

MicroPython的午睡(109) ESP32版、btreeモジュールで連想配列永続化?

ESP32_Python_Btree_EC
Joseph Halfmoon

フルPython処理系でデータベース的なものを使いたいとき「お手軽な」SQLite使うことが多いデス。一方スタンドアロンなMicroPython単独でSQL系DB使うのは現実的ではないかと。しかしMicroPythonには固有の実装としてbtreeモジュールあり、標準辞書型に近い形の連想配列を「永続化」可能であります。

“MicroPython的午睡(109) ESP32版、btreeモジュールで連想配列永続化?” の続きを読む

ぐだぐだ低レベルプログラミング(120)ARM64(AArach64)Floatのストア#1

FSTR_EC
Joseph Halfmoon

ロードあればストアあり。前回前々回と浮動小数とSIMD(スカラー)のロード命令(LDR)を練習してみました。今回は対になるストア命令(STR)の練習です。ほぼ同様なアドレシングモードが使用できますが、唯一PC相対だけはありません。PC相対で指定できるのは”.TEXT”セグメントと解釈されるのでストアは対象外っと。

“ぐだぐだ低レベルプログラミング(120)ARM64(AArach64)Floatのストア#1” の続きを読む