Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - Read from and write to I/O registers and memory: (1 Item)
   
Read from and write to I/O registers and memory  
Hello all,

BACKGROUND:
--------------------------------
I am working on a project that is using QNX 7.1.0 2023/07/14-18:28:39EDT NXP_i.MX8QXP_CPU_Board aarch64le

I am currently working on features related to IFS authentication, and will eventually want to program the OTP memory 
with public keys to allow authentication to proceed with correctly signed IFSs. Before burning the OTP fuses, I would 
like to test that my pki/signing/authentication are functioning correctly. For this reason, I'd like to leverage the i.
MX8QXP shadow registers to simulate writing/reading the OTP memory. As per page 194, section 7.1.2 of the reference 
manual, this should be possible:

"If not locked then it can be read sensed and programmed and the shadow registers can be overwritten (to allow emulation
 of programming without actually blowing fuses)."

QUESTION:
----------------

I am unable to use QNX utilities like `io` or even `dd` to read from these shadow registers. For example, I have tried 
to read the default (unprogrammed) UNIQUE_ID value from shadow register 0x0900 with the following commands as root user:


# io b 0x0900

# dd if=/dev/mem skip=$((0x0900)) bs=16 count=1

Both commands fail. I have attached the error output for both commands to this forum post. Any ideas about what I might 
be misunderstanding/overlooking would be greatly appreciated!
Attachment: Text io_command_error_output.txt 4.43 KB Text dd_command_error_output.txt 125 bytes