endcap-sl-software-ri-gener.../README-ja.md

3.5 KiB

Endcap SL Software RI Generator

pipeline status Latest Release

これはXMLのレジスタマップからMPSoCソフトで使う用のコードを生成するソフトです。

XMLおよびそのスキーマはL0 Muon Endcap/Endcap Sl CSR XMLにあります。 生成されたコードはMPSoC Softwareで使うことが想定されています。 そこにRegisterSpecなどのレジスタ向けのトレイトが定義されてます。

使い方

このプロジェクトでは、バイナリとライブラリの両方のクレートを提供しています。 バイナリクレートはシェルから使うことができ、ライブラリクレートは他のプログラムから使うためのものです。

ビルド環境の構築

このコードはRustで書かれているので、rustupをインストールする必要があります。 rustupのインストールには公式サイトにあるcurlスクリプトを使うか、あるいはシステムのパッケージマネージャを使うことができます。 cargoを実行してみることでインストールのチェックができます。

cargoはlxplusにインストールされているみたいなので、それも使えるかもしれません(ただし、バージョンは最新ではありません)。

バイナリクレートの使い方

cargo build --features=bin --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が役に立ちました)。