9 个不稳定版本 (3 个破坏性版本)
新 0.4.0 | 2024 年 8 月 20 日 |
---|---|
0.3.5 | 2024 年 7 月 3 日 |
0.3.1 | 2024 年 6 月 14 日 |
0.2.0 | 2024 年 6 月 13 日 |
0.1.0 | 2024 年 5 月 28 日 |
#344 in 嵌入式开发
每月 134 次下载
285KB
1K SLoC
包含 (ELF 可执行文件/lib, 1MB) test_binaries/emb-runner-test
embedded-runner
Cargo 运行器,用于使用 GDB 和 OpenOCD 的嵌入式项目。
请确保 GDB 可执行文件是 arm-none-eabi-gdb
或通过环境变量 GDB
设置。OpenOCD 可执行文件 openocd
必须在路径中可用。
用法
-
使用
cargo install embedded-runner
安装包。 -
在
.cargo/config.toml
中将embedded-runner run
设置为 cargo 运行器[target(<your target configuration>)] runner = "embedded-runner run"
-
创建运行器配置
默认情况下,
embedded-runner
将在.embedded/runner.toml
中查找运行器配置。可以通过在run
命令之前使用--runner-cfg
参数设置自定义路径。请确保为
mantra-rust-macros
启用defmt
功能,以便在使用 mantra 时获取需求覆盖率日志。配置允许以下设置
# Optional: Load section in the gdb script. # # The load section gets resolved using the Tera templating language. # Variables `binary_path`, `binary_filepath`, and `binary_filepath_noextension` are passed as context. # # e.g. "load {{ binary_filepath }}" load = "load" # Optional: Path to a custom OpenOCD configuration openocd-cfg = ".embedded/openocd.cfg" # Optional: Connection to a GDB server to use instead of OpenOCD gdb-connection = "" # Optional: Path to write GDB logs to gdb-logfile = "<output directory>/gdb.log" # Optional: RTT port to use on the host rtt-port = 19021 # Optional: Define a command to run before the runner executes the binary. # A 'post-runner' may also be set that is run after executing the binary. # # On windows, `pre-runner-windows` is available that takes precedence over `pre-runner`. # Same with `post-runner-windows`. [pre-runner] # Name of the command name = "powershell" # Arguments passed to the command. # The binary path is automatically added as last argument args = ["echo"]
-
可选:添加您的 OpenOCD 配置
如果
runner.toml
文件中没有设置 GDB 连接,则需要此配置文件。默认情况下,
embedded-runner
将在.embedded/openocd.cfg
中查找,但您可以在运行器配置中更改此路径。 -
创建和运行您的
defmt-test
测试有关如何使用
defmt
框架创建和管理测试的详细信息,请参阅defmt-test
文档。 -
可选:从多个测试运行中收集测试结果
运行
嵌入式-runner collect <输出文件路径>
以将所有测试运行结果合并到一个文件中。内容将遵循 mantraCoverageSchema
的 JSON 格式。
许可证
MIT 许可
依赖项
~16–26MB
~394K SLoC