モダンOSのお砂場(33) Mbed OS6、bare metal profile、Lチカ

NucleoF401_EC
Joseph Halfmoon

今回から Mbed OS6の bare metal profile というものを触ってみたいと思います。Mbed OS6のコアなRTOS部分を「欠いた」プロファイルです。しかし見てみるとマルチタスクっぽいこともできるみたい。毎度お世話になってきたMbed OS2の引っ越し先?それにVSCode+PlatformIOでビルドからデバッグまで出来る。なかなかじゃん。

“モダンOSのお砂場(33) Mbed OS6、bare metal profile、Lチカ” の続きを読む

ぐだぐだ低レベルプログラミング(47) RISC-V、K210、浮動小数点除算サイクル数

RISC-V fdiv CycDUMP
Joseph Halfmoon

今回から再びRISC-Vの実機(K210)を使って、浮動小数点命令を動かしていきたいと思います。今回は第44回でやったサイクル数の計測を浮動小数点の割り算命令に適用。流石に割り算命令には時間かかっているっしょ、みたいなところを眺めてみたいです。でもま、たまたまK210の実装で、この命令列ならこの程度くらいな数字かと。

“ぐだぐだ低レベルプログラミング(47) RISC-V、K210、浮動小数点除算サイクル数” の続きを読む

手習ひデジタル信号処理(19) 母音音声合成器その4、STM32F446上実装を「見る」

aiueo_spc4
Joseph Halfmoon

前回まで3回にわたって母音音声合成器の「部品」3つの特性をScilabに計算してもらって眺めてきました。ようやく今回はSTM32F446上で動作確認であります。といっても三上先生のサンプルプログラムそのままなので動かない分けがないです。今回は「発声」された信号をよく「見て」みようの回。

“手習ひデジタル信号処理(19) 母音音声合成器その4、STM32F446上実装を「見る」” の続きを読む

MicroPython的午睡(59) ESP32、WebREPL、動作はするけれども

WebREPLprompt
Joseph Halfmoon

再びM5ATOM Lite上のESP32 genericポートのMicroPythonに戻ってまいりました。今回はESP32系ならでは?のWebREPLを使用してみたいと思います。Network接続されているMicroPythonデバイスのREPLにホストのブラウザから接続する機能であります。確かに使えるのだけれどクセが強い。

“MicroPython的午睡(59) ESP32、WebREPL、動作はするけれども” の続きを読む

ぐだぐだ低レベルプログラミング(46) RISC-V、浮動小数点の丸めと例外、その2

NaN
Joseph Halfmoon

前回は柄にもなく浮動小数点の丸めを説明したところで力尽きてしまいました。今回は前回の残り、浮動小数点の例外についてです。こういうメンドイものがあるので浮動小数点演算は後回しにしたくなるのですが、実際に浮動小数点演算命令を動かすにあたっては避けていられません。それにしても面倒くさいよ。

“ぐだぐだ低レベルプログラミング(46) RISC-V、浮動小数点の丸めと例外、その2” の続きを読む

Pico三昧(6) Pico C/C++SDKでS93C46接続その2、PIO制御

Joseph Halfmoon

前回は3線式シリアルE2PROM S93C46をソフトウエア制御で読み書きしてみました。今回は、ラズパイPicoの特長であるPIO(Programmable IO)を使って同じことを行ってみます。PIOステートマシンのアセンブラを書くのも大分慣れた気もしますが、最後は波形を見ないと安心できないんだ,、これが。

“Pico三昧(6) Pico C/C++SDKでS93C46接続その2、PIO制御” の続きを読む

L.W.R.(40) 古文書編#11、マイクロコンピュータの誕生、嶋正利著、岩波1987

4004
Joseph Halfmoon

今回の御本は30年以上も前に岩波書店から出ていた本です。前回の御本の未だに派生の新刊書が出る息の長さとは異なりますが、驚いたのはAmazonで古書として購入する場合の価格です。当時の定価1700円の5倍以上の価格で売られていました。人気高いのね。「マイクロコンピュータの誕生」、サブタイトル「わが青春の4004」。

“L.W.R.(40) 古文書編#11、マイクロコンピュータの誕生、嶋正利著、岩波1987” の続きを読む

モダンOSのお砂場(32) FreeRTOS、割り込みハンドラからタスクにキュー

SeeeduinoXiao_DUT
Joseph Halfmoon

前回はタスク・リストを一覧して何故か満足してしまいました。今回は、割り込みとタスクの間の通信を試みてみたいと思います。割り込みサービスルーチン側では、処理の依頼をするだけで、時間のかかる処理はタスクにお任せするという仕組み。とりあえず動くプロトタイプを作ってみました。

“モダンOSのお砂場(32) FreeRTOS、割り込みハンドラからタスクにキュー” の続きを読む

ぐだぐだ低レベルプログラミング(45) RISC-V、浮動小数点の丸めと例外

RoungingMode
Joseph Halfmoon

RISC-Vの浮動小数点演算命令セットを実際に動かして堪能しようと思いつつ、ついつい後回しにしてきました。何でかといって難物の「丸め」と「例外」などがチラチラしていたからでございます。浮動小数点素人の私としては触りたくない「奴ら」ですが、これに触れないことには先に進みませぬ。

“ぐだぐだ低レベルプログラミング(45) RISC-V、浮動小数点の丸めと例外” の続きを読む

Pico三昧(5) Pico C/C++ SDKでS93C46接続その1、ソフト制御

S93C46
Joseph Halfmoon

以前にもシリアルEEPROMをラズパイPicoに接続したことがありましたがI2C接続でMicroPython利用でした。今回は「3線式」EEPROM、結構昔からあるタイプ、をC/C++SDKで接続してみます。「その1」はソフトウエア制御であります。簡単だろ~と思っていたら、お約束の落とし穴にハマりました。新年そうそう。

“Pico三昧(5) Pico C/C++ SDKでS93C46接続その1、ソフト制御” の続きを読む