前回はUDPでしたが、今回はTCPのパケットをうさちゃん(Rabbit4000)にオウム返ししてもらいます。使うポートは23。telnetであります。Scapyも使ってみますが、TCPは3wayハンドシェイクしないといけないので本来の telnet コマンドにご登場願う、と。あれtelnetインストールしてなかった?
鳥なき里のマイコン屋(155) RISC-VでもGo!TinyGoで4機種目 MaixBit
Go言語の動作確認、Androidスマホで始め、Linux機、Windows機でOK。TinyGoを導入し、ラズパイPico、Seeeduino Xiao、BBC micro:bitと3機種でもOKです。今回はマイコン4機種目、64ビットRISC-V機、Kendryte K210搭載Sipeed MAiX Bit。
モダンOSのお砂場(46) Zephyr、スレッド生成、ダブルLチカ STM32F401RE
前回Zephyr OSのデバイスツリーの高い壁?を何とか乗り越えた?ので、今回はマルチスレッドに進みたいと思います。といっても前回作成のプログラムで2つ光らせていたLEDの片方を新設のスレッドの制御下に移すというだけのもの。なにはともあれマルチスレッド、と。
鳥なき里のマイコン屋(154) micro:bitでもGo!TinyGoで3機種目
スマホ上でGo言語を始めてハマりました。スマホでGo、パソコンでGo、ラズパイ(Linux機)でGo。そしてTinyGo処理系を導入。マイコン相手にもコンパイルしてGoです。ラズパイPico、Seeeduino XiaoとGo、今回はBBC micro:bitであります。久しぶりのmicro:bitでLチカだあ。
AT SAMの部屋(3) XiaoでもGo! TinyGoでXiaoの吉例Lチカ
Go言語の処理系TinyGoを使用すると、Go言語で書いたソースをMCU向けにコンパイルしてFlashに書き込み、実行可能。別シリーズにてラズパイPicoでは成功。今回はSeeeduino Xiao(Microchip SAMD21マイコン搭載)を復活、吉例LチカをTinyGoで行ってみます。母艦はWindowsPC。
Pico三昧(15) PicoでもGo!Flash書き込み方法教えてもらった+VSCode
手習ひデジタル信号処理(35) IIRフィルタによる正弦波発生器その2
前回、IIRフィルタ(簡単なやつ?)のブロックダイアグラムをシミュレーションして正弦波らしきものが生成されることを観察しました。今回は実機で三上先生のサンプルプログラムを動かしてみます。折角なので外付け回路の「想定外」の周波数まで生成周波数を上げてみました。IIR凄い?
うさちゃんと一緒(6) Scapyから送ったUDPパケットをオウム返し、Rabbit4000
うさちゃん(Rabbit4000)相手のネットワーク通信の練習も、そろそろデータを載せてみたいです。今回は高々4文字、UDPでラズパイからうさちゃんへ、うさちゃんからラズパイへと相互にパケットを投げつけあってみたいと思います。わたしゃ止めることを全然気にしていなかったこと発覚。1つ間違えたら自分で自分にDDoS攻撃?
モダンOSのお砂場(45) Zephyr、抽象度?高っ!GPIOをトグルするまでのあれこれ
大分前にZephyr RTOSのサンプルをビルドした後進捗なく過ごしておりましたのは他でもありません、Device Treeの抽象度の高さにGPIOの端子をトグルさせるのもどうしてよいか分からない状態だったからです。その辺FreeRTOSもArm MbedOSも分かり易いのでZephyr避けてました。GWだし再開。
Pico三昧(14) PicoでもGo! TinyGoのオブジェクトがPico上で走るまで
別シリーズでGo言語を勉強したりしているのですが、インタプリットもでき、バイナリにビルドもできでなかなか良いものです。マイクロコントローラでもGoのオブジェクトを走らせられるということで今回やってみましたです。ターゲットはラズパイPico。その母艦は例によってラズパイ4です。C/C++SDKと同様で実行可能。
MicroPython的午睡(67) ラズパイPico、5V信号IF取り付け、動作確認
進捗が捗々しくなかったのは大したことない配線本数を敬遠していたからに違いありません。何時までもメンドイなどと言っていると一生できないのでGWでもあり配線することにいたしました。ラズパイPicoに5V系のあるデバイスを接続する一件であります。重い腰を上げた今回は5V変換チップを接続して動作チェックまで。刻むね、自分。
うさちゃんと一緒(5) ScapyでARPしてICMP、一歩づつ? Rabbit 4000
ふと見ると「うさちゃん」ボードに薄っすらと埃が積もってました(うさちゃんの御近影は冒頭に。)前回から大分間が空いてしまいました。今回は前回の続きでARPパケットにお返事をもらい、リプライの中から必要な情報を取り出し、次なる送信パケットを組み立てたいと思います。
手習ひデジタル信号処理(33) sin関数とFastSin関数の実行サイクル数測定
前回は正弦波を計算で生成するためにミニマックス近似を使ったFastSin関数を使わせていただきました。12ビットの精度なら十分使えて「速い」と三上先生の御本にはあるのです。しかしどのくらい速いのだか気になります。今回は実機(Arm Cortex-M4F)上でどのくらい速いのだか測定してみたいと思います。
モダンOSのお砂場(44) Mbed OS6、SemaphoreでISRの中から排他制御
前回Mutex(2つあるうちのRTOS Mutexと呼ばれている方)を使ってみました。スレッド間の同期には有効なAPIですが、残念ながらISR(割り込みサービスルーチン)との間では使用できません。そこで今回はSemaphoreを使って、ISRとThreadの間で排他制御を行ってみます。