def _parse_device(self, device_node): peripherals = [] for peripheral_node in device_node.findall('.//peripheral'): peripherals.append(self._parse_peripheral(peripheral_node)) cpu_node = device_node.find('./cpu') cpu = SVDCpu( name = _get_text(cpu_node, 'name'), revision = _get_text(cpu_node, 'revision'), endian = _get_text(cpu_node, 'endian'), mpu_present = _get_int(cpu_node, 'mpuPresent'), fpu_present = _get_int(cpu_node, 'fpuPresent'), vtor_present = _get_int(cpu_node, 'vtorPresent'), nvic_prio_bits = _get_int(cpu_node, 'nvicPrioBits'), vendor_systick_config = _get_text(cpu_node, 'vendorSystickConfig') ) return SVDDevice( vendor=_get_text(device_node, 'vendor'), vendor_id=_get_text(device_node, 'vendorID'), name=_get_text(device_node, 'name'), version=_get_text(device_node, 'version'), description=_get_text(device_node, 'description'), cpu=cpu, address_unit_bits=_get_int(device_node, 'addressUnitBits'), width=_get_int(device_node, 'width'), peripherals=peripherals, )
def _parse_device(self, device_node): # Find registerPropertiesGroup infos: registerPropertiesGroup = { "size": _get_int(device_node, "size"), "access": _get_text(device_node, 'access'), "protection": _get_text(device_node, 'protection'), "reset_value": _get_int(device_node, "resetValue"), "reset_mask": _get_int(device_node, "resetMask") } peripherals = self._parse_peripherals(device_node.find('./peripherals'), registerPropertiesGroup) cpu_node = device_node.find('./cpu') cpu = SVDCpu( name=_get_text(cpu_node, 'name'), revision=_get_text(cpu_node, 'revision'), endian=_get_text(cpu_node, 'endian'), mpu_present=_get_int(cpu_node, 'mpuPresent'), fpu_present=_get_int(cpu_node, 'fpuPresent'), fpu_dp=_get_int(cpu_node, 'fpuDP'), icache_present=_get_int(cpu_node, 'icachePresent'), dcache_present=_get_int(cpu_node, 'dcachePresent'), itcm_present=_get_int(cpu_node, 'itcmPresent'), dtcm_present=_get_int(cpu_node, 'dtcmPresent'), vtor_present=_get_int(cpu_node, 'vtorPresent'), nvic_prio_bits=_get_int(cpu_node, 'nvicPrioBits'), vendor_systick_config=_get_int(cpu_node, 'vendorSystickConfig'), device_num_interrupts=_get_int(cpu_node, 'vendorSystickConfig'), sau_num_regions=_get_int(cpu_node, 'vendorSystickConfig'), sau_regions_config=_get_text(cpu_node, 'sauRegionsConfig') ) return SVDDevice( vendor=_get_text(device_node, 'vendor'), vendor_id=_get_text(device_node, 'vendorID'), name=_get_text(device_node, 'name'), version=_get_text(device_node, 'version'), description=_get_text(device_node, 'description'), cpu=cpu, address_unit_bits=_get_int(device_node, 'addressUnitBits'), width=_get_int(device_node, 'width'), peripherals=peripherals, size=_get_int(device_node, "size"), access=_get_text(device_node, 'access'), protection=_get_text(device_node, 'protection'), reset_value=_get_int(device_node, "resetValue"), reset_mask=_get_int(device_node, "resetMask") )
def _parse_device(self, device_node): peripherals = [] for peripheral_node in device_node.findall('.//peripheral'): peripherals.append(self._parse_peripheral(peripheral_node)) cpu_node = device_node.find('./cpu') cpu = SVDCpu(name=_get_text(cpu_node, 'name'), revision=_get_text(cpu_node, 'revision'), endian=_get_text(cpu_node, 'endian'), mpu_present=_get_int(cpu_node, 'mpuPresent'), fpu_present=_get_int(cpu_node, 'fpuPresent'), fpu_dp=_get_int(cpu_node, 'fpuDP'), icache_present=_get_int(cpu_node, 'icachePresent'), dcache_present=_get_int(cpu_node, 'dcachePresent'), itcm_present=_get_int(cpu_node, 'itcmPresent'), dtcm_present=_get_int(cpu_node, 'dtcmPresent'), vtor_present=_get_int(cpu_node, 'vtorPresent'), nvic_prio_bits=_get_int(cpu_node, 'nvicPrioBits'), vendor_systick_config=_get_int(cpu_node, 'vendorSystickConfig'), device_num_interrupts=_get_int(cpu_node, 'deviceNumInterrupts'), sau_num_regions=_get_int(cpu_node, 'sauNumRegions'), sau_regions_config=_get_text(cpu_node, 'sauRegionsConfig')) return SVDDevice(vendor=_get_text(device_node, 'vendor'), vendor_id=_get_text(device_node, 'vendorID'), name=_get_text(device_node, 'name'), version=_get_text(device_node, 'version'), description=_get_text(device_node, 'description'), cpu=cpu, address_unit_bits=_get_int(device_node, 'addressUnitBits'), width=_get_int(device_node, 'width'), peripherals=peripherals, size=_get_int(device_node, "size"), access=_get_text(device_node, 'access'), protection=_get_text(device_node, 'protection'), reset_value=_get_int(device_node, "resetValue"), reset_mask=_get_int(device_node, "resetMask"))