Pico三昧(20) Picoprobe復活、しかしなぜ「そこに」?動いたからまあいいか。

DeviceEC
Joseph Halfmoon

もう1台のラズパイPicoをラズパイPicoのデバッグプローブとして使うPicoprobe、第17回でセットアップして使えるようなっていました。しかし前回使おうとしたらOpenOCDでエラー。Picoprobe CMSIS-DAP行方不明?今回はガタゴトやって動くようになったのですが、理由はサッパリ。なんでだ?
“Pico三昧(20) Picoprobe復活、しかしなぜ「そこに」?動いたからまあいいか。” の続きを読む

Pico三昧(19) ADCをちょっと触ろうとしたらPicoprobe消えていた。いつもの?

MicroPhone_DUT
Joseph Halfmoon

今回マイクロフォンをPicoのADCに接続して実験しようと思い立ったのです。ビルドした後になって気づきました。前々回インストールして動作OKになっていたPicoprobe、認識されてません。なして?そういえば今週例のアレが走ってなかったか。しかたがないので今回はPicoprobe無で実験。Picoprobe復活は次回?

“Pico三昧(19) ADCをちょっと触ろうとしたらPicoprobe消えていた。いつもの?” の続きを読む

Pico三昧(18) picotool有、pico-project-generator要導入

generator
Joseph Halfmoon

前々回、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が接続できなかったのは配線間違えてたせい

RaspberryPiPico_PicoProbe
Joseph Halfmoon

前回Windows11上にRaspberry Pi Picoの開発環境をインストール、サンプルプログラムを動作させることができました。次はデバッグです。今までラズパイ4をホストにしていたときはラズパイ4がデバッグI/Fも提供してくれたです。パソコンの場合は2台目のPicoをデバッグI/Fに使うと。ここでまたもやらかし。
“Pico三昧(17) PicoProbeが接続できなかったのは配線間違えてたせい” の続きを読む

Pico三昧(16) Win11上にPicoの開発環境インストール、ずいぶんお楽になっていた

PicoSDK1_5_Win11
Joseph Halfmoon

ほぼほぼ1年近く「Pico三昧」休止してしまいました。理由はメンドかったからデス。Picoの開発ホストにラズパイ4を使っておったのですが、ラズパイ4を立ち上げて「さらにPicoを接続」という1手順がメンドイばかりに1年も。そこで今回は普段使っているWindows11機上にPico環境をインストールしました。

“Pico三昧(16) Win11上にPicoの開発環境インストール、ずいぶんお楽になっていた” の続きを読む

Pico三昧(15) PicoでもGo!Flash書き込み方法教えてもらった+VSCode

VScodeTinyGo
Joseph Halfmoon

前回、TinyGoのオブジェクトをラズパイPicoに書き込むのに「まどろっこしい」方法を書いてしまいました。そしたらば「takasago様」からツイッターで「もっといい方法」お教えいただきました。ありがとうございます。やってみました。良い感じです。今回はついでにVSCodeも使えるように。細かい躓きはいつもあり。

“Pico三昧(15) PicoでもGo!Flash書き込み方法教えてもらった+VSCode” の続きを読む

Pico三昧(14) PicoでもGo! TinyGoのオブジェクトがPico上で走るまで

TinyGoTarget
Joseph Halfmoon

別シリーズでGo言語を勉強したりしているのですが、インタプリットもでき、バイナリにビルドもできでなかなか良いものです。マイクロコントローラでもGoのオブジェクトを走らせられるということで今回やってみましたです。ターゲットはラズパイPico。その母艦は例によってラズパイ4です。C/C++SDKと同様で実行可能。

“Pico三昧(14) PicoでもGo! TinyGoのオブジェクトがPico上で走るまで” の続きを読む

Pico三昧(13) Pico C/C++SDKで4.096MHzクロック生成その2PIO

PIO_FFT
Joseph Halfmoon

前回PWMで生成したクロックで十分かな~と思ってしまったので、もう一度似たようなことをやるのはカッタるいです。でも自分でPIO(プログラマブルIO)でもクロック作ってみると書いてしまったのでやらないと。大分ラズパイPicoのPIOにも慣れたんですが、PIOアセンブラでたった2行。けれどヘッダ部分書くのがメンドイのよね。

“Pico三昧(13) Pico C/C++SDKで4.096MHzクロック生成その2PIO” の続きを読む

Pico三昧(12) Pico C/C++SDKで4.096MHzクロック生成その1PWM

PWM4096_EC
Joseph Halfmoon

あるデバイスを動かそうとしたら4.096MHzのクロックが必要と書いてありました。手元には4MHzピタリの水晶振動子の在庫はあったと思ったですが、4.096MHzありません。ラズパイPicoで制御するつもりなのだし、ラズパイPicoでクロックから作ってしまえ、という目論見。「普通のマイコン」ならタイマをいじるところですが、ラズパイPicoでは違う、と。

“Pico三昧(12) Pico C/C++SDKで4.096MHzクロック生成その1PWM” の続きを読む

Pico三昧(11) Pico C/C++SDKでinterp#5、補間ついでに配列舐める

Debug000
Joseph Halfmoon

今回は前々回のBlendモード再びです。その上、Datasheetのサンプルプログラムほぼほぼそのままです。何といっても中の人の書いたサンプルプログラム流石すぎます。Blendモードで補間をするついでにデータ配列を舐めるためのポインタアドレスまで作ってました。私のような凡人には考えつかないテクであります。

“Pico三昧(11) Pico C/C++SDKでinterp#5、補間ついでに配列舐める” の続きを読む

Pico三昧(10) Pico C/C++SDKでinterpその4、クランプモード

interpClampVScode
Joseph Halfmoon

ラズパイPicoのinterpユニットを使ってみる4回目は、Clampモードです。前回Blendモードを使ってみましたが、これは各コアに2個づつあるinterpのうち「0」のみの機能でした。じゃ「1」の方は何かないの?というとClampモードを持っているのです。上下の境界を超える値を「クランプ」してくれる機能です。

“Pico三昧(10) Pico C/C++SDKでinterpその4、クランプモード” の続きを読む

Pico三昧(9) Pico C/C++SDKでinterp その3、シンプルな線形補間

blend Mode Interporation
Joseph Halfmoon

ラズパイPicoの特長の一つであるinterpを扱って三回目にして、ようやく回路名称である interpolator (補間器)の主目的である補間を試みてみます。今回は整数型のシンプルな線形補間です。Blend Modeというモードを設定するだけで、後はレジスタに値を書き込むだけで補間を行ってくれます。便利っちゃ便利ですが、Blend Modeって何者?という疑問が残ります。

“Pico三昧(9) Pico C/C++SDKでinterp その3、シンプルな線形補間” の続きを読む

Pico三昧(8) Pico C/C++SDKでinterp その2、DeadBeef例題

DeadBeef
Joseph Halfmoon

前回からラズパイPicoの特長の一つである interpolator を使いはじめました。今回は、interpolator の内部にある、シフタ、マスク、符号拡張器を制御してみます。RP2040データシートを読むとちょうどいい塩梅に処理例が載っていました。DeadBeefとな。ここでは16進数でちょうど32ビットだからってことみたいですが。

“Pico三昧(8) Pico C/C++SDKでinterp その2、DeadBeef例題” の続きを読む

Pico三昧(7) Pico C/C++SDKでinterp その1、popとpeek

projectSetupEC
Joseph Halfmoon

ラズパイPicoの特長的なハードウエアのひとつが interpolator です。その名からすると補間をしてくれるハードウエアですが、実際にはいろいろな目的に使えそうなデータパス、計算エンジンと言う感じです。RP2040の2個あるコアに2個づつ合計4個のinterpolatorが搭載されています。今回は pop と peek 2つの基本操作の違いを見てみます。

“Pico三昧(7) Pico C/C++SDKでinterp その1、popとpeek” の続きを読む