前回までCP/Mエミュレータで古のデジタルリサーチ社の遺産である8080アセンブラやデバッガを使用。「今時の若者というか中年も」8080とかZ80のお名前は知っている。でも知らないことも多いことに気付きましたです。当然か。そこで今回は老人が蘊蓄を垂れさせていただきます。お前がそんなこと言うかと怒られそうだけれども。
“レトロな(5) 8080, 8085, Z80を比べる、ハードウエア編” の続きを読む
モダンOSのお砂場(77) UNO R4でFreeRTOS、再帰的ミューテックス
前回ミューテックスを使ってみたので、今回は一歩すすんでリカーシブなミューテックスです。何に一歩進んだのか分からんです。リカーシブにしなければならない理由をチョイと思いつかない凡人です。でもまリカーシブなAPIは存在しているので、使ってみます。確かに再帰呼び出しできますなあ。ピッタンコな応用例を知りたい、私は。 “モダンOSのお砂場(77) UNO R4でFreeRTOS、再帰的ミューテックス” の続きを読む
GoにいればGoに従え(39) ラズパイPicoでもレジスタ直接アクセス。最初はCPUID
TinyGo言語は、ハード依存性のあるMachineパッケージを使っていてもピン名を変更するくらいで別なマイコンへ移植可能なことが多くお楽。しかしディープに機種依存なハードを使うためにはハードウエアを直接操作しないとなりません。そんなときでもunsafeなポインタは「隠蔽」可能であります。今回はCPUID読み出し。
鳥なき里のマイコン屋(175) STM32、Cube IDEをインストールで吉例Lチカ
STMicroelectronics社純正の開発環境のCube IDE、昔一度使ったことがありましたが、その後ご無沙汰。久しぶりに使ってみようと思ったのは、MicroChip社のMPLAB X IDEの影響です。やっぱメーカ純正IDEは「痒い所に手が届く」感が強いです。そこでSTM32でもCube IDEしてみるかと。
“鳥なき里のマイコン屋(175) STM32、Cube IDEをインストールで吉例Lチカ” の続きを読む
MicroPython的午睡(126)M5Stack UIFlow2対応、MicroPythonを書き込む
前回までESP32用「素の」MicroPythonをESP32 DevkitC上で練習。今回より同じESP32用のMicroPython処理系といっても「一味違う」M5Stack社のUIFlowを使用してみます。M5Stack系のデバイスはどんどん新しいのが出てますが、使用するのは基本のM5Stack Grayです。
“MicroPython的午睡(126)M5Stack UIFlow2対応、MicroPythonを書き込む” の続きを読む
PIC三昧(18) CRC、データ配列のCRC8をハードで計算、PIC16F18855
前回は書き変えに便利で安心EEPROMを使ってみました。今回はFlashメモリのCRCをCPU使わずに計算することもできるCRCモジュールを使用してみます。Flashに対して使用すれば「改ざん」なども検出可能かも。ただし、今回はデータメモリの中の配列のCRC8をCPU制御で計算してもらいます。設定が分かり難い? “PIC三昧(18) CRC、データ配列のCRC8をハードで計算、PIC16F18855” の続きを読む
モダンOSのお砂場(76) UNO R4でFreeRTOS、ミューテックスを使う一手間
前々回バイナリ・セマフォ、前回はカウンティング・セマフォでした。今回ミューテックスで気づきました。手元のFreeRTOS、デフォルトではミューテックス使えるようになってません。ミューテックスって言ったら排他制御業界(そんな業界あるのか?)の大スターじゃないかい。例によってNotification推しのためだろうけど。
“モダンOSのお砂場(76) UNO R4でFreeRTOS、ミューテックスを使う一手間” の続きを読む
GoにいればGoに従え(38) ラズパイPicoでソフトウエアタイミング制御の限界?
ラズパイPicoでTinyGoをするのに「あたり前」そうなことを実地に確かめてます。前回はPWM出力でした。今回はソフトウエアによるタイミングの制御のレゾリューションというか、ジッタというかについて調べてみます。ハードウエアタイマを使って割り込みで制御するのが一番だけれども、ソフトでやれるならソフトでやるのがお楽。
“GoにいればGoに従え(38) ラズパイPicoでソフトウエアタイミング制御の限界?” の続きを読む
PIC三昧(17) EEPROM、データ書き込み&読み出し、PIC16F18855
前回まで4回を費やしてMSSPを一通りなでました。今回は「軽く」NVM(NONVOLATILE MEMORY)に入りたいと思います。PIC16FマイコンはプログラムメモリとしてFlashを搭載しているだけでなく、不揮発なデータ格納用にEEPROMを搭載しています。これがあれば電源切っても消えない設定など自由自在だっ。
“PIC三昧(17) EEPROM、データ書き込み&読み出し、PIC16F18855” の続きを読む
モダンOSのお砂場(75) UNO R4でFreeRTOS、カウンティング・セマフォ
前回はバイナリ・セマフォを使ってみました。バイナリが出来るなら次はカウンティングだろ~ということで今回はカウンティングです。でも御本家FreeRTOS様的には「Notify推し」ということで「セマフォ」はディスられて?ますけど。まあ有るものは使ってみるっと。今回は2つしかないリソースを3人が取り合う形。
GoにいればGoに従え(37) ラズパイPicoのPWM、全スライス使ってみる
前回は久しぶりにラズパイPico上でTinyGoのオブジェクトを走らせて吉例Lチカ。今回はPWM出力を使ってみます。ラズパイPicoのGPIOの全端子にPWM出力が可能です。ただしPWM周期的には最大8通り、各周期に対して2種類のDutyサイクルを指定可能です。今回は周期を司る8個のスライスを全て使ってみます。 “GoにいればGoに従え(37) ラズパイPicoのPWM、全スライス使ってみる” の続きを読む
MicroPython的午睡(125)ESP32でテスト対向機、相手はPICのI2Cスレーブ
前回はPICマイコンのSPIスレーブのテストをお手伝い。こちらからは送信一方でした。今回は同じくPICマイコンのI2Cスレーブのテストですが送受してます。折り返してデータを照合しようなどとは考えてないので各方向とも同じデータの垂れ流しっす。MicroPythonを使えば「さらさら」書ける簡単なプログラム。ホントか?
PIC三昧(16) MSSP、I2C Slaveモードでデータを送受、PIC16F18855
前回はPIC16搭載のMSSPをSPIスレーブとして使用。今回はMSSPをI2Cスレーブとして使ってみます。別シリーズ記事にて前回のSPIスレーブのテスト用の通信相手をMicroPythonで作成しましたが、今回もI2Cスレーブの通信相手を同様に作成して実験したいと思います。両側作らないと実験できないのはメンドイっす。
モダンOSのお砂場(74) UNO R4、RA4M1でFreeRTOS、バイナリ・セマフォ
前回はNotifyを使って割り込み(ISR)とタスク間で「同期」をとってみました。今回は同様なことをSemaphoreを使って行ってみます。でも御本家ページより引用の”TIPS”を上に掲げましたるとおり、Notify使う方が「推し」みたいデス。「でもでも」APIは存在するし、大願成就のためには使ってみるしかないっと。
“モダンOSのお砂場(74) UNO R4、RA4M1でFreeRTOS、バイナリ・セマフォ” の続きを読む