不使用SmartSnippets编程OTP

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
7个职位/0个新职位
最后一篇文章
史蒂文·麦格拉斯
离线
最后一次见到:1年10个月前
已加入:2019-02-19 15:58
不使用SmartSnippets编程OTP

大家好,

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

非常感谢。

设备:
PM\U对话框
离线
最后一次见到:13小时47分钟前
工作人员
已加入:2018-02-08 11:03
你好史蒂文·麦格拉斯,

你好史蒂文·麦格拉斯,

我强烈建议您使用SmartSnippets工具箱来烧录OTP,因为我们不支持自定义设置。但是,您可以参考5.0.4\utilities\flash\u programmer SDK path下的flash programmer项目。请检查otpc.h/.h文件。

谢谢,下午好

史蒂文·麦格拉斯
离线
最后一次见到:1年10个月前
已加入:2019-02-19 15:58
你好,

你好,

谢谢你的快速回复。我一直在引用您提到的flash程序员项目,特别是,当我调用optc\u clock\u enable函数时,我似乎无法访问OTP区域(至少无法再查看OTP内存)。调用optc\ U write\ fifo函数时,OTPC\ U STAT\ U PERR\ U、OTPC\ U STAT\ U PERR\ U L和OTPC\ U STAT\ U PERROR标志存在,并导致操作失败。

我可以看到我要编程的数据存在于OTPC\u FFPRT\u REG中,但是如何将其传输到OTP区域?也许我遗漏了一些重要的信息,但我似乎完全按照指示跟随SDK。任何帮助都将不胜感激。谢谢。

PM\U对话框
离线
最后一次见到:13小时47分钟前
工作人员
已加入:2018-02-08 11:03
你好史蒂文·麦格拉斯,

你好史蒂文·麦格拉斯,

请查看“Source file”项目文件夹下的programmer.c文件,并搜索ACTION\u OTP\u WRITE定义。这也许对你有帮助!你也可以检查你读到的动作。

谢谢,下午好

史蒂文·麦格拉斯
离线
最后一次见到:1年10个月前
已加入:2019-02-19 15:58
你好,

你好,

c文件是我遇到这些问题时引用和使用的源代码。如前所述,当我调用optc\u clock\u enable函数时,OTP(0x47000-0x47FFF)内存不再可见。我可以用正确的数据对OTPC\ U FFRT\ U REG(0x40008018)进行编程,但如何将其传输到OTP区域?另外,一旦调用optc\u clock\u disable函数,OTPC\u FFRT\u REG中的数据就不再存在。我基本上是使用所有的源代码程序员。c似乎只是信息被编程到先进先出区域,并没有从那里去任何地方。是否有额外的步骤访问OTP区域并传输此数据?

非常感谢您的帮助。感谢您花时间回复。

史蒂文·麦格拉斯
离线
最后一次见到:1年10个月前
已加入:2019-02-19 15:58
你好,

你好,

对这件事的简短评论。我已经阅读了DA14580设备的文档,并注意到了OTPC\u PCTRL\u REG,在这里您可以启用OTP的上下库进行编程。在您提到的SDK中,我的大部分工作都是基于的,这里根本没有提到这个寄存器,但是为了编程OTP内存,它似乎非常重要。如果这个寄存器是编程OTP区域所必需的,以及由于SDK似乎遗漏了这个信息,那么您能提供一些细节吗。

还有一个补充说明,SDK中的OTP\u READ函数正在运行,我可以查看OTP中的数据,包括OTP头信息。

谢谢你的支持。我期待着回音。

史蒂夫

PM\U对话框
离线
最后一次见到:13小时47分钟前
工作人员
已加入:2018-02-08 11:03
你好,史蒂文,

你好,史蒂文,

我对耽搁表示歉意。我提到过,我们使用SmartSnippets studio来编程OTP。关于flash\u程序员项目,请检查otpc\u write\u fifo()。当您试图烧毁OTP时,您必须确保编程电压是干净的,并且不得超过6.8V。此外,6.8V只能在VBAT3V供电后应用于VPP,并且必须在VBAT3V卸下之前从VPP中卸下,否则可能会损坏芯片。

谢谢,下午好