ぐだぐだ低レベルプログラミング(64) ARM64(AArch64)、シフト付きadd

addSFTc_EC
Joseph Halfmoon

Armは64ビット化するときに32ビットであった「余計なもの」を捨ててます。しかしレジスタをシフトしてから演算という命令は捨てなかったです。アドレス計算などに便利なようでいて、実はそれほど頻繁に使う分けでもない命令(個人の感想です。)RISC-Vなどは持ってない類。もはやArmの伝統といっても良い機能かと。

“ぐだぐだ低レベルプログラミング(64) ARM64(AArch64)、シフト付きadd” の続きを読む

鳥なき里のマイコン屋(156) Wio TerminalでもGo! TinyGoで5機種目

wioTerminalTinyGo
Joseph Halfmoon

マイコン上でのGo言語(TinyGo)の動作確認、Wio Terminalにて5機種目であります。米MicroChip社のATSAMD51P20搭載、Arm Cortex-M4Fコアであります。既に確認済のSeeeduino XiaoのATSAMD21マイコンの上位機種です。例によって吉例Lチカ行ってみます。

“鳥なき里のマイコン屋(156) Wio TerminalでもGo! TinyGoで5機種目” の続きを読む

手習ひデジタル信号処理(36) IIRフィルタ、直交する正弦波発生器その1

BlockDiagram
Joseph Halfmoon

前回はIIRフィルタを使って正弦波を生成でした。今回はその応用であります。直交する正弦波、要するにSin波とCos波、位相90度ずれた波の生成です。例によって今回はブロックダイアグラムをシミュレーションしてPC上で確認です。実際に三上先生の教科書のコードを実機で動作させるのはまた次回の予定。

“手習ひデジタル信号処理(36) IIRフィルタ、直交する正弦波発生器その1” の続きを読む

データのお砂場(30) R言語、UKgas、英国のガス消費量4半期毎

stPlot
Joseph Halfmoon

R言語所蔵のサンプルデータをABC順にみております。今回登場は1960年代から80年代中盤にかけての英国のガス消費量のデータです。時系列データの定番サンプル的なやつ。結構あちこちで目にするような気がします。データは天然ガス限定と書いていないですが、今や無色無臭の天然ガスも、ガス臭い、いや、きな臭くなった世界。

“データのお砂場(30) R言語、UKgas、英国のガス消費量4半期毎” の続きを読む

ブロックを積みながら(66) Node-RED、TCP requestノード

tcpEC
Joseph Halfmoon

前回はUDPパケットを対向機にECHOしてもらってUDP in/out の動作を見てみました。今回はTCP requestノードを使って 送信したTCPパケットを前回同様にECHOしてもらって動作確認したいと思います。TCPはハンドシェークが必要なので実際に流れるパケットの様子は複雑ですが、表向きは超簡単!ホントか?

“ブロックを積みながら(66) Node-RED、TCP requestノード” の続きを読む

やっつけな日常(17) スマホでGo!GoのポインタはCとは違うケド、ちょっとだけよ。

result
Joseph Halfmoon

Go言語を始めて喜んだことの一つにポインタがあります。一瞬、ポインタがあれば「やりたい放題」と思ったのですが違いました。Goのポインタはほぼ安全。Cのように不作法な操作は許してくれないことが分かりました。でもねえ、やっぱり「危ない」ポインタ操作をやりたい人はいたみたい。その名もunsafeモジュール。

“やっつけな日常(17) スマホでGo!GoのポインタはCとは違うケド、ちょっとだけよ。” の続きを読む

うさちゃんと一緒(7) TCPパケットをオウム返しでtelnet、Rabbit4000

telnet
Joseph Halfmoon

前回はUDPでしたが、今回はTCPのパケットをうさちゃん(Rabbit4000)にオウム返ししてもらいます。使うポートは23。telnetであります。Scapyも使ってみますが、TCPは3wayハンドシェイクしないといけないので本来の telnet コマンドにご登場願う、と。あれtelnetインストールしてなかった?

“うさちゃんと一緒(7) TCPパケットをオウム返しでtelnet、Rabbit4000” の続きを読む

鳥なき里のマイコン屋(155) RISC-VでもGo!TinyGoで4機種目 MaixBit

maixBitGOHELLO
Joseph Halfmoon

Go言語の動作確認、Androidスマホで始め、Linux機、Windows機でOK。TinyGoを導入し、ラズパイPicoSeeeduino XiaoBBC micro:bitと3機種でもOKです。今回はマイコン4機種目、64ビットRISC-V機、Kendryte K210搭載Sipeed MAiX Bit。

“鳥なき里のマイコン屋(155) RISC-VでもGo!TinyGoで4機種目 MaixBit” の続きを読む

モダンOSのお砂場(46) Zephyr、スレッド生成、ダブルLチカ STM32F401RE

ThreadA_VScode
Joseph Halfmoon

前回Zephyr OSのデバイスツリーの高い壁?を何とか乗り越えた?ので、今回はマルチスレッドに進みたいと思います。といっても前回作成のプログラムで2つ光らせていたLEDの片方を新設のスレッドの制御下に移すというだけのもの。なにはともあれマルチスレッド、と。

“モダンOSのお砂場(46) Zephyr、スレッド生成、ダブルLチカ STM32F401RE” の続きを読む

鳥なき里のマイコン屋(154) micro:bitでもGo!TinyGoで3機種目

BBCmicroBit_TinyGo
Joseph Halfmoon

スマホ上でGo言語を始めてハマりました。スマホでGo、パソコンでGo、ラズパイ(Linux機)でGo。そしてTinyGo処理系を導入。マイコン相手にもコンパイルしてGoです。ラズパイPico、Seeeduino XiaoとGo、今回はBBC micro:bitであります。久しぶりのmicro:bitでLチカだあ。

“鳥なき里のマイコン屋(154) micro:bitでもGo!TinyGoで3機種目” の続きを読む

ぐだぐだ低レベルプログラミング(63) ARM64(AArch64)、フラグの観察 adds

addsEC
Joseph Halfmoon

前回はArmの64ビット命令の即値Addを眺めてみました。それだけでも4形式の命令があったのですが、前回作成した命令表には、まったく同等な加算動作を行う命令Addsが隣に並んでいます。整数加算することはAddと同じですが、副作用、フラグを立てたり下ろしたりする、ということのみが違う命令です。なお演習はスマホ上です。

“ぐだぐだ低レベルプログラミング(63) ARM64(AArch64)、フラグの観察 adds” の続きを読む

AT SAMの部屋(3) XiaoでもGo! TinyGoでXiaoの吉例Lチカ

GoXiao_DUT
Joseph Halfmoon

Go言語の処理系TinyGoを使用すると、Go言語で書いたソースをMCU向けにコンパイルしてFlashに書き込み、実行可能。別シリーズにてラズパイPicoでは成功。今回はSeeeduino Xiao(Microchip SAMD21マイコン搭載)を復活、吉例LチカをTinyGoで行ってみます。母艦はWindowsPC。

“AT SAMの部屋(3) XiaoでもGo! TinyGoでXiaoの吉例Lチカ” の続きを読む

データのお砂場(29) R言語、UCBAdmmissions、UCバークレーの入試男女比?

mosaicplot000
Joseph Halfmoon

ABC順に端からサンプリングデータ、再びカテゴリカルデータの集計登場。UCバークレー校のAdmissions(入試)の学部別、男女別の合否データみたいです。出典は1975年の御本なので、相当古いデータ。しかしこのデータ「シンプソンのパラドックス」を説明するときの定番データらしいです。知らないとモグリ的なやつ?

“データのお砂場(29) R言語、UCBAdmmissions、UCバークレーの入試男女比?” の続きを読む

Pico三昧(15) PicoでもGo!Flash書き込み方法教えてもらった+VSCode

VScodeTinyGo
Joseph Halfmoon

前回、TinyGoのオブジェクトをラズパイPicoに書き込むのに「まどろっこしい」方法を書いてしまいました。そしたらば「takasago様」からツイッターで「もっといい方法」お教えいただきました。ありがとうございます。やってみました。良い感じです。今回はついでにVSCodeも使えるように。細かい躓きはいつもあり。

“Pico三昧(15) PicoでもGo!Flash書き込み方法教えてもらった+VSCode” の続きを読む