boochow

Raspberry Pi

なぜRaspberry PiにMicroPython?

Raspberry Piでは、Raspbian上で普通のPythonを使ってI/Oを制御することができます。 なのに敢えて、ベアメタルでMicroPythonを実装することにどんな意味があるのか、最近思っていることをちょっと書いておきます。...
Raspberry Pi

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

先日作成したTimerクラスですが、複数タイマーのサポートやメソッドの追加を行いました。 今回追加した機能を含めたTimerクラスの仕様はこんな感じです。 ・machine.Timer(id) {System Timerのインスタンスを作成...
Raspberry Pi

ラズパイゼロ向きなUSB→マイクロUSB変換アダプタ

Raspberry Pi ZeroシリーズはUSBポートがマイクロUSBになっています。 キーボードやマウスを直結することも可能ですが、USBプラグがマイクロUSBになっている機器はあまり多くありません。 このアダプタはUSB(Type-A...
日記

koshian3.0をとりあえず買っておいた

品切れのままになっていたkoshian2.0に代わって、koshian3.0が登場しました。 スイッチサイエンスさんから販売されています。 気付いたらまた品切れになっていた、ということにならないように、とりあえず1個買ってみました。 Kos...
Raspberry Pi

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

先日の実験でRaspberry Piのタイマ割込処理がだいたい分かったので、MicroPythonにこのタイマ割り込みを実装してみました。 MicroPythonにはTimerクラスがあり、タイマーを使ってコールバック関数を呼ぶことができま...
Raspberry Pi

Raspberry PiにおけるBASIC IRQペンディングレジスタの構成

Raspberry Piの割り込みでは、割り込みハンドラの中でペンディングレジスタを調べて適切な処理をする必要があります。 前回書いたように、ペンディングレジスタは各ビットが「未処理の割り込み要因」を表しています。 特に、BASICペンディ...
Raspberry Pi

Raspberry Piでのシステムタイマ割り込みを試してみた

Raspberry Piには「System Timer」と「ARM Timer」の2系統のタイマがあります。 前回は、このうちARM Timerのほうを使いましたが、今回は、同様にSystem Timerでの割り込みを使い、周期の異なる2つ...
Raspberry Pi

ベアメタルRaspberry Piの例外処理を書いてみた

前回調べた情報に基づいて、ラズパイのベアメタルでの割り込み処理を試してみました。 コードは以下に置いてあります。 bare_matal_rpi_zero/timer-irq at master · boochow/bare_matal_rp...
Raspberry Pi

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

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

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

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

Xilinx Artix-7 FPGA 評価ボード「Arty」を動かしてみた

XilinxのArtyというFPGAボードを買ってみました。 3月末にRSコンポーネンツで3割引きセールがあり、税抜き10525円と若干お得に買えました。 Arty Artix-7 35T Arty FPGA 評価キット このクラスのザイリ...
Raspberry Pi

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

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

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

前回試した、Raspberry Piのベアメタルプログラミングでの画面表示を、ベアメタル版MicroPythonに載せてみました。 Raspberry PiのフレームバッファにMicroPythonから描画できました。 MicroPytho...
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マイク、...