久しぶりにラズパイPicoです。辺境の老人のもとにも「Pico 2」やってまいりました。文明開化。前のPicoに搭載されていたRP2040は、デュアルコアのArmを搭載してましたが、コアはお手頃なやつでした。しかし今回Pico 2は、デュアルArm M33だけではなく、デュアルRISC-Vも搭載とな。どうなってるんだ?
“Pico三昧(21) Raspberry Pico 2 着弾、Arm M33とRISC-V” の続きを読む
Pico三昧(20) Picoprobe復活、しかしなぜ「そこに」?動いたからまあいいか。
もう1台のラズパイPicoをラズパイPicoのデバッグプローブとして使うPicoprobe、第17回でセットアップして使えるようなっていました。しかし前回使おうとしたらOpenOCDでエラー。Picoprobe CMSIS-DAP行方不明?今回はガタゴトやって動くようになったのですが、理由はサッパリ。なんでだ?
“Pico三昧(20) Picoprobe復活、しかしなぜ「そこに」?動いたからまあいいか。” の続きを読む
Pico三昧(19) ADCをちょっと触ろうとしたらPicoprobe消えていた。いつもの?
今回マイクロフォンをPicoのADCに接続して実験しようと思い立ったのです。ビルドした後になって気づきました。前々回インストールして動作OKになっていたPicoprobe、認識されてません。なして?そういえば今週例のアレが走ってなかったか。しかたがないので今回はPicoprobe無で実験。Picoprobe復活は次回?
Pico三昧(18) picotool有、pico-project-generator要導入
前々回、Windows11上にRaspberry Pi Pico のC/C++ SDK開発環境を設置、前回は2台目Picoを使ってPicoProbeもOKです。まだ足りぬものがありますな。ラズパイ4をホストにSDK使っていたときに多用したpico-project-generatorです。なぜか微妙に不整合なんだこれが。
“Pico三昧(18) picotool有、pico-project-generator要導入” の続きを読む
Pico三昧(17) PicoProbeが接続できなかったのは配線間違えてたせい
前回Windows11上にRaspberry Pi Picoの開発環境をインストール、サンプルプログラムを動作させることができました。次はデバッグです。今までラズパイ4をホストにしていたときはラズパイ4がデバッグI/Fも提供してくれたです。パソコンの場合は2台目のPicoをデバッグI/Fに使うと。ここでまたもやらかし。
“Pico三昧(17) PicoProbeが接続できなかったのは配線間違えてたせい” の続きを読む
Pico三昧(16) Win11上にPicoの開発環境インストール、ずいぶんお楽になっていた
ほぼほぼ1年近く「Pico三昧」休止してしまいました。理由はメンドかったからデス。Picoの開発ホストにラズパイ4を使っておったのですが、ラズパイ4を立ち上げて「さらにPicoを接続」という1手順がメンドイばかりに1年も。そこで今回は普段使っているWindows11機上にPico環境をインストールしました。
Pico三昧(15) PicoでもGo!Flash書き込み方法教えてもらった+VSCode
Pico三昧(14) PicoでもGo! TinyGoのオブジェクトがPico上で走るまで
別シリーズでGo言語を勉強したりしているのですが、インタプリットもでき、バイナリにビルドもできでなかなか良いものです。マイクロコントローラでもGoのオブジェクトを走らせられるということで今回やってみましたです。ターゲットはラズパイPico。その母艦は例によってラズパイ4です。C/C++SDKと同様で実行可能。
Pico三昧(13) Pico C/C++SDKで4.096MHzクロック生成その2PIO
前回PWMで生成したクロックで十分かな~と思ってしまったので、もう一度似たようなことをやるのはカッタるいです。でも自分でPIO(プログラマブルIO)でもクロック作ってみると書いてしまったのでやらないと。大分ラズパイPicoのPIOにも慣れたんですが、PIOアセンブラでたった2行。けれどヘッダ部分書くのがメンドイのよね。
Pico三昧(12) Pico C/C++SDKで4.096MHzクロック生成その1PWM
あるデバイスを動かそうとしたら4.096MHzのクロックが必要と書いてありました。手元には4MHzピタリの水晶振動子の在庫はあったと思ったですが、4.096MHzありません。ラズパイPicoで制御するつもりなのだし、ラズパイPicoでクロックから作ってしまえ、という目論見。「普通のマイコン」ならタイマをいじるところですが、ラズパイPicoでは違う、と。
Pico三昧(11) Pico C/C++SDKでinterp#5、補間ついでに配列舐める
今回は前々回のBlendモード再びです。その上、Datasheetのサンプルプログラムほぼほぼそのままです。何といっても中の人の書いたサンプルプログラム流石すぎます。Blendモードで補間をするついでにデータ配列を舐めるためのポインタアドレスまで作ってました。私のような凡人には考えつかないテクであります。
Pico三昧(10) Pico C/C++SDKでinterpその4、クランプモード
ラズパイPicoのinterpユニットを使ってみる4回目は、Clampモードです。前回Blendモードを使ってみましたが、これは各コアに2個づつあるinterpのうち「0」のみの機能でした。じゃ「1」の方は何かないの?というとClampモードを持っているのです。上下の境界を超える値を「クランプ」してくれる機能です。
Pico三昧(9) Pico C/C++SDKでinterp その3、シンプルな線形補間
ラズパイPicoの特長の一つであるinterpを扱って三回目にして、ようやく回路名称である interpolator (補間器)の主目的である補間を試みてみます。今回は整数型のシンプルな線形補間です。Blend Modeというモードを設定するだけで、後はレジスタに値を書き込むだけで補間を行ってくれます。便利っちゃ便利ですが、Blend Modeって何者?という疑問が残ります。
Pico三昧(8) Pico C/C++SDKでinterp その2、DeadBeef例題
前回からラズパイPicoの特長の一つである interpolator を使いはじめました。今回は、interpolator の内部にある、シフタ、マスク、符号拡張器を制御してみます。RP2040データシートを読むとちょうどいい塩梅に処理例が載っていました。DeadBeefとな。ここでは16進数でちょうど32ビットだからってことみたいですが。