組み込みマイコン向けのuLispを浮かれて始めたのは良いものの、元よりLisp素人、過去の記憶も忘却の彼方ということで、リハビリを行って少しずつ動けるようにいたしてまいりたいと存じます。折角グラフィックスが使えるWio Terminal機なので、動作が見た目に分かりやすいようにLispで描画してみると。
GoにいればGoに従え(27) container/heapをTinyGoで使ってみる
インタプリタ処理系のMicroPythonとコンパイラのTinyGoを比べるのもどうかと思うのですが。MicroPythonは「フルセットのPythonのライブラリのサブセット」を実装、一方TinyGoは「フルセットのGoのライブラリの一部」を使用可能というスタンスみたいっす。今回は乱雑な順に乱雑な値を入れても出すときは順番にならんでいるヒープ構造をTinyGoで使ってみます。 “GoにいればGoに従え(27) container/heapをTinyGoで使ってみる” の続きを読む
MicroPython的午睡(115) ESP32版、mpy-crossの利用
前回はヒープ・メモリの使用状況をちょいと観察しました。上限が小さいRAM領域は貴重。ターゲット機のESP32DevKitCの場合、まだFlash領域の方が余裕があるのでなるべくFlashに「追い出したい」デス。そこで今回はMicroPythonの中間コードにクロスコンパイルしてくれるmpy-crossを使用してみます。
PIC三昧(6) Configurable Logic Cell、PIC16F18855
前回は複数の外部入力端子を組み合わせて割り込みをかけることもできるIOC機能でした。今回は複数の外部入力端子を含む各種信号を使ってロジックを作り、結果を外部出力したり内部回路で使ったりできるCIC機能を使ってみます。FPGAとはいかないですが、ごく小さなPLDみたいな感じ。外付けロジックIC数個分くらいの規模感。
“PIC三昧(6) Configurable Logic Cell、PIC16F18855” の続きを読む
モダンOSのお砂場(64) UNO R4、ルネサスRA4M1でFreeRTOSのコルーチン
前回はOSタイマ、前々回はTask(プリエンプティブな)、並行処理を行う方法はもうお腹一杯な気がしないでもないです。しかし、FreeRTOSにはもう一つあり。CoRoutineです。本格的なTaskが使えるFreeRTOSでわざわざコルーチンする意味があるのか不明ですが、今回は「あるものは使ってみる」ということで。
“モダンOSのお砂場(64) UNO R4、ルネサスRA4M1でFreeRTOSのコルーチン” の続きを読む
小ピンマイコンの酷暑(2) CH32V003、8ピンマイコンのSYSCLKを外部出力
前回うかつにUART使ったらFlash再書き込みが出来なくなったと書きました。すると「のる@KHloCSIavYLAiKZ」様からご指摘あり、「Ryo Mukai@uCOM80」様の記事の中に復活方法が書いてあると。ありがとうございます。やってみました復活しました。今回は復活したチップ使ってMCO信号を外部出力とな。
“小ピンマイコンの酷暑(2) CH32V003、8ピンマイコンのSYSCLKを外部出力” の続きを読む
Lispと一緒(1) uLisp、Seeeduino Wio Terminal+VScodeで快適?
組み込みマイコン向けのuLispをArduino IDE環境からWio Terminalへインストール、吉例Lチカ成功しました。久しぶりのLISPに熱狂、今回は『Lispと一緒』その初回であります。ともあれuLispでコード書く環境を決めないと。結局いつものVScode環境にいたしましたが、まあまあ快適。
GoにいればGoに従え(26) Goの標準ライブラリも46%くらい?はTinyGoで使える
前回はTinyGo専用(組み込みマイコン向けの)ドライバセットTinyGo Driversは便利、便利の回でした。でもねTinyGo専用のドライバばかりでなく便利なものは他にもあるっしょ、肝心なものを忘れてないかい?ということでGo言語の標準ライブラリのTinyGo対応状況を確認してみました。かなり使える?
MicroPython的午睡(114) ESP32版、ヒープ・メモリの使用状況
今回はMicroPythonのメモリの使い方の話を若干。C言語などではconst扱いのオブジェクトをFlash上に配置して貴重なRAMをセーブするということがあります。馬鹿なのでMicroPythonも同じようなもんかい、と思っていたら違いました。Flashに置くことはできるのですがそれはまた別の話みたいっす。
PIC三昧(5) Interrupt-On-Change(IOC)、PIC16F18855
前回は外部端子からの割り込み使うべしということでEXT-INTを使用。PIC素人には複雑そうなInterrupt-ON-Change(IOC)よりもEXT-INTの方がフツーに見えたからです。しかし、今回IOCを使ってみて、こっちゃの方がフツーでないの、という認識にいたりました。即使えるようになっているんだこれが。
モダンOSのお砂場(63) UNO R4、ルネサスRA4M1でFreeRTOS、OSタイマ
前回まではマルチタスクLチカするのに複数のタスクを作ってました。各タスク毎に遅延時間を指定するというシングルタスク同様の構造です。しかし定周期で何かを実行するというのはRTOS環境下ではアリガチな作業です。FreeRTOSはそのための「軽い」仕組みもしっかり実装されてます。今回はこのTimerタスクを使ってみます。
“モダンOSのお砂場(63) UNO R4、ルネサスRA4M1でFreeRTOS、OSタイマ” の続きを読む
小ピンマイコンの酷暑(1) CH32V003、8ピンマイコンからのHelloWorld
別シリーズ記事にて、大変お求めやすい価格の32ビットRISC-VマイコンCH32Vの吉例Lチカ成功(先達の方のお陰です。)それに気をよくしてCH32Vの各種機能を使ってみることにいたしました。Lチカの次はHelloWorldだな、と勝手に目標設定。HelloWorldしてみましたが、8ピンマイコンです。これが結構難物。 “小ピンマイコンの酷暑(1) CH32V003、8ピンマイコンからのHelloWorld” の続きを読む
鳥なき里のマイコン屋(174) マイコンでLISP、吉例Lチカ、Wio Terminal
下手の横好きということで、トートツにLispはじめました。といってPC上のLispではなく、マイクロコントローラ(マイコン)上の uLisp という処理系です。各種マイコンに「広く」移植されている小さなLisp処理系です。勿論Lispらしいコードが実行できるだけでなく、吉例Lチカなどマイコンハードも制御可能。ハマるな。 “鳥なき里のマイコン屋(174) マイコンでLISP、吉例Lチカ、Wio Terminal” の続きを読む
GoにいればGoに従え(25) TinyGo Drivers便利。なんでも簡単接続。
前回使用したTinyGo Driversというドライバセットは超便利っす。非常に簡単な手順で、定番物の周辺デバイス約100種に対するドライバをTinyGoのコードから使えるようになります。Arduinoなどで人気のデバイスは網羅している感じです。今回はLIS3DH、MEMS加速度センサとの接続を実験。 “GoにいればGoに従え(25) TinyGo Drivers便利。なんでも簡単接続。” の続きを読む