鳥なき里のマイコン屋(157) M5StackでもGo!TinyGoで6機種目

M5StackDUT
Joseph Halfmoon

Go言語プログラムをマイコン(MCU)へクロスコンパイルしてくれるTinyGoの動作確認M5Stackで6機種目となりました。Arm、RISC-Vとやってきましたが今回は初のESP32マイコン(Tensillica Xtensa LX6コア)です。コンパイルは問題なし、しかし書き込みに至ってちとトラブリましたです。

“鳥なき里のマイコン屋(157) M5StackでもGo!TinyGoで6機種目” の続きを読む

AT SAMの部屋(7) XiaoでもGo!TinyGoでポーリング、結果はChannelへ

pollingApin
Joseph Halfmoon

前回端子からの割り込みやってしまいました。普通は先にポーリングだったかなあ、ということで今回は端子のポーリングしてみます。ポーリングはGoroutineにお任せして、結果はchannelで受け取ると。ついでに無関係なLEDもチカチカさせたりして並行に処理している雰囲気をだすってもんかと。ありがち?

“AT SAMの部屋(7) XiaoでもGo!TinyGoでポーリング、結果はChannelへ” の続きを読む

AT SAMの部屋(6) XiaoでもGo! TinyGoでタクトスイッチからの割り込み受け

XiaoDUT_schematicA
Joseph Halfmoon

Go言語プログラムをマイコンで走らせることができるTinyGoの練習台にSeeduino Xiaoを使っております。Xiaoだろうと他のボードだろうと、ArmだろうとRISC-Vだろうと、似たようなソースで似たようなことができる気がします。ハードが異なる部分は要対応ですが。今回はスイッチからの割り込みを受けてみます。

“AT SAMの部屋(6) XiaoでもGo! TinyGoでタクトスイッチからの割り込み受け” の続きを読む

AT SAMの部屋(5) XiaoでもGo!秋月AQM1602をTinyGoで制御してみる

XiaoGoAQM1602
Joseph Halfmoon

Go言語で書いたプログラムをMCU上で走らせることができるTinyGoは、多くのマイコンボードをサポートしているだけでなく、定番の周辺デバイスも多数サポートしています。直接デバイスとしてのサポートが無くても、I2CやSPIといった標準インタフェースをサポートしてくれているので楽。今回は秋月製の定番LCDを接続。 “AT SAMの部屋(5) XiaoでもGo!秋月AQM1602をTinyGoで制御してみる” の続きを読む

モダンOSのお砂場(47) Zephyr、キー割り込み受け。STM32F401RE

KYINTR_EC
Joseph Halfmoon

前々回にZephyrのデバイスツリーが分かったかのようなことを書いてしまいましたが、あれは一時の気の迷いでしたね。全然分かっちゃおりませんでしたな。今回、スイッチから割り込みを受けようとしてまた迷宮に迷いこみました。そういう時は素直にサンプルソースなど真似してみるべしと。やってみました。 “モダンOSのお砂場(47) Zephyr、キー割り込み受け。STM32F401RE” の続きを読む

AT SAMの部屋(4) XiaoでもGo!Goroutineで並行処理、どこまでいけそう?

XiaoGoroutineEC
Joseph Halfmoon

Go言語で組み込みマイコンをプログラムできることを学んだのでGoしてます。マイブームってやつです。さて、Go言語には Goroutine という「簡易的な」並行処理の仕組みがあります。他の言語にもある Coroutine のGo版かと。時間シビアな目的には適さないような気もしますが、どのくらいな感じなの?

“AT SAMの部屋(4) XiaoでもGo!Goroutineで並行処理、どこまでいけそう?” の続きを読む

鳥なき里のマイコン屋(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機種目” の続きを読む

うさちゃんと一緒(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機種目” の続きを読む

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チカ” の続きを読む

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

VScodeTinyGo
Joseph Halfmoon

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

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

手習ひデジタル信号処理(35) IIRフィルタによる正弦波発生器その2

sin_1khz
Joseph Halfmoon

前回、IIRフィルタ(簡単なやつ?)のブロックダイアグラムをシミュレーションして正弦波らしきものが生成されることを観察しました。今回は実機で三上先生のサンプルプログラムを動かしてみます。折角なので外付け回路の「想定外」の周波数まで生成周波数を上げてみました。IIR凄い?

“手習ひデジタル信号処理(35) IIRフィルタによる正弦波発生器その2” の続きを読む