-
Notifications
You must be signed in to change notification settings - Fork 122
/
d
executable file
·162 lines (156 loc) · 13.9 KB
/
d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#!/usr/bin/env bash
set -e
cd $(dirname $0)
CMD=$1
REV=709c1060ac2ec57f6042f2b4eb9cf8c1821a6c57
shift
case "$CMD" in
download-all)
rm -rf ./sources/
git clone https://github.com/embassy-rs/stm32-data-sources.git ./sources/ -q
cd ./sources/
git checkout $REV
;;
install-chiptool)
cargo install --git https://github.com/embassy-rs/chiptool
;;
extract-all)
peri=$1
shift
echo $@
rm -rf tmp/$peri
mkdir -p tmp/$peri
for f in `ls sources/svd`; do
f=${f#"stm32"}
f=${f%".svd"}
echo -n processing $f ...
if chiptool extract-peripheral --svd sources/svd/stm32$f.svd --peripheral $peri $@ > tmp/$peri/$f.yaml 2> tmp/$peri/$f.err; then
rm tmp/$peri/$f.err
echo OK
else
if grep -q 'peripheral not found' tmp/$peri/$f.err; then
echo No Peripheral
else
echo OTHER FAILURE
fi
rm tmp/$peri/$f.yaml
fi
done
;;
gen)
rm -rf build/data
cargo run --release --bin stm32-data-gen
;;
ci)
[ -d sources ] || ./d download-all
cd ./sources/
git fetch origin $REV
git checkout $REV
cd ..
rm -rf build/{data,stm32-metapac}
cargo run --release --bin stm32-data-gen
cargo run --release --bin stm32-metapac-gen
cd build/stm32-metapac
find . -name '*.rs' -not -path '*target*' | xargs rustfmt --skip-children --unstable-features --edition 2021
;;
check)
cargo batch \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32c031c6 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f030c6 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f030r8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f030rc \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f031k6 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f038f6 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f042g4 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f058t8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f070f6 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f072c8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f078vb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f091rc \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f100c4 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f103c8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f103re \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f107vc \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f207zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f217zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f303c8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f303ze \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f378cc \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f398ve \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f401ve \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f405zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f407zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f410tb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f411ce \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f412zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f413vh \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f415zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f417zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f423zh \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f427zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f437zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f439zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f446re \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f446ze \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f469zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f479zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f730i8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32f767zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32g071rb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32g0c1ve \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32g474pe \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32g491re \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h503rb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h523cc \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h562ag \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h563zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h725re \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h735zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h753zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm4 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h7a3zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h7b3ai \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h7r3z8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h7r7a8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h7s3a8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h7s3l8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32h7s7z8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l041f6 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l051k8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l072cz \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l073cz \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l073rz \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l151cb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l152re \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l422cb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l431cb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l496zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l4a6zg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l4r5zi \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32l552ze \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32u031r8 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32u073mb \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32u083rc \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32u585ai \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32u5a5zj \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32u5f9zj \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32u5g9nj \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wb15cc \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wb35ce \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wb55rg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wba50ke \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wba52cg \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wba55ug \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wl54jc-cm4 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wl54jc-cm0p \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wl55jc-cm4 \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wl55jc-cm0p \
--- build --release --manifest-path build/stm32-metapac/Cargo.toml --target thumbv7em-none-eabi --features stm32wle5jb \
;;
*)
echo "unknown command"
;;
esac