2019-03-01から1ヶ月間の記事一覧
はじめに 追記しました(3/28) 題名がもうなんだかわからなくなってきたが、とりあえずCLINT編の続き。 前回、michaeljclark/riscv-probeの割り込みベクタとハンドラの部分を調査した。 実際にこの部分を動かしているサンプルであるprobe.cを実行してみたとこ…
はじめに NuttXにビルトインアプリケーションを追加する方法を調査した。 ここが日本語でよくまとまっていた。 プログラムを作成する場所 プログラムをどこに追加するかと言うのが一つ考えどころだが、apps/README.txtによると、 Use of the name ''apps/ext…
はじめに RISC-VというかFE310の割り込み周りについて勉強する。 取っ掛かりとしてはここが分かりやすかった。 割り込みの種類 RISC-V ISAではグローバル割り込み(global interrupt)とローカル割り込み(local interrupt)が定義されている。 HART(HARdware Th…
はじめに ただしこっちのカーネルでもoverlaysがビルドエラーを起こすので、それは調査する必要がある。 ので調査した。 ログを観察する タスクごとのログファイルはtmp/work/raspberrypi3-poky-linux-gnueabi/linux-raspberrypi/1_5.0.0+gitAUTOINC+00794df…
はじめに RPiのカーネルはこっちで管理されているが、まだ5.0-rc8なのでバニラカーネルを試すことにした。 もう-rc8が取れてたので、こっちも動かしてみる。 基本的な方針は前回と変わらずに下記のようにする。 meta-raspberrypiのカーネルとはバージョンが…
はじめに ubuntuを使っていて、SSH越しにbitbake virtual/kernel -c menuconfigや-c devshellをすると、次のエラーが出て失敗する事がある。 ERROR: linux-raspberrypi-1_5.0.0+gitAUTOINC+00794df915-r0 do_menuconfig: Unable to spawn terminal auto: Exe…
はじめに Linuxカーネル5.0がリリースされたのでmeta-raspberrypiの環境で試そうと思ったら、いろいろと罠があって4日も経ってしまった。 RPiのカーネルはこっちで管理されているが、まだ5.0-rc8なのでバニラカーネルを試すことにした。 meta-raspberrypiの…
はじめに 前回動かした環境でUARTを動かしてみる。 具体的には、またdwelch67/sifive_samplesを写経する。 UARTのレジスタ構成 SiFive FE310-G000 Manual v2p3から抜粋する。 UARTレジスタ 必要なレジスタは7つ。 注意する点としては、txdataのところにこん…
はじめに PlatformIOなどを使用すれば、なんちゃってベアメタルプログラミングは簡単に始められるが、 そこに至るまでの知識が全く足りていないため少しだけ掘り下げてみる。 今回のターゲットはSiFiveのHiFive1(のエミュレータ)。 ツールチェイン HiFive1に…
はじめに RISC-VのQEMUを動かしてみる。 依存パッケージのインストール $ sudo apt-get install gcc libc6-dev pkg-config bridge-utils uml-utilities zlib1g-dev libglib2.0-dev autoconf automake libtool libsdl1.2-dev ビルド ここを参考にビルド $ git…