File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,10 @@ test_mode() {
19
19
https://raw.githubusercontent.com/posborne/cmsis-svd/python-0.4/data/Nordic/nrf51.svd \
20
20
> $td /nrf51.svd
21
21
22
+ curl -L \
23
+ https://raw.githubusercontent.com/posborne/cmsis-svd/python-0.4/data/NXP/LPC43xx_svd_v5.svd \
24
+ > $td /LPC43xx_svd_v5.svd
25
+
22
26
# test the library
23
27
cargo build $flags
24
28
cargo build $flags --release
@@ -36,10 +40,16 @@ test_mode() {
36
40
test_gen tim3
37
41
test_gen tim6
38
42
43
+ # Test register arrays
39
44
svd=nrf51.svd
40
45
test_gen
41
46
test_gen gpio
42
47
test_gen timer
48
+
49
+ # japaric/svd2rust#42
50
+ svd=LPC43xx_svd_v5.svd
51
+ test_gen
52
+ test_gen sct
43
53
}
44
54
45
55
deploy_mode () {
Original file line number Diff line number Diff line change @@ -632,6 +632,12 @@ pub fn gen_register_r(r: &Register,
632
632
let mut impl_items = vec ! [ ] ;
633
633
634
634
for field in fields {
635
+ // Skip fields named RESERVED because, well, they are reserved so they
636
+ // shouldn't be modified/exposed
637
+ if field. name . to_lowercase ( ) == "reserved" {
638
+ continue ;
639
+ }
640
+
635
641
if let Some ( Access :: WriteOnly ) = field. access {
636
642
continue ;
637
643
}
@@ -726,6 +732,11 @@ pub fn gen_register_w(r: &Register,
726
732
}
727
733
728
734
for field in fields {
735
+ // Skip fields named RESERVED. See `gen_register_r` for an explanation
736
+ if field. name . to_lowercase ( ) == "reserved" {
737
+ continue ;
738
+ }
739
+
729
740
if let Some ( Access :: ReadOnly ) = field. access {
730
741
continue ;
731
742
}
You can’t perform that action at this time.
0 commit comments