2018-11-01から1ヶ月間の記事一覧

Rust The Embedonomiconをやる④

tomo-wait-for-it-yuki.hatenablog.com 続きです。 最後の7. Global singletonsをやっていきます。 Global singletons ログ機能をグローバルなオブジェクト経由で実現するように修正します。 log!(logger, "String")で使用していたログmacroを、log!("String…

Rust The Embedonomiconをやる③

Rust The Embedonomiconの続きです。 tomo-wait-for-it-yuki.hatenablog.com 4. Assembly on stableからやっていきます。 Assembly on stable - The Embedonomicon Assembly on stable Rustのインラインアセンブリも自由形式アセンブリもnightlyの機能です。…

Rust The Embedonomiconをやる②

tomo-wait-for-it-yuki.hatenablog.com Rust The Embedonomiconの続きです。 前回記事では、下記2つの項目を実施しました。 The smallest #![no_std] program Memory layout A main interfaceから続きをやっていきます。 A main interface まず、binary crat…

Rust The Embedonomiconをやる①

良いものを発見したので、やってみましょう。 Preface - The Embedonomicon ターゲットはCortex-Mなので、一通り終わったら、RISC-Vをターゲットにやってみます。 Preface 次の3つのことを習得できるようです。 #[no_std]アプリケーションのビルド memory la…

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

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

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

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