Pico三昧(31) ラズパイPico2:RP2350、Pico:RP2040、DMAC

Joseph Halfmoon

前回はPico2とPicoの内部バスを比較してみました。似ているけれどもコマケー違いは多々あり。概ねPico2の方が強化されとります。今回拝見するのはDMAです。これまたよく似ているけれどもPico2の方が強化されている?でもね、データシート的には「左遷」されている感じがしなくもないです。どうしたDMA。

“Pico三昧(31) ラズパイPico2:RP2350、Pico:RP2040、DMAC” の続きを読む

Lispと一緒(7) ラズパイPico2でもuLisp、世界はCONSとATOMで出来ている

EC_CONS
Joseph Halfmoon

Common Lispの系譜を継ぐ、マイコン上のuLispをラズパイPico2上で練習中。どうも「世界はCONSとATOMで出来ている」らしいです。今回はデータの構造体であるCONSを作り出すCONS関数と、CONSなのかATOMなのかを判断するATOM関数を練習してみます。根幹ゆえCommon Lispと当然の一致。

“Lispと一緒(7) ラズパイPico2でもuLisp、世界はCONSとATOMで出来ている” の続きを読む

Pico三昧(30) ラズパイPico2:RP2350、Pico:RP2040、内部バス比較

Joseph Halfmoon

前回はPico2のBoot ROM/RAMを調べました。今回はRP2350、RP2040に「似通った形」で実装されている内部バス。遠くからみると同じに見えるけれども、近寄ってみると細かく違う部分。ただし、ユーザーがその差を感じるのは処理スループットくらいか。気にしなければ知らんでも済む?いいのかそんなことで?

“Pico三昧(30) ラズパイPico2:RP2350、Pico:RP2040、内部バス比較” の続きを読む

ぐだぐだ低レベルプログラミング(185)x86(16bit)、シフト、ローテイト練習(86)

x86SFTdebug
Joseph Halfmoon

前回はx86命令(16bit)のうち「8086レベル」のシフト、ローテイト命令の動作を復習。コマケーところがメンドイものどもでした。前回は実機(実際はQEMUのエミュレーションだけれども)での動作確認をしなかったので、今回はデバッガで動かしながらの動作確認です。メンドイのでサラっと流していくぜ。いいのか?

“ぐだぐだ低レベルプログラミング(185)x86(16bit)、シフト、ローテイト練習(86)” の続きを読む

Lispと一緒(6) ラズパイPico2でもuLisp、EQとEQUALだけ?

eqequal_EC
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上で走るuLispをラズパイ Pico2 上で練習中。資源の限られたマイコンゆえCommon Lispと同じとはいきませぬ。前回のLispといったら CAR と CDR だろ~という浅はかな回では「3段重ね」まででした。今回EQとEQUAL見ていきます。EQLとかねえの?

“Lispと一緒(6) ラズパイPico2でもuLisp、EQとEQUALだけ?” の続きを読む

Lispと一緒(5) ラズパイPico2でもuLisp、まずはCARとCDR一族

car_cdr
Joseph Halfmoon

前回は吉例Lチカをやってみました。今回から uLisp の備える関数どもを端から一通り触っていきたいと思います。といっても御本家COMMON LISPのような膨大な関数があるわけではないです。約180個ほど。しかしその中のディスプレイ用関数群はディスプレイ接続しなければ不要。実際には百数十くらいか?
“Lispと一緒(5) ラズパイPico2でもuLisp、まずはCARとCDR一族” の続きを読む

Pico三昧(29) ラズパイPico2:RP2350、Boot ROMとBoot RAM

Joseph Halfmoon

前回のOTPはPico2で追加されたメモリでした。一部はユーザ使用も可能かと。一方、今回眺めてみるROM(ブートROM)はPicoの中の人がプログラムしたマスクROMみたいです。ユーザが書き変えることは出来ません。しかしその機能に毎度お世話になっておる、と。そしてPico2では専用RAMが追加されているみたい。 “Pico三昧(29) ラズパイPico2:RP2350、Boot ROMとBoot RAM” の続きを読む

Lispと一緒(4) ラズパイPico2でもuLisp、吉例Lチカ

blinkRunning
Joseph Halfmoon

ラズパイPico2をターゲットに、別シリーズにて 「C/C++ SDK」「Arduino」「MicroPython」の3種の開発環境にて吉例Lチカ。Pico2でもソフトが作れる雰囲気。しかし、心の底で引っかかっていたものがあります。組み込み用のLisp処理系、uLispです。今回は処理系インストールして吉例Lチカまで。
“Lispと一緒(4) ラズパイPico2でもuLisp、吉例Lチカ” の続きを読む

Pico三昧(28) ラズパイPico2:RP2350、OTP、ワンタイムプログラミング記憶

Joseph Halfmoon

ラズパイPico2搭載のRP2350のスペックをPicoのRP2040と比較してます。前回RP2350の「デュアルコアがまたデュアル」な制御でOTPというものが登場しました。ワンタイム・プログラミング・ストレージ。これはRP2040には存在せず、RP2350で登場したものです。今回はOTPについてざっと調べてみます。

“Pico三昧(28) ラズパイPico2:RP2350、OTP、ワンタイムプログラミング記憶” の続きを読む

ぐだぐだ低レベルプログラミング(184)x86(16bit)、シフト、ローテイト(86のね)

x86SFTROTfuncs
Joseph Halfmoon

前回は、MUL(掛け算)命令。今回はレジスタやメモリの中のビットをシフトしたりローテイトしたりする命令について調査。全8種類(実際は7種類)もあり。「フツーの」RISCはこの系統の命令種類をこれほどもってません。それにキャリーフラグが影響うけること多いなど動作もクセ強。御先祖の8ビットの血統を色濃く受け継いでおると。
“ぐだぐだ低レベルプログラミング(184)x86(16bit)、シフト、ローテイト(86のね)” の続きを読む

Pico三昧(27) ラズパイPico2:RP2350、Pico:RP2040との仕様比較3

ProcessorSubsystem
Joseph Halfmoon

前回までに、ラズパイPico2搭載のRP2350とPico搭載のRP2040の電源、クロックなどの比較を行いました。いよいよチップの内部です。最初は「プロセッサ・サブシステム」部分。PicoのRP2040はデュアルArmコア、RP2350ではデュアルArm+デュアルRISC-Vだと。でも実は構造、かなり似てました。
“Pico三昧(27) ラズパイPico2:RP2350、Pico:RP2040との仕様比較3” の続きを読む

Pico三昧(26) ラズパイPico2:RP2350、Pico:RP2040との仕様比較2

PicoPico2Table2
Joseph Halfmoon

前回はラズパイPico2搭載のRP2350とPico搭載のRP2040の電源、クロック端子などを中心に比較してみました。今回は残りの端子を比べてみます。しかし調べているうちにRP2354なる型番のチップも存在(現物を見たわけでないけれども)することが分かりました。パッケージ内部にFlashをスタックした版みたい。

“Pico三昧(26) ラズパイPico2:RP2350、Pico:RP2040との仕様比較2” の続きを読む

Pico三昧(25) ラズパイPico2:RP2350、Pico:RP2040との仕様比較1

PicoPico2Table1u
Joseph Halfmoon

過去回(第21回)でラズパイPico2搭載のRP2350マイクロコントローラのデータシート、PicoのときのRP2040のそれに比べて2倍以上のページ数(1346p)があると愕然としました。愕然としてばかりもいられないので、少しづつ読み進めていきたいと思います。RP2040と比べながらね。今回は電源、クロック端子など。

“Pico三昧(25) ラズパイPico2:RP2350、Pico:RP2040との仕様比較1” の続きを読む

Pico三昧(24) ラズパイPico2、MicroPythonで吉例Lチカ

Pico2MicroPython
Joseph Halfmoon

前々回はC/C++ SDK、前回はArduino IDEを使いラズパイPico2上で吉例Lチカ。今回はMicroPythonです。Pico2用のバイナリ(まだPreview版ですが)が既にMicroPythonの公式で公開されてます。書き込めば動きます。Pico用のMicroPythonソースそのままで吉例LチカOK。

“Pico三昧(24) ラズパイPico2、MicroPythonで吉例Lチカ” の続きを読む