44 lines
1.1 KiB
PowerShell
44 lines
1.1 KiB
PowerShell
<# #>
|
|
param (
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$CMD,
|
|
|
|
[string]$peri
|
|
)
|
|
|
|
Switch ($CMD)
|
|
{
|
|
"download-all" {
|
|
rm -r -Force ./sources/ -ErrorAction SilentlyContinue
|
|
git clone https://github.com/embassy-rs/stm32-data-sources.git ./sources/
|
|
cd ./sources/
|
|
git checkout a2062c088cf299bd3dc5128eeaa96e07fff2087c
|
|
cd ..
|
|
}
|
|
"install-chiptool" {
|
|
cargo install --git https://github.com/embassy-rs/chiptool
|
|
}
|
|
"extract-all" {
|
|
rm -r -Force tmp/$peri -ErrorAction SilentlyContinue
|
|
mkdir tmp/$peri | Out-Null
|
|
|
|
ls sources/svd | foreach-object {
|
|
$f = $_.Name.TrimStart("stm32").TrimEnd(".svd")
|
|
echo $f
|
|
|
|
echo "processing $f ..."
|
|
chiptool extract-peripheral --svd "sources/svd/stm32$f.svd" --peripheral "$peri" > "tmp/$peri/$f.yaml" 2> "tmp/$peri/$f.err"
|
|
if ($LASTEXITCODE -eq 0) {
|
|
rm "tmp/$peri/$f.err"
|
|
echo OK
|
|
} else {
|
|
rm "tmp/$peri/$f.yaml"
|
|
echo FAIL
|
|
}
|
|
|
|
}
|
|
}
|
|
default {
|
|
echo "unknown command"
|
|
}
|
|
} |