3.1 KiB
Endcap SL Software RI Generator
これはXMLのレジスタマップからMPSoCソフトで使う用のコードを生成するソフトです。
XMLおよびそのスキーマはL0 Muon Endcap/Endcap Sl CSR XMLにあります。
生成されたコードはMPSoC Softwareで使うことが想定されています。
そこにRegisterSpec
などのレジスタ向けのトレイトが定義されてます。
使い方
このプロジェクトでは、バイナリとライブラリの両方のクレートを提供しています。 バイナリクレートはシェルから使うことができ、ライブラリクレートは他のプログラムから使うためのものです。
ビルド環境の構築
このコードはRustで書かれているので、rustupをインストールする必要があります。
rustupのインストールには公式サイトにあるcurl
スクリプトを使うか、あるいはシステムのパッケージマネージャを使うことができます。
cargo
を実行してみることでインストールのチェックができます。
cargo
はlxplusにインストールされているみたいなので、それも使えるかもしれません(ただし、バージョンは最新ではありません)。
バイナリクレートの使い方
cargo build --bins --release
を実行します。
--release
はオプションです。
target/release
に入ってるバイナリファイルを実行するか、cargo run -- <XML> <OUT>
で実行できます。
詳しくは--help
を見てください。
ライブラリクレートの使い方
cargo doc --open
で閲覧できるドキュメントを見てください。
開発
cargo doc --document-private-items --open
でみれるプライベートアイテムを含んだドキュメントを見てください。
テストなどは以下のコマンドで実行できます
$ cargo test # テスト
$ cargo fmt # フォーマット
$ cargo clippy # リント (`rustup component add clippy`でインストールできます)
rust-analyzer
開発にはrust-analyzerを使用することを 強く推奨 します。 推論された型の表示や補完に関して必要不可欠な上、フォーマットやclippyを実行することができます。
CIについて
ビルドとフォーマットとclippyのテストが走ります。 フォーマットやclippyのチェックをしてpushしてください。
Rustについて
以下のウェブサイトでRustを良く学べます。
もしくはターミナルで
rustup doc
を実行してみてください。 様々な有益なドキュメントへのリンクが載っています(自分はThe Bookとstandard libraryのドキュメントとRust By Exampleが役に立ちました)。