def cmd_verify(self, ui, args): """verify memory against file""" x = util.file_mem_args(ui, args, self.cpu.device) if x is None: return (name, adr, size) = x # check the file filesize = util.file_arg(ui, name) if filesize is None: return # round up the filesize - the io object will return 0xff for any bytes beyond EOF filesize = util.roundup(filesize, 32) if size is None: # no length on the command line - verify the filesize size = filesize if size > filesize: # region is larger than file - just verify the filesize size = filesize # adjust the address and length adr = util.align(adr, 32) n = util.nbytes_to_nwords(size, 32) # read memory, verify against file object mf = iobuf.verify_file(ui, 'verify %s (%d bytes):' % (name, n * 4), name, n * 4) self.cpu.rdmem32(adr, n, mf) mf.close()
def cmd_mem2file(self, ui, args): """read from memory, write to file""" x = util.file_mem_args(ui, args, self.cpu.device) if x is None: return (name, adr, size) = x if size is None: ui.put('invalid length') return # adjust the address and length adr = util.align(adr, 32) n = util.nbytes_to_nwords(size, 32) # read memory, write to file object mf = iobuf.write_file(ui, 'writing to %s' % name, name, n * 4) self.cpu.rdmem32(adr, n, mf) mf.close()