RISC-V

RISC-VのFENCE.I命令を調べる

rv32i基本命令をざっと眺めていて、この命令だけなんだろう?と思ったので調査します。 RISC-V specification v2.2の2.7 Memory Modelセクションに記載があります。 hardware thread間でのメモリ操作命令実行順序を保証するための明示的な命令がFENCE命令、…

cargoでリンカを指定して独自リンカスクリプトを使う方法

Rust × RISC-Vでプログラミングをしているのですが、cargoだけで思い通りのリンクができるようになりました。 地味にやり方が見つからなかったのですが、絶対どこかには書かれていると思うんですよね。ご存知の方がいらっしゃいましたらご連絡下さい。 Rust…

RustのtargetにRISC-Vを指定するとspin crateが使えない!?

RustでRISC-Vをターゲットに試行錯誤しています。 試行錯誤の途中経過ですので、情報や解釈が誤っている可能性があります。 先日、Mutexを使うためにspin crateを使おうとしました。 mvdnes.github.io ところが、次のようなコンパイルエラーが発生しています…

RustでRISC-Vバイナリ生成 2018/10版

近いうちにstableで使えるようになるはずです(8月にnightlyに入ったので、12週間後、来週あたり?にstableになるはずです)。 ですが、今必要なので、今確認できた方法を書きます。 下の環境で確認しています。 Ubuntu16.04@VirtualBox rustc 1.31.0-nightly …