I would like to know the expected result of reading block data from MTD flash, as per the code below:
#define PHY_ADDR 0x80000000 // certain physical memory location
void *dst;
dst = ioremap(PHY_ADDR,len); // ioremapping
mtd_image->_read(mtd, from, len, retlen, dst); // reading from MTD flash to dst buffer with len length
So will this code write the read data to the physical memory address 0x80000000
? or will just put the data in the pointer dst? Where I can find the read data in the physical memory (using gdb x/16x memory address
for example)?
With ioremap
you map physical memory to the pointer dst
. This means that mtd_read
reads the address range from
to from + len
on device mtd
and writes it to physical address 0x80000000
through pointer dst
.
User contributions licensed under CC BY-SA 3.0