Source code for ifgen.svd.device

"""
A module implementing a 'device' SVD-element processor.
"""

# built-in
from xml.etree import ElementTree

# third-party
from vcorelib.logging import LoggerType

# internal
from ifgen.svd.model.device import Device
from ifgen.svd.task import SvdProcessingTask


[docs] def process_device( elem: ElementTree.Element, task: SvdProcessingTask, logger: LoggerType ) -> None: """Process a SVD device element.""" # Assign the device. dev = Device.create(elem) dev.log(elem, logger) task.model.assign_device(dev) # Process the CPU metadata. cpu = elem.find("cpu") if cpu is not None: task.process(cpu) # Process peripherals. peripherals = elem.find("peripherals") if peripherals is not None: task.process(peripherals)