svd

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2024 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNilValue = errors.New("nil value")

Functions

This section is empty.

Types

type AddressBlock

type AddressBlock struct {
	Offset     Uint64  `xml:"offset"`
	Size       Uint64  `xml:"size"`
	Usage      string  `xml:"usage"`
	Protection *string `xml:"protection"`
}

type BitRangeLSBMSB

type BitRangeLSBMSB struct {
	LSB Uint `xml:"lsb"`
	MSB Uint `xml:"msb"`
}

type BitRangeOffsetWidth

type BitRangeOffsetWidth struct {
	BitOffset Uint  `xml:"bitOffset"`
	BitWidth  *Uint `xml:"bitWidth"`
}

type CPU

type CPU struct {
	Name                string `xml:"name"`
	Revision            string `xml:"revision"`
	Endian              string `xml:"endian"`
	MPUPresent          bool   `xml:"mpuPresent"`
	FPUPresent          bool   `xml:"fpuPresent"`
	FPUDP               *bool  `xml:"fpuDP"`
	DSPPresent          *bool  `xml:"dspPresent"`
	IcachePresent       *bool  `xml:"icachePresent"`
	DcachePresent       *bool  `xml:"dcachePresent"`
	ITCMPresent         *bool  `xml:"itcmPresent"`
	DTCMPresent         *bool  `xml:"dtcmPresent"`
	VTORPresent         *bool  `xml:"vtorPresent"`
	NVICPrioBits        Uint   `xml:"nvicPrioBits"`
	VendorSystickConfig bool   `xml:"vendorSystickConfig"`
	DeviceNumInterrupts *Uint  `xml:"deviceNumInterrupts"`
	SAUNumRegions       *Uint  `xml:"sauNumRegions"`
}

type Cluster

type Cluster struct {
	DerivedFrom *string `xml:"derivedFrom,attr"`
	DimElementGroup
	Name             string  `xml:"name"`
	Description      *string `xml:"description"`
	AlternateCluster *string `xml:"alternateCluster"`
	HeaderStructName *string `xml:"headerStructName"`
	AddressOffset    Uint64  `xml:"addressOffset"`
	*RegisterPropertiesGroup
	Registers []*Register `xml:"register"`
	Clusters  []*Cluster  `xml:"cluster"`
}

type Device

type Device struct {
	Vendor                  *string `xml:"vendor"`
	VendorID                *string `xml:"vendorID"`
	Name                    string  `xml:"name"`
	Series                  *string `xml:"series"`
	Version                 string  `xml:"version"`
	Description             string  `xml:"description"`
	LicenseText             *string `xml:"licenseText"`
	CPU                     *CPU    `xml:"cpu"`
	HeaderSystemFilename    *string `xml:"headerSystemFilename"`
	HeaderDefinitionsPrefix *string `xml:"headerDefinitionsPrefix"`
	AddressUnitBits         Uint    `xml:"addressUnitBits"`
	Width                   Uint    `xml:"width"`
	*RegisterPropertiesGroup
	Peripherals []*Peripheral `xml:"peripherals>peripheral"`
}

type DimElementGroup

type DimElementGroup struct {
	Dim          Uint    `xml:"dim"`
	DimIncrement Uint    `xml:"dimIncrement"`
	DimIndex     *string `xml:"dimIndex"`
	DimName      *string `xml:"dimName"`
}

type EnumeratedValue

type EnumeratedValue struct {
	Name        *string `xml:"name"`
	Description *string `xml:"description"`
	Value       *string `xml:"value"`
	IsDefault   *bool   `xml:"isDefault"`
}

func (*EnumeratedValue) Val added in v0.1.8

func (ev *EnumeratedValue) Val() (uint64, error)

type EnumeratedValues

type EnumeratedValues struct {
	DerivedFrom     *string            `xml:"derivedFrom,attr"`
	Name            *string            `xml:"name"`
	HeaderEnumName  *string            `xml:"headerEnumName"`
	Usage           *string            `xml:"usage"`
	EnumeratedValue []*EnumeratedValue `xml:"enumeratedValue"`
}

type Field

type Field struct {
	DerivedFrom *string `xml:"derivedFrom,attr"`
	DimElementGroup
	Name        string  `xml:"name"`
	Description *string `xml:"description"`
	*BitRangeOffsetWidth
	*BitRangeLSBMSB
	BitRangePattern     *string             `xml:"bitRange"`
	Access              *string             `xml:"access"`
	ModifiedWriteValues *string             `xml:"modifiedWriteValues"`
	WriteConstraint     *WriteConstraint    `xml:"writeConstraint"`
	ReadAction          *string             `xml:"readAction"`
	EnumeratedValues    []*EnumeratedValues `xml:"enumeratedValues"`
}

type Int

type Int int

func (*Int) UnmarshalXML

func (i *Int) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Interrupt

type Interrupt struct {
	Name        string  `xml:"name"`
	Description *string `xml:"description"`
	Value       Int     `xml:"value"`
}

type Peripheral

type Peripheral struct {
	DerivedFrom *string `xml:"derivedFrom,attr"`
	*DimElementGroup
	Name                string  `xml:"name"`
	Version             *string `xml:"version"`
	Description         *string `xml:"description"`
	AlternatePeripheral *string `xml:"alternatePeripheral"`
	GroupName           *string `xml:"groupName"`
	PrependToName       *string `xml:"prependToName"`
	AppendToName        *string `xml:"appendToName"`
	HeaderStructName    *string `xml:"headerStructName"`
	DisableCondition    *string `xml:"disableCondition"`
	BaseAddress         Uint64  `xml:"baseAddress"`
	*RegisterPropertiesGroup
	AddressBlock []*AddressBlock `xml:"addressBlock"`
	Interrupts   []*Interrupt    `xml:"interrupt"`
	Registers    []*Register     `xml:"registers>register"`
	Clusters     []*Cluster      `xml:"registers>cluster"`
}

type Range

type Range struct {
	Minimum Uint64 `xml:"minimum"`
	Maximum Uint64 `xml:"maximum"`
}

type Register

type Register struct {
	DerivedFrom *string `xml:"derivedFrom,attr"`
	DimElementGroup
	Name              string  `xml:"name"`
	DisplayName       *string `xml:"displayName"`
	Description       *string `xml:"description"`
	AlternateGroup    *string `xml:"alternateGroup"`
	AlternateRegister *string `xml:"alternateRegister"`
	AddressOffset     Uint64  `xml:"addressOffset"`
	*RegisterPropertiesGroup
	DataType            *string          `xml:"dataType"`
	ModifiedWriteValues *string          `xml:"modifiedWriteValues"`
	WriteConstraint     *WriteConstraint `xml:"writeConstraint"`
	ReadAction          *string          `xml:"readAction"`
	Fields              []*Field         `xml:"fields>field"`
}

type RegisterPropertiesGroup

type RegisterPropertiesGroup struct {
	Size       *Uint   `xml:"size"`
	Access     *string `xml:"access"`
	Protection *string `xml:"protection"`
	ResetValue *Uint64 `xml:"resetValue"`
	ResetMask  *Uint64 `xml:"resetMask"`
}

type Uint

type Uint uint

func (*Uint) UnmarshalXML

func (u *Uint) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Uint64

type Uint64 uint64

func (*Uint64) UnmarshalXML

func (u *Uint64) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type WriteConstraint

type WriteConstraint struct {
	WriteAsRead         *bool  `xml:"writeAsRead"`
	UseEnumeratedValues *bool  `xml:"useEnumeratedValues"`
	Range               *Range `xml:"range"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL