The Embedded Rust Book翻訳の気づきメモ①

Introduction - The Embedded Rust Book

お仕事でもRustをやりたいな、と考えて、組込みでRustを広めるために翻訳を行っています。 翻訳を進める中で、技術的にも英語的にも、学びがあるので、それを綴っていきます。

github.com

一応今の状況としては、Introductionの翻訳が完了しています。

ちゃんとページとして見える環境の整備もTo Doです。

英語

始めてみた単語を並べていきます。

英単語 意味 コメント
fiddle ~をいじくる ハードウェアをいじる、という文脈で出てきます。

Rust

cargo generate

github.com

存在を忘れがちなcargo generateさん。 Cargo.tomlのauthorやproject-nameを埋めてくれるので、教材のテンプレートを作るときには便利そうです。

entry attribute

#[entry] attricuteを指定した関数が、エントリーポイントになります。

rust-embedded.github.io

ざっくりソースコードを確認したところ、#[export_name = "main"]でattributeをつけた関数をmainというシンボルでエクスポートするようです。

    quote!(
        #[export_name = "main"]
        #(#attrs)*
        pub fn #hash() -> ! {
            #(#vars)*

            #(#stmts)*
        }
    ).into()

後は、リンカスクリプトでシンボルにアドレスを割り振れば、それでエントリポイントになりますね。

その他

QEMUのセクションですが、最初のプロジェクトテンプレート作成あたり、めっちゃ親切です。 テンプレート作成するだけで、cargo generate使う方法、gitを使う方法、両方使わない方法の3通りも書いてくれています。

このホスピタリティは、自分にはないものですね…。見習いたいです。

あー、QEMUのページ長い…。