鬱猫のつぶやき

鬱猫が日々思っていることをつづります

RISCV

RISC-V Day Tokyo 2019 に参加してきた

日立製作所 日立馬場記念ホール にて行われたRISC-V Day Tokyo 2019に参加してきた。聞いて思ったことを忘れないうちに書き残しておこうと思い、記事にした。 個人的に気になったこと まずは、将来的にRISC-Vが機能をスイスに移すことを計画しているとの話。…

Embenchを試そうとしたが動かせなかった

Dhrystone に変わるフリーのCPUを性能を測るベンチマークとして Embench が David Patterson によって提案されているのを、RISC-V Workshop Zurich で知った。発表スライドとビデオはこのリンクの"Embench TM: A Free Benchmark Suite for Embedded Computin…

RISC-V Linuxでptrace使う場合の注意点

「たのしいバイナリの歩き方」の本やバイナリの歩き方に掲載されているptraceのサンプルプログラムが、RISC-V QEMU上で動いているLinuxではどうもうまく動かない。その原因を調査していた。 うまく動かないと悩んでいたコードはバイナリの歩き方に掲載されて…

QEMU RISC-V Fedora の Dockerfileを更新した

RISC-V を簡単に試すことができるDockerfileを作成した。Qiitaの記事からDockerfileの更新したもの。Docker Hubから利用できる。 前回からの変更点として、ブートローダにbblが使われなくなっていることがあげられる。READMEにも以下のような記載がある。 Th…

教育用RISC-V Davis In-Order CPUの論文を読む

Davis In-Order CPUというカリフォルニア大学デービス校のコンピューターアーキテクチャの授業で使われている、RISC-V ISAを実装したCPUがある。少し前に論文として上がっていたので読んでみた。 論文のPDFはこちら。 カリフォルニア大学デービス校では長い…

Zephyr OSを使ってみた

Zephyr OSというリアルタイムOSを使うことになったので、その環境構築時の手順のメモ。 SDKを導入し、環境変数を設定する。 $ wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.1/zephyr-sdk-0.10.1-setup.run $ ./zephyr-sdk-0.…

spike-dasmの逆アセンブル結果がおかしい件について

risv-isa-simに付随しているspike-dasmの逆アセンブル結果におかしい点を見つけた。 $ echo "DASM(0x00000000)" | spike-dasm c.addi4spn s0, sp, 0 と表示されるんだが、これ unimp が表示されるのが適切。 c.addi4spn に関しては即値が0以外であることが、…

hope-RIPEを使ってみる その2

昨日、hope-RIPEをSpikeシミュレーターで動かしてみたんだが、Stack Buffer Overflowを利用したROPが成功しないという不可解な現象に遭遇した。SSPが有効になっているからかと思ったけども、Makefileを見る限りではそうではないみたいだし、これは何だろうと…

hope-RIPEを試してみる その1

Runtime Intrusion Prevention Evaluator (RIPE) という、脆弱性攻撃に対する防御のカバレッジを測定するためのツールがある。これを用いると種々のパラメータを変化させながら種々の脆弱性攻撃用コードを生成、そのコードを実行し脆弱性攻撃の成否をレポー…

Maixduino を使ってみる

先日、Amazonで注文していたSipeed Maixduinoキットが届いたので、遊んでみる。 開発環境のセットアップ gnu-toolchain があるので、これを落としてきてビルドする。 $ git clone --recursive https://github.com/kendryte/kendryte-gnu-toolchain $ cd kend…