
Go言語プログラムをマイコン(MCU)へクロスコンパイルしてくれるTinyGoの動作確認M5Stackで6機種目となりました。Arm、RISC-Vとやってきましたが今回は初のESP32マイコン(Tensillica Xtensa LX6コア)です。コンパイルは問題なし、しかし書き込みに至ってちとトラブリましたです。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回端子からの割り込みやってしまいました。普通は先にポーリングだったかなあ、ということで今回は端子のポーリングしてみます。ポーリングはGoroutineにお任せして、結果はchannelで受け取ると。ついでに無関係なLEDもチカチカさせたりして並行に処理している雰囲気をだすってもんかと。ありがち?
Go言語で書いたプログラムをMCU上で走らせることができるTinyGoは、多くのマイコンボードをサポートしているだけでなく、定番の周辺デバイスも多数サポートしています。直接デバイスとしてのサポートが無くても、I2CやSPIといった標準インタフェースをサポートしてくれているので楽。今回は秋月製の定番LCDを接続。 “AT SAMの部屋(5) XiaoでもGo!秋月AQM1602をTinyGoで制御してみる” の続きを読む
前々回にZephyrのデバイスツリーが分かったかのようなことを書いてしまいましたが、あれは一時の気の迷いでしたね。全然分かっちゃおりませんでしたな。今回、スイッチから割り込みを受けようとしてまた迷宮に迷いこみました。そういう時は素直にサンプルソースなど真似してみるべしと。やってみました。 “モダンOSのお砂場(47) Zephyr、キー割り込み受け。STM32F401RE” の続きを読む
マイコン上でのGo言語(TinyGo)の動作確認、Wio Terminalにて5機種目であります。米MicroChip社のATSAMD51P20搭載、Arm Cortex-M4Fコアであります。既に確認済のSeeeduino XiaoのATSAMD21マイコンの上位機種です。例によって吉例Lチカ行ってみます。
前回はUDPでしたが、今回はTCPのパケットをうさちゃん(Rabbit4000)にオウム返ししてもらいます。使うポートは23。telnetであります。Scapyも使ってみますが、TCPは3wayハンドシェイクしないといけないので本来の telnet コマンドにご登場願う、と。あれtelnetインストールしてなかった?
Go言語の動作確認、Androidスマホで始め、Linux機、Windows機でOK。TinyGoを導入し、ラズパイPico、Seeeduino Xiao、BBC micro:bitと3機種でもOKです。今回はマイコン4機種目、64ビットRISC-V機、Kendryte K210搭載Sipeed MAiX Bit。
前回Zephyr OSのデバイスツリーの高い壁?を何とか乗り越えた?ので、今回はマルチスレッドに進みたいと思います。といっても前回作成のプログラムで2つ光らせていたLEDの片方を新設のスレッドの制御下に移すというだけのもの。なにはともあれマルチスレッド、と。
Go言語の処理系TinyGoを使用すると、Go言語で書いたソースをMCU向けにコンパイルしてFlashに書き込み、実行可能。別シリーズにてラズパイPicoでは成功。今回はSeeeduino Xiao(Microchip SAMD21マイコン搭載)を復活、吉例LチカをTinyGoで行ってみます。母艦はWindowsPC。
前回、IIRフィルタ(簡単なやつ?)のブロックダイアグラムをシミュレーションして正弦波らしきものが生成されることを観察しました。今回は実機で三上先生のサンプルプログラムを動かしてみます。折角なので外付け回路の「想定外」の周波数まで生成周波数を上げてみました。IIR凄い?