OTP编程错误(使用DEV。套件)

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
哈桑
离线
最后一次露面:4个月1周前
加入:2016-05-31 06:53
OTP编程错误(使用DEV。套件)

你好,
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线占据。有替代方案吗?

在此先感谢您的帮助。

Device:
PM_DIALOG.
离线
最后一次露面:1 hour 40 min ago
职员
加入:2018-02-08 11:03
嗨哈桑,

嗨哈桑,

谢谢你在线问题

您提到“我尝试使用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程序员。

  1. OTP有3个区域,用户可以刻录数据:
  2. OTP图像区域,其中将用户代码放置并在引导时镜像到SYSRAM。
  3. OTP NVDS区域,其中NVDS结构在启动时填充了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:

  1. 通过JTAG或UART打开智能片段,然后打开。
  2. From the tool bar button choose the OTP programmer in order to open 3 different tabs, one for each OTP area.
  3. 选择左边的OTP图像标签和标签的眉毛e to the .hex file you would like to burn and hit Burn.
  4. 一旦最后一步完成,您将烧掉您的海关OTP。需要一些其他配置,以便您的设备从中启动它。
  5. 转到OTP标题选项卡。
  6. 将两个应用程序标志更改为“是”(这是必需的,以便从OTP开始启动,当一个主引导加载程序被禁用时 - 扫描有效图像的外围设备,用户只能使用JTAG重新编程他的电路板)。
  7. Hit the burn Button in order to burn the configuration to the OTP Header.
  8. The above steps are enough in order for the user to program the OTP
  9. When the OTP is burned and the application flags on the OTP header are also burned, the primary bootloader is disabled so the scanning procedure doesn't take place, thus you will not be able to boot from the SPI or UART or I2C. You will be able to directly burn your sysram though via JTAG as long as the OTP header field called JTAG enable flag stays Enabled.

注意:如果刻录应用程序标志并且禁用JTAG启用标志,则设备无法访问。

请记住,OTP持续一次可编程,因此您无法多次擦除并重新编写OTP,但您只能将仍设置为0的位,然后将其转换为1。

谢谢,PM_DIALOG.

哈桑
离线
最后一次露面:4个月1周前
加入:2016-05-31 06:53
嗨admin,

嗨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.

PM_DIALOG.
离线
最后一次露面:1 hour 40 min ago
职员
加入:2018-02-08 11:03
嗨哈桑,

嗨哈桑,

“我正在调试模式下运行我的代码。我开始一个调试会话,它开始正常,然后我选择运行并且它运行,而不遇到错误和停止,直到我自己停止它。因此,实际软件在没有问题的情况下运行,但我只是因为某种原因无法检测到它。“

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.