没有SmartSnippets编程OTP

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
7个帖子/ 0个新
最后发表
steven.mcgrath
离线
最后看到:2年1个月前
加入:2019-02-19等等
没有SmartSnippets编程OTP

大家好!

这可能是一个基本的问题,但是是否有办法在不使用SmartSnippets工具的情况下访问和编程OTP区域。我已经尝试访问和修改OPTC_MODE_REG以及SYS_CTRL_REG,但都没有成功。我使用我自己的自定义设置连接到芯片使用T_TMS (SWDIO)和T_TCK (SWCLK),并能够修改位于SRAM中的数据。在一个寄存器中是否有特定的设置,允许我访问OPTC_MODE_REG和SYS_CTRL_REG?某种寄存器解锁。

谢谢你!

设备:
PM_Dialog
离线
最后看到:2天8小时前
工作人员
加入:2018-02-08 11:03
嗨steven.mcgrath,

嗨steven.mcgrath,

我强烈建议你使用SmartSnippets工具箱来烧OTP,因为我们不支持自定义设置。但是,你可以参考在5.0.4\utilities\flash_programmer SDK路径下的flash程序员项目。请检查otpc.h / .h文件。

谢谢,PM_Dialog

steven.mcgrath
离线
最后看到:2年1个月前
加入:2019-02-19等等
你好,

你好,

感谢您的快速回复。我已经引用了您提到的flash程序员项目,特别是,当我调用optc_clock_enable函数时,我似乎失去了对OTP区域的访问(至少OTP内存不能再被查看)。当调用optc_write_fifo函数时,会出现OTPC_STAT_PERR_U、OTPC_STAT_PERR_L和OTPC_STAT_PERROR标志,并导致操作失败。

我可以看到我想要被编程的数据存在于OTPC_FFPRT_REG中,但是我如何将其转移到OTP区域?也许我缺少一些重要的信息,但我似乎是按照指示与SDK一起。任何帮助都将非常感激。谢谢。

PM_Dialog
离线
最后看到:2天8小时前
工作人员
加入:2018-02-08 11:03
嗨steven.mcgrath,

嗨steven.mcgrath,

请查看“Source file”项目文件夹下的program .c文件,并搜索ACTION_OTP_WRITE定义。这可能对你有帮助!您还可以检查ACTION_OTP_READ。

谢谢,PM_Dialog

steven.mcgrath
离线
最后看到:2年1个月前
加入:2019-02-19等等
你好,

你好,

c文件是源代码,我一直引用和使用时,遇到这些问题。如前所述,当我调用optc_clock_enable函数时,OTP (0x47000-0x47FFF)内存不再可见。我可以用正确的数据编程OTPC_FFRT_REG(0x40008018),但这如何传输到OTP区域?同样,一旦调用了optc_clock_disable函数,OTPC_FFRT_REG中的数据就不再存在。我基本上使用所有的源代码从程序员。c它只是似乎信息被编程进入先进先出区域,不去任何地方从那里。是否需要额外的步骤来访问OTP区域并传输此数据?

任何帮助都非常感激。谢谢你花时间回复我。

steven.mcgrath
离线
最后看到:2年1个月前
加入:2019-02-19等等
你好,

你好,

对此事的快速评论。我一直在查阅DA14580设备的文档,注意到OTPC_PCTRL_REG,您可以在其中启用OTP的上、下bank以进行编程。在SDK中,你提到了我,我已经做了我的大部分工作基于,没有任何参考这个寄存器,但它似乎很重要,以编程的OTP内存。您能否提供任何见解,如果这个寄存器是必要的编程OTP区域和什么其他启用可能是必要的,因为SDK似乎遗漏了这一信息。

另外一个边注,来自SDK的OTP_READ函数是有效的,我能够在OTP中查看数据,包括OTP头信息。

谢谢你的支持。我期待得到答复。

史蒂夫

PM_Dialog
离线
最后看到:2天8小时前
工作人员
加入:2018-02-08 11:03
嗨,史蒂文,

嗨,史蒂文,

我为耽搁道歉。我提到过,我们使用SmartSnippets工作室来编写OTP。关于flash_programmer项目,请检查otpc_write_fifo()。当你尝试烧OTP时,你必须确保编程电压是干净的,不能超过6.8V。另外,6.8V只能在VBAT3V供应后应用于VPP,必须在VBAT3V被移除之前从VPP移除,否则可能会损坏芯片。

谢谢,PM_Dialog