#target #flash #arm #probe-rs #cmsis-packs

app target-gen

一个命令行工具,用于创建来自CMSIS-Packs的probe-rs新目标文件

11个重大版本

0.24.0 2024年5月22日
0.23.0 2024年2月24日
0.22.0 2024年1月3日
0.21.1 2023年10月12日
0.12.0 2021年11月24日

#389 in 嵌入式开发

MIT/Apache

5MB
52K SLoC

包含(ZIP文件,2.5MB)NordicSemiconductor.nRF_DeviceFamilyPack.8.32.1.pack

target-gen

target-gen是probe-rs的一个辅助工具,可以用于从ARM CMSIS-Packs中提取闪存算法和芯片描述。这样您就可以使用probe-rs对芯片进行闪存操作。

使用CMSIS-Pack

首先,您需要为要闪存的芯片获取适当的CMSIS-Pack。默认情况下,probe-rs将在以下ARM网站上查找CMSIS-Packs:https://developer.arm.com/tools-and-software/embedded/cmsis/cmsis-search

使用arm子命令下载和生成打包文件

cargo运行 --发布 --arm[选项] <输出>

参数:所有生成的.yaml文件放置的输出目录。

Options:
-l, --list                  Optionally, list the names of all pack files available in <https://www.keil.com/pack/Keil.pidx>
-f, --filter <PACK_FILTER>  Optionally, filter the pack files that start with the specified name,
                            e.g. `STM32H7xx` or `LPC55S69_DFP`.
                            See `target-gen arm --list` for a list of available Pack files

如果您已经有了打包文件,您可以使用pack子命令

cargo运行 --发布 --pack[选项] <输出>

Arguments:
<INPUT>   A Pack file or the unziped Pack directory.
<OUTPUT>  An output directory where all the generated .yaml files are put in.

这将生成包含目标描述的YAML文件,可以与probe-rs一起使用。

使用ELF文件

target-gen工具还可以用于根据ELF文件创建目标描述。这需要ELF文件符合ARM CMSIS标准中的闪存算法,该标准可在以下位置找到:https://arm-software.github.io/CMSIS_5/Pack/html/algorithmFunc.html

运行

cargo run --release -- elf <ELF FILE> target.yml

将创建一个包含提取的闪存算法的目标描述。芯片描述本身的值需要手动在生成的Yaml文件中调整。

依赖项

~37–57MB
~842K SLoC