#8: 自作RISC-VエミュレータにUARTデバイスを実装してみる
低レイヤーガール
0:00 / 0:00
#8: 自作RISC-VエミュレータにUARTデバイスを実装してみる
3 921 просмотр · 6 лет назад
低レイヤーガール
7,85 тыс. подписчиков
3 921 просмотр · 6 лет назад
ソフトウェアエンジニアである @d0iasm, @hikalium, @saho_bofffff の3人が低レイヤーについてお喋りしながら、レイヤー低めのペアプログラミングをします。
@d0iasm が開発しているRISC-Vエミュレータ rvemu にUARTというシリアル出力デバイスを付け足してみることが今回のゴールですが、まずはコンピューターにおいて周辺機器は、CPUやメモリとどのような関係にあるのかについて、図を使いながら考えてみました。そして、理解した内容を再確認しながら、エミュレーターにUARTデバイスを追加して、Hello, world!を表示することを試みました。
今回機能を追加してみたrvemuのソースコード
https://github.com/d0iasm/rvemu-for-y...
周辺機器の説明に使った図の出典元であるOS Girlsという同人誌(hikalium著)はこちらから購入できます!
https://hikalium.booth.pm/
UARTのレジスタの説明が載っているサイト
http://byterunner.com/16550.html
訂正事項:
13:38 UARTはプロトコルではなく、ハードウェアデバイスの名前です。
43:17 今回のコードで必要なのは、RHR (受信側のバッファ)ではなくTHR (送信側のバッファ) でした。UART16550AではRHRとTHRが同じ位置にマッピングされているため今回はうまく動いていました。