Armの64ビット命令をさらっと舐めるつもりが、add命令も既に4回目です。今回動かしてみますのが、符号拡張、ゼロ拡張、狭いビット幅のオペランドを広いビット幅に拡張してから足し込む命令です。とりあえず拡張前はバイト縛りといたしましたが、それでも選択肢が多すぎ。テストの組み合わせは8命令です。Armの命令多すぎないか。
鳥なき里のマイコン屋(157) M5StackでもGo!TinyGoで6機種目
Go言語プログラムをマイコン(MCU)へクロスコンパイルしてくれるTinyGoの動作確認M5Stackで6機種目となりました。Arm、RISC-Vとやってきましたが今回は初のESP32マイコン(Tensillica Xtensa LX6コア)です。コンパイルは問題なし、しかし書き込みに至ってちとトラブリましたです。
ブロックを積みながら(67) Node-RED、TCP in / outノード
前回は query送ってanswer受け取るスタイルのTCP requestノードを実験しました。今回は一方通行のTCP out ノードと、TCP in ノードを実験してみます。TCP out ノードで送信したパケットをそのままTCP in ノードで受け取れば実験できると。local host内で完結。お手軽。
データのお砂場(31) R言語、USAccDeaths、米国における事故死データ6年分
R言語所蔵のサンプルデータをABC順(大文字先)で端から眺めております。今回は1970年代の米国における事故死者の統計6年分です。前回に続き時系列データです。前回のガスの消費量に季節変動があるのは素直に納得できるのでありますが、事故にも季節変動があることが明らかな感じです。なぜ?
AT SAMの部屋(7) XiaoでもGo!TinyGoでポーリング、結果はChannelへ
前回端子からの割り込みやってしまいました。普通は先にポーリングだったかなあ、ということで今回は端子のポーリングしてみます。ポーリングはGoroutineにお任せして、結果はchannelで受け取ると。ついでに無関係なLEDもチカチカさせたりして並行に処理している雰囲気をだすってもんかと。ありがち?
AT SAMの部屋(6) XiaoでもGo! TinyGoでタクトスイッチからの割り込み受け
Go言語プログラムをマイコンで走らせることができるTinyGoの練習台にSeeduino Xiaoを使っております。Xiaoだろうと他のボードだろうと、ArmだろうとRISC-Vだろうと、似たようなソースで似たようなことができる気がします。ハードが異なる部分は要対応ですが。今回はスイッチからの割り込みを受けてみます。
AT SAMの部屋(5) XiaoでもGo!秋月AQM1602をTinyGoで制御してみる
Go言語で書いたプログラムをMCU上で走らせることができるTinyGoは、多くのマイコンボードをサポートしているだけでなく、定番の周辺デバイスも多数サポートしています。直接デバイスとしてのサポートが無くても、I2CやSPIといった標準インタフェースをサポートしてくれているので楽。今回は秋月製の定番LCDを接続。 “AT SAMの部屋(5) XiaoでもGo!秋月AQM1602をTinyGoで制御してみる” の続きを読む
モダンOSのお砂場(47) Zephyr、キー割り込み受け。STM32F401RE
前々回にZephyrのデバイスツリーが分かったかのようなことを書いてしまいましたが、あれは一時の気の迷いでしたね。全然分かっちゃおりませんでしたな。今回、スイッチから割り込みを受けようとしてまた迷宮に迷いこみました。そういう時は素直にサンプルソースなど真似してみるべしと。やってみました。 “モダンOSのお砂場(47) Zephyr、キー割り込み受け。STM32F401RE” の続きを読む
AT SAMの部屋(4) XiaoでもGo!Goroutineで並行処理、どこまでいけそう?
Go言語で組み込みマイコンをプログラムできることを学んだのでGoしてます。マイブームってやつです。さて、Go言語には Goroutine という「簡易的な」並行処理の仕組みがあります。他の言語にもある Coroutine のGo版かと。時間シビアな目的には適さないような気もしますが、どのくらいな感じなの?
忘却の微分方程式(47) 反復練習11、部分空間の基底1組と次元を求める Maxima
今回は、前回と「違う問題」なのだけれどMaxima上で行っている処理はといえばほぼほぼ同じ。でもま、やらないことには先に進まないのでほぼほぼ同じようなことをダラダラ実施。そんなんで良いのか?良いわけないですが。
ぐだぐだ低レベルプログラミング(64) ARM64(AArch64)、シフト付きadd
Armは64ビット化するときに32ビットであった「余計なもの」を捨ててます。しかしレジスタをシフトしてから演算という命令は捨てなかったです。アドレス計算などに便利なようでいて、実はそれほど頻繁に使う分けでもない命令(個人の感想です。)RISC-Vなどは持ってない類。もはやArmの伝統といっても良い機能かと。
鳥なき里のマイコン屋(156) Wio TerminalでもGo! TinyGoで5機種目
マイコン上でのGo言語(TinyGo)の動作確認、Wio Terminalにて5機種目であります。米MicroChip社のATSAMD51P20搭載、Arm Cortex-M4Fコアであります。既に確認済のSeeeduino XiaoのATSAMD21マイコンの上位機種です。例によって吉例Lチカ行ってみます。
手習ひデジタル信号処理(36) IIRフィルタ、直交する正弦波発生器その1
前回はIIRフィルタを使って正弦波を生成でした。今回はその応用であります。直交する正弦波、要するにSin波とCos波、位相90度ずれた波の生成です。例によって今回はブロックダイアグラムをシミュレーションしてPC上で確認です。実際に三上先生の教科書のコードを実機で動作させるのはまた次回の予定。
データのお砂場(30) R言語、UKgas、英国のガス消費量4半期毎
R言語所蔵のサンプルデータをABC順にみております。今回登場は1960年代から80年代中盤にかけての英国のガス消費量のデータです。時系列データの定番サンプル的なやつ。結構あちこちで目にするような気がします。データは天然ガス限定と書いていないですが、今や無色無臭の天然ガスも、ガス臭い、いや、きな臭くなった世界。