Lispと一緒(17) ラズパイPico2でもuLisp、整数ビット演算

uLisp_logbitp
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回は整数のビット演算系の関数を練習してみます。Common Lispではboole関数とlogで始まる関数どもで似た処理が可能。uLispではlogで始まる関数のみ存在します。その範囲であれば「概ね」差は見えにくいです。

“Lispと一緒(17) ラズパイPico2でもuLisp、整数ビット演算” の続きを読む

Pico三昧(41) ラズパイPico2:RP2350、Pico:RP2040、UART比較

Joseph Halfmoon

前回GPIOの「違い」を眺めました。今回はUARTです。RP2040でもRP2350でも、搭載しているUARTのユニット数は2個。Arm社のIPであるArm PrimeCell UARTのまったく同じバージョンを搭載してます。「相違なんかない」と思いきや、「IPの外側で」微妙に差別化?してました。コマケー話なんだが。
“Pico三昧(41) ラズパイPico2:RP2350、Pico:RP2040、UART比較” の続きを読む

Lispと一緒(16) ラズパイPico2でもuLisp、文字列関連関数

concatenateEC
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。前回文字列を扱う関数を練習したので、今回は文字列やリスト、あるいは文字列を数値に変換するような関数をいくつか練習してみます。前回はCommon LispとuLispの間に差はなかったですが、今回はいろいろあります。仕方ねえ。

“Lispと一緒(16) ラズパイPico2でもuLisp、文字列関連関数” の続きを読む

Pico三昧(40) ラズパイPico2:RP2350、Pico:RP2040、GPIO比較

Joseph Halfmoon

過去回で何度も登場しているGPIOです。しかしRP2040とRP2350のGPIO機能をとりだして比較してなかったです。そこで今回は2チップのGPIO機能を表にして比べてみました。概ね「似たようなもん」ということで使えるのではないかと思います。しかし細かく見るとRP2350の方はいろいろと機能強化されています。 “Pico三昧(40) ラズパイPico2:RP2350、Pico:RP2040、GPIO比較” の続きを読む

Lispと一緒(15) ラズパイPico2でもuLisp、文字と文字列

uLisp_string_eq
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。前回までで算術演算系の関数どもはひと段落。今回は、文字と文字列を扱うものどもです。Common Lispでは多数ある関数どもが uLisp ではこじんまりとした数です。必要最小限?知らんけれども。いくつかは既に練習済じゃと。 “Lispと一緒(15) ラズパイPico2でもuLisp、文字と文字列” の続きを読む

Pico三昧(39) ラズパイPico2:RP2350、Pico:RP2040、PWM比較

Joseph Halfmoon

今回は周辺回路PWMです。他のマイコンではタイマに付属するIO機能として実装されることが多いです。Pico系ではタイマとは独立、IO制御専用です。PWMという呼称ですが、PWM出力以外に入力信号のカウント機能によりパルス幅、周期の測定も可能。なおPicoとPico2での差はチャネル数と割り込みくらいかと。そんなもん?

“Pico三昧(39) ラズパイPico2:RP2350、Pico:RP2040、PWM比較” の続きを読む

Lispと一緒(14) ラズパイPico2でもuLisp、大小比較

uLisp_numeq_noteq
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。前回まで算術演算系の関数どもを練習してきましたが、今回の「大小比較」で一段落かと。前回はコマケー話で、Common LispとuLispの違いが見えてしまいましたが、今回は平穏無事、波風立たず。

“Lispと一緒(14) ラズパイPico2でもuLisp、大小比較” の続きを読む

Pico三昧(38) ラズパイPico2:RP2350、Pico:RP2040、リセット比較

Joseph Halfmoon

前回はクロックでした、今回はリセットです。クロックとかリセットとか一番最初にやるでしょ、というところ。PicoとPico2を調べ始めた最初の方で外部端子ということでちょいと触れていたので詳細は後回しになってました。しかしPico2はPicoの方式を踏襲して拡張してますがケッコー複雑。元のPicoから複雑だと。
“Pico三昧(38) ラズパイPico2:RP2350、Pico:RP2040、リセット比較” の続きを読む

Lispと一緒(13) ラズパイPico2でもuLisp、乱数、最大最小、丸め系?

CeilingEC
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。前回は指数、対数系の演算関数を練習。計算精度を除けばCommon lisp とuLispに違いなし、平穏無事。今回は、乱数、最大最小、丸めなどやってみます。概ね一緒ではあるものの、コマケー違いがあるんだ、今回は。
“Lispと一緒(13) ラズパイPico2でもuLisp、乱数、最大最小、丸め系?” の続きを読む

Pico三昧(37) ラズパイPico2:RP2350、Pico:RP2040、クロック比較

Joseph Halfmoon

過去回で端子を調べたときにクロック源なども眺めたのでとっくに「やったような気」になっていたのですが、前回タイマ見て、肝心のクロックについて調べが足らないことに思い至りました。今回は外部端子から発振器、PLL、CGとその分配について改めて見ていきたいと思います。遠くからみると似たようなモン、だけれど随分と違うところあり。
“Pico三昧(37) ラズパイPico2:RP2350、Pico:RP2040、クロック比較” の続きを読む

Lispと一緒(12) ラズパイPico2でもuLisp、算術演算、指数、対数系?

uLispExpt
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。uLispにおいては浮動小数点数は extensions という位置づけですが、FPUを備えているPico2にはなんでもありません?前回は三角関数など練習。今回は指数、対数系です。今回は平穏無事な感じ。目くじらたてることもなし。

“Lispと一緒(12) ラズパイPico2でもuLisp、算術演算、指数、対数系?” の続きを読む

ぐだぐだ低レベルプログラミング(187)x86(16bit)、DECIMAL ADJUST族

DAS_1
Joseph Halfmoon

前回はBCD補正命令のうち、アンパックドBCD数を扱うASCII ADJUST一族について練習しました。アンパックドあればパックドあり、今回はDECIMAL ADJUSTです。一族といっても2命令だけ。DAAとDAS。しかしDAAこそは御先祖の8ビット機(8080/8085)から受け継ぐ伝統の?命令であります。
“ぐだぐだ低レベルプログラミング(187)x86(16bit)、DECIMAL ADJUST族” の続きを読む

Pico三昧(36) ラズパイPico2:RP2350、Pico:RP2040、タイマ比較

Joseph Halfmoon

今回はタイマです。伝統的な多くのマイコン(シングルチップ・マイクロコントローラ)では、タイマと言えばインターバルを与えたり、ワンショットで時間を測るなどの機能に加え、キャプチャやコンペア・チャネルを備え入出力を制御したり、他の周辺回路のボーレートを与えたりとブラックな働きぶり。しかしラズパイPico系ではホワイト?

“Pico三昧(36) ラズパイPico2:RP2350、Pico:RP2040、タイマ比較” の続きを読む

Lispと一緒(11) ラズパイPico2でもuLisp、算術演算、三角関数、平方根

pi_EC
Joseph Halfmoon

Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。前回は算術演算を練習するのに浮動小数点数使ってしまいました。しかし、uLispにおいては浮動小数点数は extensions という位置づけです。ターゲットマイコンによっては使えない機種もあり。Common Lispとの差異もあり。
“Lispと一緒(11) ラズパイPico2でもuLisp、算術演算、三角関数、平方根” の続きを読む