你好,
I am trying to program (upload firmware onto) my DA14580 chip using OTP via SmartSnippets, and I am getting this error:
Additional error info at address 0x81FEC (MSB first): FF FF FF FE
记忆刻录失败。
I have read in the other forums the same issue, but I have addressed the possible solutions provided and I'm still getting the error (and I have the latest version of SmartSnippets).
有些信息可能有助于故障排除:我正在使用基本的开发套件JTAG连接。我尝试使用Keil测试固件。检测到ARM Cortex-M SW,我可以运行该程序,但是我无法使用手机检测BLE设备。我知道代码有效,我的连接是正确的,因为我在几个月前尝试了这个,它的工作了,但它只是不会再检测。
I have checked the voltage at TP2, where I have soldered a wire to interface with a connector, and it measures 6.6V (not 6.8V). Could this be the issue? Should it be 6.8V exactly? If not, any ideas what it could be?
另外,是否有一个标题销来连接,允许我校准晶体?我在MCU中连接到P0.5,但我无法将其连接到DEV上的此引脚。套件板,因为这是由我的TX线占据。有替代方案吗?
在此先感谢您的帮助。
嗨哈桑,
谢谢你在线问题
您提到“我尝试使用Keil测试固件。检测到ARM Cortex-M SW,我可以运行程序,然后我无法用手机检测BLE设备。“
Can you please run your code in debug mode? It’s little bit weird that you are not able to detect your device. I would advise you to ensure that the code is running correctly, and the chips is advertising. Regarding the advertising, you could use the Power profiler of SmartSnippets toolbox.
In general, you should follow the procedure below in order to burn the OPT.
您是否应该从SmartSnippets Toolbox(推荐最新版本)中的OTP程序员。
The OTP Header area, where flags and specific values that define the operation of the device are placed (more information regarding the values of the OTP Header can be found in the Smart Snippets User guide).
When the user tries to burn the OTP he have to make sure that the programming voltage is clean and must not exceed 6.8V. Also the 6.8V can only be applied to VPP after the VBAT3V is supplied and must be removed from VPP before the VBAT3V is removed, otherwise the chip could be damaged.
In order to burn the OTP with the most common configuration please follow the below instructions:
注意:如果刻录应用程序标志并且禁用JTAG启用标志,则设备无法访问。
请记住,OTP持续一次可编程,因此您无法多次擦除并重新编写OTP,但您只能将仍设置为0的位,然后将其转换为1。
谢谢,PM_DIALOG.
嗨admin,
Thanks for your prompt, detailed, and instructive feedback. It's great support and much appreciated.
只是为了解决你的一些积分:
I am running my code in debug mode. I start a debug session, it starts fine, then I select Run and it runs, without encountering an error and stopping, until I stop it myself. So the actual software runs without issues, but I just can't detect it for some reason.
至于解决方案的第二部分关于使用SmartSnippet Toolbox上传OTP,我按顺序浏览这些步骤,但这是导致我收到的错误我提到的错误:
Additional error info at address 0x81FEC (MSB first): FF FF FF FE
记忆刻录失败。
所以在你的一步。3,我无法刻录图像,因为我收到此错误。
您认为它是否与通过TP2提供的电压(目前为6.6V)有关?如果是这样,这也会导致设备在尝试用keil调试时不显示?
使用Keil调试时,我是否需要将此电压应用于VPP?或者在实际上将固件上传到OTP时,我只需要此连接吗?
Thanks.
嗨哈桑,
“我正在调试模式下运行我的代码。我开始一个调试会话,它开始正常,然后我选择运行并且它运行,而不遇到错误和停止,直到我自己停止它。因此,实际软件在没有问题的情况下运行,但我只是因为某种原因无法检测到它。“
Can you please use the Power Profiler of SmartSnippets toolbox in order to ensure that the device start advertising correctly? Are you trying to run any of the SDK example, or you have developed a custom application? Then, I would suggest you to run the ble_app_barebone example of the SDK (as it is provided, without any modifications). Is the DA14580 advertising correctly? Are you able to detect it in the NLE mobile application?
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?
When downloading the firmware through Keil, the System-RAM is burnt and the device boots from there.To do so, there is no need for supplying Vpp.
当实际上将固件上传到OTP时,我是否只需要此连接?
固件功能完全正常时,您需要此设置,并且您想要刻录OTP。
谢谢,PM_DIALOG.