Reading block from MTD flash with ioremap

0

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)?

c
linux-kernel
ioremap
asked on Stack Overflow Feb 2, 2016 by Osama Ahmed • edited Nov 16, 2020 by Bayou

1 Answer

0

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.

answered on Stack Overflow Nov 16, 2020 by Bayou

User contributions licensed under CC BY-SA 3.0