
前回、FreeRTOSの各種設定を決めるFreeRTOSConfig.hを読んでいて「思っていたのと違う」ところがありました。勝手に思いこんでいただけなんだけれども。今回もそんな思い込みを正して参りたいと思います。メモリの割り当てについてです。どっかヒープから割り当ててくれているのでないの?
デバイス作る人>>デバイス使う人>>デバイスおたく
前回、FreeRTOSの各種設定を決めるFreeRTOSConfig.hを読んでいて「思っていたのと違う」ところがありました。勝手に思いこんでいただけなんだけれども。今回もそんな思い込みを正して参りたいと思います。メモリの割り当てについてです。どっかヒープから割り当ててくれているのでないの?
前回は、Goの標準ライブラリmath/bitsの中で、ビット・カウントとかローテイトとかバイナリ者には人気でも、一般ではあまり使われない操作を練習。今回はmath/bitsの残りを練習してみます。キャリー、ボロー付きの加減算、演算の前と後でビット幅が異なる乗算、除算です。アセンブラ書いていたら毎度お馴染みの者ども。
“GoにいればGoに従え(31) math/bitsをTinyGoで使う、その2” の続きを読む
前回は参照電圧を生成してくれるFVRを使ってみました。PICマイコンの良いところはハード搭載がなければ外付けになってしまう「お役立ち」回路がいろいろ搭載されており、かつその設定がソフトウエアでできるところじゃないかと思います。今回使ってみるのはNCO(数値制御発振器)です。お好みのクロックを生成できるもの。 “PIC三昧(10) NCO(数値制御発振器)を使ってみる、PIC16F18855” の続きを読む
前回PyPIからESP32版MicroPythonで動作するULP開発環境をダウンロード、ターゲットのESP32 DevKitC機にインストールしました。ULPこそはESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアであります。メインのコアがお休みしているときにも密に動作する影の存在。結構強力。
前回はDelayに関するAPIでした。今回はTaskのPriorityを操作してみます。今までPriorityはみんな「1」みたいなテキトーな設定をしてきました。優先順位を設定する実験してみることで勉強になるんでないかい、という目論見。しかし、改めて FreeRTOSConfig.h を読んでみると思っていたのと違う?
“モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位” の続きを読む
前回書いたとおり、WCHのRISC-V搭載マイコンCH32Vは、STM32をリスペクトしているのか、HALレイヤの関数がクリソツです。先にSTM32のHALレイヤで予習しておいたらCH32VでHALレイヤを使うのも楽なんでないかと。学習教材としてはタイマからPWM出力するのをHALレベルでやってみようと。メンドイけど。 “小ピンマイコンの酷暑(5) CH32Vのモデル?STM32のHALレイヤの使用 その2” の続きを読む
前回まで標準ライブラリのcontainerを練習してましたが、今回からmathに入ります。最初はmath/bitsです。ここにはMCU(マイクロ・コントローラ・ユニット、間違えてもマーベルなんたらではありませんぞ)使うときに必要になりそうな者どもが控えております。バイナリ者(忍者の一種?)にはお馴染みの操作かと。 “GoにいればGoに従え(30) math/bitsをTinyGoで使ってみる” の続きを読む
前回は内蔵アナログコンパレータを使って外部電圧2つを比較してみました。今回はアナログコンパレータの入力電圧の一方を内蔵のFVR(FIXED VOLTAGE REFERENCE)としてみます。ありがちな1.024Vとその2倍、4倍の電圧が内部のADC、DACそしてコンパレータで参照できるようになってます。便利。
“PIC三昧(9) FVR(固定参照電圧源)を使ってみる、PIC16F18855” の続きを読む
前回はパッケージ管理ツール mip に勝手改変入れてESP32のMicroPythonで動作することを確認。今回はThonnyのパッケージ管理機能を使ってPyPIからパッケージをダウンロードしてインストールしてみます。PyPIにはいろいろあります。今回インストールしたのはESP32のulpの開発環境。なんじゃそりゃ?
“MicroPython的午睡(118) ESP32版、PyPIからulp開発環境インストール” の続きを読む
FreeRTOSにはある期間の間Taskの実行をブロックするDelayの名がつくAPIが3種あります。前回まで一番お手軽なvTaskDelay(引数も一つしかないし)ばかりを使ってきたのですが、今回は3種の違いについて勉強したいと思います。その上で実機上で動かして実感してみると。軽負荷だとあまり差が見えないけれど。
前回、ESP32版MicroPython上で、MicroPython特有のパッケージ管理ツール mip を走らせんと試みましたが一山超えて二山目で止まってました。今回はその二山目を超えるべくネット接続を追加してみました。あれよあれよと言ううちに一瞬でパッケージのインストールOK、mip 動作してしまったみたいです。
“MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK” の続きを読む