swift-mmio
swift-mmio copied to clipboard
Define and operate on type safe MMIO
For common definitions of register interfaces (such as SVD) there are two additional forms: write-once: Read operations have an undefined results. Only the first write after reset has an effect....
Register fields are required to specify a type but common usage will use an `as:` parameter. This means that the type that is written for a given field is not...
When bringing up an embedded example for the rp2350 I noticed using an invalid peripheral name in svd2swiftplugin silently fails. this should instead result in an error.
WIP: GitHub actions for CI
Replace this paragraph with a description of your changes and rationale. Provide links to an existing issue or external references/discussions, if appropriate. ### Checklist - [ ] I've added at...
WIP...
Dynamic arrays are used in FixedWidthInteger.bitRangesCoalesced. Swift MMIO should really be allocations free. This was identified while investigating . ```swift extension FixedWidthInteger { @inlinable @inline(__always) static func bitRangesCoalesced(bits bitRanges: [Range])...
As per the SVD Spec [here](https://siliconlabs.github.io/Gecko_SDK_Doc/CMSIS/SVD/html/group__svd__xml__fields__gr.html) enumeratedValues can be an array of up to 2 instances. Currently SVDFields only supports a single enumeratedValues child. Both the SVD library and code...