I would like to write some random data to some locations in eMMC and DDR, then read back and check whether they are same.
I would like to write some random data to some locations in eMMC and DDR,
then read back and check whether they are same.
Presuming the eMMC behaves similar to things like SD cards -- writing
to /any/ location may qualify as random. Most flash memory, at this level,
incorporates wear-leveling algorithms. When you write new data, the
chip/card allocates an empty/erased "allocation unit", copies data from the
previous allocation unit up to the point where the new data will be
written, then writes the new data, and holds the allocation unit "open"
should additional data be written. When the output file is closed, the
chip/card copies the rest of the original data to the fresh unit, closes
the unit, ERASES the old allocation unit and marks it free, and maps the
fresh unit into the address space.
- From where do I get the information regarding the start and end addresses
of eMMC and DDR?
So far as I know, the eMMC is not mapped into the processor address
space -- it is a serial I/O block device, just like an SD card or attached
I'd need to study more, but the TRM for the SoC should show the RAM
addresses. SPRUH73P, page 172, has the L3 Memory Map. It has: