c0ne@h4x:~/dev/AOR/DV10$ ./analyse_firmware.py ~/Downloads/1904A.D10
Version header: 1904A 000179
section_nr=0x00000000 flash_address=0x00200000 section_id=0x00000000 section_size=0x0003ab85 - FPGA
section_nr=0x00000000 flash_address=0x0027ffea section_id=0x00000001 section_size=0x00000016 - FPGA
section_nr=0x00000001 flash_address=0x00100000 section_id=0x00000000 section_size=0x00024a78 - DSP
section_nr=0x00000001 flash_address=0x0013ffea section_id=0x00000001 section_size=0x00000016 - DSP
section_nr=0x00000002 flash_address=0x00140000 section_id=0x00000000 section_size=0x0001cd00 - DSP
section_nr=0x00000002 flash_address=0x0017ffea section_id=0x00000001 section_size=0x00000016 - DSP
section_nr=0x00000003 flash_address=0x00180000 section_id=0x00000000 section_size=0x00000000 - DSP
section_nr=0x00000003 flash_address=0x001bffea section_id=0x00000001 section_size=0x00000000 - DSP
section_nr=0x00000004 flash_address=0x001c0000 section_id=0x00000000 section_size=0x00000000 - DSP
section_nr=0x00000004 flash_address=0x001fffea section_id=0x00000001 section_size=0x00000000 - DSP
section_nr=0x00000005 flash_address=0x00380100 section_id=0x00000000 section_size=0x00067c80 - CPU
section_nr=0x00000005 flash_address=0x003fff80 section_id=0x00000001 section_size=0x00000080 - CPU
Checksum: 0x5048Als je goed naar de firmware kijkt zie ook 2 DSP secties die nog onbenut zijn(zie section_size = 0), dus ruimte zat voor toekomstige updates(kleine 524266 bytes), "flash_address" verwijst naar de locatie in het Flash device waar de code is opgeslagen, deze kan je ook uitlezen met de "undocumented" serial commands of gewoon uit de firmware halen.
#R <hexoffset> -> store offset to read.
#D -> dump 256 bytes of flash to console.
Er is ook een write command, maar die deel ik maar niet omdat het gebruik daarvan natuurlijk niet helemaal veilig is als je niet weet dat je doet
Ik zal eerdaags eens een lijst publiceren met alle undocumented serial commands, zit best wat leuke debug info tussen zoals CPU temperatuur uitlezen enzo.
Danny