鬱猫のつぶやき

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

2019-07-01から1ヶ月間の記事一覧

Chisel3でメモリにテキストデータを読み込む際の手順

やり方がよくわからず結構苦戦した。一応ドキュメントにそれっぽい記載はあるんだけども。 chisel3.util.experimental.loadMemoryFromFileという関数を使うのが簡単。例えば、 class InstMemory(memfile: String) extends Module { val io = IO(new Bundle{ …

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以外であることが、…

Practical Binary Analysisを読み始めた 1

先週の連休からPractical Binary Analysisを読み始めた。 www.amazon.co.jp 会社の先輩に進められて読み始めたが、なかなか良い。最初のチャプターでCのソースコードをコンパイルして実行ファイルが生成されるまで書いてあるのは良かった。 その他、bdf libr…

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…

はじめまして

本日からはてなブログをやることになりました。 これまでブログの代わりとしてQiitaを利用していましたが、プログラミング以外のことも投稿したいということがあったこと、はてなでもMarkdown記法が使えての記事投稿ができるということがあり、移行すること…