コード例 #1
0
                endsBlock = self.endsBlock(bytes)

            if endsBlock and inBlock:
                self.endBlock(f)
                inBlock = False

        if inBlock:
            self.endBlock(f)

        # Write a table of translated block functions

        f.write("const sbt_block_t sbt_rom_code[] = {\n")

        for addr in range(FirmwareLib.ROM_SIZE):
            if addr in blockMap:
                f.write("\t&sbt_block_%04x,\n" % addr)
            else:
                f.write("\t&sbt_exception,\n")

        f.write("};\n")


if __name__ == '__main__':
    p = FirmwareLib.RSTParser()
    for f in sys.argv[1:]:
        p.parseFile(f)

    fixupImage(p)
    gen = CodeGenerator(p)
    gen.write(open('resources/firmware-sbt.cpp', 'w'))