def __init__(self, board, fpath, upath): self.UBOOT_SCRIPTADDR = 0x8000000 self.UBOOT_IMAGEADDR = 0x8080000 self.UBOOT_DTBADDR = 0x8008000 self.UBOOT_INITRDADDR = 0x13000000 self.DDR_FILE = 'usbbl2runpara_ddrinit.bin' self.FIP_FILE = 'usbbl2runpara_runfipimg.bin' self.BL2_FILE = 'u-boot.bin.usb.bl2' self.TPL_FILE = 'u-boot.bin.usb.tpl' # GXBB/GXL/GXM params if board in gx_boards: print("Using GX Family boot parameters"); self.DDR_LOAD = 0xd9000000 self.BL2_PARAMS = 0xd900c000 self.UBOOT_LOAD = 0x200c000 # AXG params elif board in axg_boards: print("Using AXG Family boot parameters"); self.DDR_LOAD = 0xfffc0000 self.BL2_PARAMS = 0xfffcc000 self.UBOOT_LOAD = 0x200c000 else: sys.stderr.write('Unsupported board %s, please fill boot parameters\n' % board) sys.exit(1) self.dev = pyamlboot.AmlogicSoC() self.fpath = fpath if upath: self.bpath = upath else: self.bpath = os.path.join(fpath, board)
from pyamlboot import pyamlboot import sys UBOOT_IMAGEADDR = 0x8080000 UBOOT_DTBADDR = 0x8008000 UBOOT_INITRDADDR = 0x13000000 if __name__ == '__main__': if len(sys.argv) < 4: print( "Usage: %s <uImage path> <dtb path> <rootfs path> \"<cmdline>\"" % sys.argv[0]) sys.exit(1) dev = pyamlboot.AmlogicSoC() print("Writing uImage...") with open(sys.argv[1], "rb") as f: b = f.read() dev.writeLargeMemory(UBOOT_IMAGEADDR, b, 512, True) print("Writing dtb...") with open(sys.argv[2], "rb") as f: b = f.read() dev.writeMemory(UBOOT_DTBADDR, b) if sys.argv[3] != "-": print("Writing rootfs...") with open(sys.argv[3], "rb") as f: b = f.read()