
x86の命令どもを16ビットモードから眺めてます。今回は無条件ジャンプです。どのプロセッサも長いのとか短いのとか複数種類のジャンプ命令を持つことが多いですが、x86はやっぱりメンドクセーです。直接に間接、nearにfarそういえばshortもあったな、という感じ。アセンブラにもコマケー指示をせんとなりません。
“ぐだぐだ低レベルプログラミング(195)x86(16bit)、無条件JMP” の続きを読む
デバイス作る人>>デバイス使う人>>デバイスおたく
x86の命令どもを16ビットモードから眺めてます。今回は無条件ジャンプです。どのプロセッサも長いのとか短いのとか複数種類のジャンプ命令を持つことが多いですが、x86はやっぱりメンドクセーです。直接に間接、nearにfarそういえばshortもあったな、という感じ。アセンブラにもコマケー指示をせんとなりません。
“ぐだぐだ低レベルプログラミング(195)x86(16bit)、無条件JMP” の続きを読む
前回はMicroPython処理系が備えているlockをつかって2コアの排他制御を試みました。今回はラズパイPico/Pico2に特有なハードウエア・スピンロック機構を使ってみます。RP2040のときには有用であったHWスピンロックですが、RP2350では後ろ向きの機能になってます。でも使えることに変わりありませぬ。 “Pico三昧(56) ラズパイPico2:RP2350、HWスピンロックの試用” の続きを読む
Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。前回はSPIにメモリを接続しました。今回はI2Cバスにメモリを接続です。しかし読み書きの前にI2Cポート・スキャンからです。まあ、uLispの例題そのまま走らせるだけなんだけれども。一応、実機波形を確認。I2Cバス動いてますなあ。 “Lispと一緒(33) ラズパイPico2でもuLisp、I2Cポートスキャン” の続きを読む
前回は2コア平行動作でコア間FIFO通信を使用。FIFOは制御がお楽。しかしその先を考えると排他処理など必要じゃないかと。一応PicoのRP2040にもPico2のRP2350にもSIOブロック内にハードウエアSpinlockというものがあるのだけれども、これってどうよ?その前に_ThreadモジュールのLOCKか?
Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。先ごろからハードウエア制御に入いっとります。前回はPWM出力(関数名的にはanalogwrite)、今回はSPI出力を練習してみます。端子的にはキメウチだけれども、それなりに制御できるのでないかと。実機で波形を味わってみるの回です。
“Lispと一緒(31) ラズパイPico2でもuLisp、SPI出力” の続きを読む
前回はイネーブルになっているデュアル・コアはそれぞれArmなんだかRISC-Vなんだかハッキリしろい、ということでステータスレジスタを読み出して確認しました。しかし、2コアの片方しか動かしてなかったです。今回は超簡単な実験スクリプトで2コアの両方が動いているところを確認したいと思います。手抜きだけれども。
前回RISC-Vモード用のMicroPythonをラズパイPico2にインストール。しかしRISC-Vだろうが、ArmだろうがMicroPythonなので見た目は変りませぬ。処理系自体はRISC-Vで走っていると表示してます。しかし疑り深いので、今回は本当にRISC-Vで走っているのだよね、と確認してみたいと思います。
“Pico三昧(52) ラズパイPico2:RP2350、MicroPythonでコア確認” の続きを読む
前回まで文書ばかり読んでいたので実機をいじりたくムズムズ。たまたまMicroPythonのサイトみたらば、以前試用させていただいたときにはまだPreview版だったPico2用のバイナリがReleasesになってました。それどころか以前不在だったRISC-Vモード用もリリースになってました。これは使ってみるしかない!
“Pico三昧(51) ラズパイPico2:RP2350、MicroPythonでRISC-V” の続きを読む