Raspberry Pi

Raspberry Pi

ベアメタルRaspberry Piの例外処理の書き方

前回はRPiベアメタル版MicroPythonにPinクラスを追加しましたが、実装したのは入出力ができるだけの最低限の機能でした。今後、GPIO周りの様々な機能を実装していくには、まず先に割り込みを実装しておくほうが良さそうです。データ転送...
Raspberry Pi

MicroPythonにPinクラスを追加する(RPiベアメタル)

少しずつ進めているRaspberry Pi用ベアメタルMicroPythonですが、今日は基本中の基本のPinクラスを実装し、Lチカができるようになりました。I2CやSPIを実装するにも、まずどのPinを使うか指定する必要がありますので、と...
Raspberry Pi

Raspberry Piベアメタルプログラムへのパラメータの渡し方

Raspberry PiのベアメタルプログラムをQEMUで動作させる場合には、シリアルポートはMini-UARTではなく通常のUARTを使う必要があります。これについて以前書いたときは、コンパイル時に#ifでどちらのUARTを使うかを指定す...
Raspberry Pi

MicroPythonからラズパイのフレームバッファへ描画する

前回試した、Raspberry Piのベアメタルプログラミングでの画面表示を、ベアメタル版MicroPythonに載せてみました。Raspberry PiのフレームバッファにMicroPythonから描画できました。MicroPythonに...
Raspberry Pi

Raspberry Piベアメタルプログラミングで画面表示をやってみた

ラズパイでのベアメタルプログラミング、再開しました。これまで、Lチカ、UART、USBキーボード、USBキーボード(その2)と試してきましたが、今回は画面への描画です。画面出力を制御するGPUから、フレームバッファのアドレスを取得し、フレー...
Raspberry Pi

Respeaker 2-Mic pHAT

昨日試したSpeaker pHATと同時に、Seeed StudioのReSpeaker 2-Mics Pi HATも購入していたので、こちらもつないでみました。こちらはステレオコーデックにステレオイヤホンジャック、2つのMEMSマイク、タ...
Raspberry Pi

Speaker pHATとButton SHIM

先日のInky pHATと一緒に購入した、pimoroni Speaker pHATも組み立てて動かしてみました。後に写っているのはButton SHIMで、これも一緒に購入したものです。Speaker pHATはラジカセっぽいデザインにや...
Raspberry Pi

Inky pHATのための画像変換ツールを作ってみた

先日届いたpimoroni Inky pHATですが、記事にも書いたようにPythonライブラリで扱える画像ファイルは、ちょっと特殊な形式をしています。そこで、普通のJPEG画像等から、Inky pHAT用のPNGファイルを生成するためのツ...
Raspberry Pi

電子ペーパーディスプレイInky pHATを買ってみた

pimoroniから販売されているRaspberry Pi用のe-inkディスプレイ「Inky pHAT」に以前から興味があったので、買ってみました。解像度は212×104ピクセルで、白黒赤の3色表示です。ちょっと珍しいですね。表示面積もR...
Raspberry Pi

Raspberry Pi bare metal MicroPython+USBホストコントローラのテスト

前回、あれこれと考えたMicroPythonへのUSBキーボード接続ですが、とりあえず簡単にできそうなREPL専用の実装をやってみることにしました。基本的には、REPLのためにシリアルポートから1文字ずつ読む関数mp_hal_stdin_r...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(4)

ベアメタルRaspberry PiのUSBドライバの続きです。csudで、Raspberry Pi Zero Wに直接接続したキーボードを取り外すと処理が正しく行えない問題を修正しました。root hubからデバイスを取り外した際の「変更あ...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(3)

前回の続きです。以前にリストアップした中でちょっと触れていたcsudの64bit対応の派生版について、もう少し詳しく調べてみました。下記のリポジトリにはコンパイル済みのバイナリがあり、マウスとキーボードの値が画面表示されます。USB per...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(2)

昨日に引き続き、Raspberry PiのベアメタルUSBデバイスドライバ「csud」のRPi Zero W対応をしています。昨日はUSBキーボードがRPi Zeroに直結された場合に、USB2.0のSplitパケットを送信しないように修正...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(1)

引き続きRaspberry PiのベアメタルプログラミングでUSBデバイスを動かす調査です。前回、Pi Zero WにUSBキーボードを直結するとcsudデバイスドライバがうまく動作しない原因は、本来送るべきでないSplitパケットが送られ...
Raspberry Pi

Raspberry PiのベアメタルUSBドライバの信号を観測してみた

以前調査したように、Raspberry PiのUSBコントローラのドライバには何種類かあり、最もシンプルな「csud」はベアメタルで使うには良さそうですが、Raspberry Pi Zero WではUSB Hubを使わないとデバイスが接続で...