Example #1
0
    def write(self, filename):
        """
        Writes the output file
        """
        self._filename = os.path.basename(filename)
        self._ofile = open(filename, "w")
        self.write_header(self._ofile, "".join(HEADER))

        addr_maps = self._project.get_address_maps().keys()

        if len(addr_maps) > 0:
            base = self._project.get_address_base(addr_maps[0])
            for data in in_groups(self._dbase.module_name, self._project):
                name = full_token(data.group, "BASE_PTR",
                                  self._dbase.module_name,
                                  -1, data.format)

                self._ofile.write("// Base address of the block\n")
                address = base + data.offset
                self._ofile.write("#define %-30s (0x%x)\n" %
                                  (name, address))

                for reg_key in self._dbase.get_keys():
                    register = self._dbase.get_register(reg_key)
                    self.write_def(register, data, base)
                self._ofile.write('\n')

        for line in TRAILER:
            self._ofile.write('%s\n' % line.replace('$M$', self._module))
        self._ofile.close()
Example #2
0
    def write(self, filename):
        """
        Writes the output file
        """
        self._filename = os.path.basename(filename)

        with open(filename, "w") as self._ofile:
            self.write_header(self._ofile, "".join(HEADER))

            addr_maps = self._project.get_address_maps()

            if len(addr_maps) > 0:
                base = self._project.get_address_base(addr_maps[0].name)
                for data in in_groups(self._dbase.module_name, self._project):
                    for register in self._dbase.get_all_registers():
                        self.write_def(register, data, base)
                    self._ofile.write('\n')

            for line in TRAILER:
                self._ofile.write('%s\n' % line.replace('$M$', self._module))