你好,
我试图通过SmartSnippets使用OTP编程(上传固件到)我的DA14580芯片,我得到这个错误:
附加错误信息在地址0x81FEC (MSB第一个):FF FF FF FE
记忆刻录失败。
我已经在其他论坛上读到同样的问题,但我已经解决了可能提供的解决方案,我仍然得到错误(我有最新版本的SmartSnippets)。
有些信息可能有助于故障排除:我正在使用基本的开发套件JTAG连接。我尝试使用Keil测试固件。检测到ARM Cortex-M SW,我可以运行该程序,但是我无法使用手机检测BLE设备。我知道代码有效,我的连接是正确的,因为我在几个月前尝试了这个,它的工作了,但它只是不会再检测。
我检查了TP2的电压,在那里我焊接了一根电线与连接器接口,它测量6.6V(不是6.8V)。这可能是问题所在吗?应该是6。8伏吗?如果不是,你知道是什么吗?
另外,是否有一个标题销来连接,允许我校准晶体?我在MCU中连接到P0.5,但我无法将其连接到DEV上的此引脚。套件板,因为这是由我的TX线占据。有替代方案吗?
在此先感谢您的帮助。
设备:
嗨哈桑,
谢谢你在线问题
您提到“我尝试使用Keil测试固件。检测到ARM Cortex-M SW,我可以运行程序,然后我无法用手机检测BLE设备。“
你能在调试模式下运行你的代码吗?你无法检测到自己的设备,这有点奇怪。我建议你确保代码运行正确,芯片在做广告。关于广告,您可以使用SmartSnippets工具箱的Power分析器。
通常,您应该遵循下面的过程来烧录OPT。
您是否应该从SmartSnippets Toolbox(推荐最新版本)中的OTP程序员。
OTP标头区域,其中标记和特定的值,定义了设备的操作放置(关于OTP标头值的更多信息可以在智能片段用户指南中找到)。
当用户试图烧毁OTP时,他必须确保编程电压是干净的,不能超过6.8V。此外,6.8V只能应用于VBAT3V后的VPP,并且必须在vbat3v移除之前从VPP移除,否则芯片可能会损坏。
为了用最常见的配置烧OTP,请遵循以下说明:
注意:如果刻录应用程序标志并且禁用JTAG启用标志,则设备无法访问。
请记住,OTP持续一次可编程,因此您无法多次擦除并重新编写OTP,但您只能将仍设置为0的位,然后将其转换为1。
谢谢,PM_DIALOG.
嗨admin,
感谢您及时、详细、有指导意义的反馈。这是极大的支持,非常感谢。
只是为了解决你的一些积分:
我正在调试模式下运行我的代码。我启动一个调试会话,它很好地启动,然后我选择Run,它运行,没有遇到错误并停止,直到我自己停止它。因此,实际的软件运行没有问题,但我就是无法检测它的原因。
至于解决方案的第二部分关于使用SmartSnippet Toolbox上传OTP,我按顺序浏览这些步骤,但这是导致我收到的错误我提到的错误:
附加错误信息在地址0x81FEC (MSB第一个):FF FF FF FE
记忆刻录失败。
所以在你的一步。3,我无法刻录图像,因为我收到此错误。
您认为它是否与通过TP2提供的电压(目前为6.6V)有关?如果是这样,这也会导致设备在尝试用keil调试时不显示?
使用Keil调试时,我是否需要将此电压应用于VPP?或者在实际上将固件上传到OTP时,我只需要此连接吗?
谢谢。
嗨哈桑,
“我正在调试模式下运行我的代码。我启动一个调试会话,它很好地启动,然后我选择Run,它运行,没有遇到错误并停止,直到我自己停止它。因此,实际软件在没有问题的情况下运行,但我只是因为某种原因无法检测到它。“
您能否使用SmartSnippets工具箱的功率分析器以确保设备正确地开始广告?您正在尝试运行任何SDK示例,还是已经开发了自定义应用程序?然后,我建议您运行SDK的ble_app_barebone示例(因为它是提供的,没有任何修改)。DA14580广告是否正确?您能够在NLE移动应用程序中检测到它吗?
Regarding your question about how to programming the OTP, I would advice you first to make sure that the firmware is fully functional, and then program the OTP, you can’t erase and re-write the OTP multiple times, but you can only flip the bits that are still set to 0 and turn them to 1.
如我以前的答案中所述,您应该确保编程电压干净,不得超过6.8V。此外,6.8V只能应用于VBAT3V后的VPP,并且必须在vbat3v移除之前从VPP移除,否则芯片可能会损坏。根据数据表,对于OTP编程,应使用VPP = 6.7 V±0.1 V.
使用Keil调试时,我是否需要将此电压应用于VPP?
当通过Keil下载固件时,系统ram被烧毁,设备从那里启动。为此,不需要提供Vpp。
当实际上将固件上传到OTP时,我是否只需要此连接?
固件功能完全正常时,您需要此设置,并且您想要刻录OTP。
谢谢,PM_DIALOG.