This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrfjprog read addresses in qspi external memory

I'd like to use nrfjprog to read contents of QSPI external memory. (I'm using an nRF52840-QIAA on a custom PCB, based on the PDK.)

Using application firmware I am able to successfully read and write to my external flash chip. I'm also able to dump the contents using --readqspi.

nrfjprog --readqspi ./test.txt -f nrf52

:020000041200E8
:10000000ADDE00000000FFFFFFFFFFFFFFFFFFFF6F
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
...

I want to read a portion of the external flash memory using --memrd, as the nrfjprog documentation says should be possible. I'm not sure how to translate address 0x0000 of external flash into an address for --memrd. Just using the literal address doesn't seem to work:

nrfjprog --memrd 0x0000 --n 16 --w 8 -f nrf52

0x00000000: 00 04 00 20 E5 08 00 00 79 05 00 00 C5 08 00 00   |... ....y.......|

Thinking I need to offset the address to the start of the XIP region. If so, what is the correct way to do that?

I am using the QspiDefault.ini that came with the SDK.

Thanks!

Related