周辺I/Oへアクセスするためのクレート(PACs)

svd2rustCMSIS-SVD ファイルから、メモリマップされた周辺I/Oに対するほぼ安全(mostly-safe)なRustラッパーを生成します。

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

  • SVD (System View Description)ファイルはXMLファイルでデバイスのメモリマップを記述したものであり、通常シリコンベンダにより提供されます。
    • 周辺I/Oごとに、レジスタ、フィールドと値、名前、説明、アドレスなどにより構成されています。
    • SVDファイルにはよく誤りがあり、また情報が不足していることも多いので、様々なプロジェクトがそれを修正・追加し、クレートとして公開しています。
  • cortex-m-rtはベクタテーブルも提供します。
  • もしcargo install cargo-binutilsを実行していれば、cargo objdump --bin pac -- -d --no-show-raw-insnを実行することにより生成されたバイナリの中身を見ることができます。

例の実行方法:

cargo embed --bin pac