ddsect is a data dump dissecting tool based on dd. It can be used, for example, to dissect firmware files after their structure has been derived with tools like binwalk (https://code.google.com/p/binwalk/), or to split a raw flash dump into its MTD partitions. The format for describing each memory section in a map file is: HexStartingAddress-HexEndingAddress : "name" where HexEndingAddress is actually the address of the byte _after_ the last one of the section (HexStartingAddress + size); this is because of how the output of the MTD driver in linux is formed (see drivers/mtd/mtdpart.c). printk(KERN_NOTICE "0x%012llx-0x%012llx : \"%s\"\n", (unsigned long long)slave->offset, (unsigned long long)(slave->offset + slave->mtd.size), slave->mtd.name); This is slightly different from the format used in other memory layout files (like for instance the one used by flashrom, which specifies the actual end address), but it allows to just reuse the output of the linux mtd driver. Empty lines and lines starting with the '#' character will be ignored in the map file.