Exemple #1
0
 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,
     )
Exemple #2
0
    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")
        )
Exemple #3
0
    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"))