[−][src]Crate svd_expander
Expands arrays and resolves inheritance chains in CMSIS-SVD specifications.
Example usage:
use std::fs::File; use std::io::Read; use svd_expander::DeviceSpec; fn main() { let xml = &mut String::new(); File::open("./stm32f303.svd") .unwrap() .read_to_string(xml) .unwrap(); println!("{:#?}", DeviceSpec::from_xml(xml).unwrap()); }
This crate is intended for use in code generators. It is under active development and bug reports are welcome.
Feature requests may be considered, but svd-expander depends on svd-parser (at least for now) to parse the SVD files, so it can only implement the features supported by the parser.
Structs
AddressBlockSpec | Describes an address range uniquely mapped to a peripheral. |
ClusterSpec | Describes a cluster of registers that exist on a peripheral. Clusters may be top-level constructs of a peripheral or may be nested within other clusters. |
CpuSpec | Describes the processor included in the microcontroller device. |
DeviceSpec | Represents information about a device specified in a CMSIS-SVD file. |
FieldSpec | Describes a field on a register. |
InterruptSpec | Describes an interrupt that exists on a peripheral. |
PeripheralSpec | Describes a peripheral on a device. |
RegisterSpec | Describes a register. Registers may be top-level constructs of a peripheral or may be nested within register clusters. |
SvdExpanderError | Error struct for all errors thrown by this crate or the crates on which it depends. |
Enums
AccessSpec | Defines access rights for fields on the device, though it may be specified at a higher level than individual fields. |
EndianSpec | Defines the endianness of a CPU. |
Type Definitions
SvdExpanderResult | Convenience type for a result that may contain an |