モダンOSのお砂場(69) UNO R4、ルネサスRA4M1でFreeRTOS、ヒープメモリ

Heap
Joseph Halfmoon

前回、FreeRTOSの各種設定を決めるFreeRTOSConfig.hを読んでいて「思っていたのと違う」ところがありました。勝手に思いこんでいただけなんだけれども。今回もそんな思い込みを正して参りたいと思います。メモリの割り当てについてです。どっかヒープから割り当ててくれているのでないの?

“モダンOSのお砂場(69) UNO R4、ルネサスRA4M1でFreeRTOS、ヒープメモリ” の続きを読む

GoにいればGoに従え(31) math/bitsをTinyGoで使う、その2

bits2EC
Joseph Halfmoon

前回は、Goの標準ライブラリmath/bitsの中で、ビット・カウントとかローテイトとかバイナリ者には人気でも、一般ではあまり使われない操作を練習。今回はmath/bitsの残りを練習してみます。キャリー、ボロー付きの加減算、演算の前と後でビット幅が異なる乗算、除算です。アセンブラ書いていたら毎度お馴染みの者ども。
“GoにいればGoに従え(31) math/bitsをTinyGoで使う、その2” の続きを読む

PIC三昧(10) NCO(数値制御発振器)を使ってみる、PIC16F18855

NCO_DUT
Joseph Halfmoon

前回は参照電圧を生成してくれるFVRを使ってみました。PICマイコンの良いところはハード搭載がなければ外付けになってしまう「お役立ち」回路がいろいろ搭載されており、かつその設定がソフトウエアでできるところじゃないかと思います。今回使ってみるのはNCO(数値制御発振器)です。お好みのクロックを生成できるもの。 “PIC三昧(10) NCO(数値制御発振器)を使ってみる、PIC16F18855” の続きを読む

MicroPython的午睡(119) ESP32版、ULPとULP開発環境のおまとめ

ESP32_ULP_Subsystem
Joseph Halfmoon

前回PyPIからESP32版MicroPythonで動作するULP開発環境をダウンロード、ターゲットのESP32 DevKitC機にインストールしました。ULPこそはESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアであります。メインのコアがお休みしているときにも密に動作する影の存在。結構強力。

“MicroPython的午睡(119) ESP32版、ULPとULP開発環境のおまとめ” の続きを読む

モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位

TASKs
Joseph Halfmoon

前回はDelayに関するAPIでした。今回はTaskのPriorityを操作してみます。今までPriorityはみんな「1」みたいなテキトーな設定をしてきました。優先順位を設定する実験してみることで勉強になるんでないかい、という目論見。しかし、改めて FreeRTOSConfig.h を読んでみると思っていたのと違う?
“モダンOSのお砂場(68) UNO R4、ルネサスRA4M1でFreeRTOS、優先順位” の続きを読む

小ピンマイコンの酷暑(5) CH32Vのモデル?STM32のHALレイヤの使用 その2

ResultWaveForm
Joseph Halfmoon

前回書いたとおり、WCHのRISC-V搭載マイコンCH32Vは、STM32をリスペクトしているのか、HALレイヤの関数がクリソツです。先にSTM32のHALレイヤで予習しておいたらCH32VでHALレイヤを使うのも楽なんでないかと。学習教材としてはタイマからPWM出力するのをHALレベルでやってみようと。メンドイけど。 “小ピンマイコンの酷暑(5) CH32Vのモデル?STM32のHALレイヤの使用 その2” の続きを読む

GoにいればGoに従え(30) math/bitsをTinyGoで使ってみる

MathBitsEC
Joseph Halfmoon

前回まで標準ライブラリのcontainerを練習してましたが、今回からmathに入ります。最初はmath/bitsです。ここにはMCU(マイクロ・コントローラ・ユニット、間違えてもマーベルなんたらではありませんぞ)使うときに必要になりそうな者どもが控えております。バイナリ者(忍者の一種?)にはお馴染みの操作かと。 “GoにいればGoに従え(30) math/bitsをTinyGoで使ってみる” の続きを読む

PIC三昧(9) FVR(固定参照電圧源)を使ってみる、PIC16F18855

FVR_setting
Joseph Halfmoon

前回は内蔵アナログコンパレータを使って外部電圧2つを比較してみました。今回はアナログコンパレータの入力電圧の一方を内蔵のFVR(FIXED VOLTAGE REFERENCE)としてみます。ありがちな1.024Vとその2倍、4倍の電圧が内部のADC、DACそしてコンパレータで参照できるようになってます。便利。
“PIC三昧(9) FVR(固定参照電圧源)を使ってみる、PIC16F18855” の続きを読む

MicroPython的午睡(118) ESP32版、PyPIからulp開発環境インストール

localStorage
Joseph Halfmoon

前回はパッケージ管理ツール mip に勝手改変入れてESP32のMicroPythonで動作することを確認。今回はThonnyのパッケージ管理機能を使ってPyPIからパッケージをダウンロードしてインストールしてみます。PyPIにはいろいろあります。今回インストールしたのはESP32のulpの開発環境。なんじゃそりゃ?
“MicroPython的午睡(118) ESP32版、PyPIからulp開発環境インストール” の続きを読む

モダンOSのお砂場(67) UNO R4、ルネサスRA4M1でFreeRTOS、Delay

delayApiDiag
Joseph Halfmoon

FreeRTOSにはある期間の間Taskの実行をブロックするDelayの名がつくAPIが3種あります。前回まで一番お手軽なvTaskDelay(引数も一つしかないし)ばかりを使ってきたのですが、今回は3種の違いについて勉強したいと思います。その上で実機上で動かして実感してみると。軽負荷だとあまり差が見えないけれど。

“モダンOSのお砂場(67) UNO R4、ルネサスRA4M1でFreeRTOS、Delay” の続きを読む

小ピンマイコンの酷暑(4) CH32Vのモデル?STM32のタイマを使ってみる

NucleoF072RB
Joseph Halfmoon

前回までの小ピンでRISC-V搭載のマイコンCH32V003J4M6から、今回は唐突に小ピンでないArmコアマイコンSTM32へと飛びました。ようやく気付いたからです。WCHのCH32マイコンはST社のSTM32をリスペクト?するあまりHALレベルの関数がほぼほぼ互換にできているということに。STM32で予習したら楽?

“小ピンマイコンの酷暑(4) CH32Vのモデル?STM32のタイマを使ってみる” の続きを読む

GoにいればGoに従え(29) container/ringをTinyGoで使ってみる

mb20ringResult
Joseph Halfmoon

前々回heap前回listとGoの標準ライブラリのcontainerを練習。今回はcontainerの最後の一つ ring です。しかし似たお名前のRingBufferがTinyGoのMachineパッケージの中に存在。今回は2つを比較してから、標準ライブラリのringの方をmicro:bit上で練習してみます。

“GoにいればGoに従え(29) container/ringをTinyGoで使ってみる” の続きを読む

MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK

mipWorks
Joseph Halfmoon

前回、ESP32版MicroPython上で、MicroPython特有のパッケージ管理ツール mip を走らせんと試みましたが一山超えて二山目で止まってました。今回はその二山目を超えるべくネット接続を追加してみました。あれよあれよと言ううちに一瞬でパッケージのインストールOK、mip 動作してしまったみたいです。
“MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK” の続きを読む

PIC三昧(8) アナログ・コンパレータを使ってみる、PIC16F18855

CMP_DUT_EC
Joseph Halfmoon

前回はZCD(ゼロクロス検出器)で割り込みかけてみました。今回はアナログ入力電圧2つを比較する内蔵コンパレータを使ってみます。なにか基準電圧を上回ったら信号を出力したりできるもの。結果で割り込むことも可能ですが、直接外部出力信号とすることも可能。外付けオペアンプなど不要で済むのはありがたいかも。

“PIC三昧(8) アナログ・コンパレータを使ってみる、PIC16F18855” の続きを読む