The chip is i.MX6Solo.
Is it possible in principle to operate OCOTP (set/clear eFuse) via JTAG?(Using Debug Access Port memory access)
I tried to do that using Lauterbach however it appears that access to OCOTP_CTRL is "locked". However I cannot find by what locks it (at least relaying on the "shadow registers" of OTP, which Lauterbach can read).
See what I can read in the attachment (screen capture of Lautrebach's TRACE32 OTP view).
Is the only way to operate OTP by executing a program?
Thank you,
Bogdan Baudis
Cambridge Consultants
Mhm ... actually when I broke into bootloader (in my case it is a barebox) ... I tried to do it via "md" and "memset" commands which were not really working as expected however were doing something (put OTP in ERROR, but then I was able to clear it). Then I tried to use JTAG and this time it worked (I was able to set RSP0 to 0000 0001 and then verified by forcing RELOAD_SHADOWS that it made there, then rebooted and it still was there so it really went into OTP).
However when I let the boot finish (into Linux) and then broke into with the debugger I was again not able to really access OTP_CTRL registers, no complaints (no ERROR) but no action either.
Rebooted, broken into while still in barebox and now was able to control OTP via JTAG (changed another bit of RESP0).
I have i.MX6Solo on PhyTEC's phyCORE sitting on Open-frame-Mira carrier board and Lauterbach PRO JTAG debugger.
I am assuming that if I am specifying physical addresses in JTAG operations then MMU setup is irrelevant? Are there anything else in the Debug Access Port or memory bus setup which can prevent access to OTP?
Hi Bogdan
one can try attached sdk example with jtag, also please check pdf document
Chapter 25 Configuring the OCOTP Driver. One can obtain full sdk creating service request.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thank you fro the response on the community thread.
Please let me know if you prefer communicating over email or on the
community board.
In general the community is fine, unless the topic cuts closer to
the confidential stuff, either because gets close to the specifics of the
project (our client's confidential information) or NXP-confidential
information (disclosed to us under NDA), then direct email is more
appropriate.
Thank you,
Bogdan.
Hi Bogdan
How to create service request :
https://community.freescale.com/docs/DOC-329745
Best regards
igor
Thank you!
Hi Igor,
Thank you for the materials! These will be helpful.
How do I go about obtaining service request for SDK? (searching NXP site can be frustrating)
BTW We (Cambridge Consultants) have the proper NDA with NXP in place.
Please let me know,
Bogdan.