DSDP Smart snnipets differences between data sent to OTP headers and data burned

15 posts / 0 new
最后一篇
edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
DSDP Smart snnipets differences between data sent to OTP headers and data burned

你好,

I am unable to perform an OTP program. Maybe is caused by discrepancies found between headers data sent to OTP and the data that is actually written. As you may see in the attached screeshots, there are differences between the sent data and the written data. It seems the data burned is different to the one I specified.

Right now the device is toasted.

Any know bug on this? thanks.

Ed

附件:
Device:
mt_dialog.
离线
最后一次露面:2 months 2 weeks ago
职员
加入:2015-06-08 11:34
Hi edlofau,

Hi edlofau,

我不认为我听到了关于OTP燃烧的任何问题,从我可以从图像中看到的东西,你在不同的偏移中读取OTP NVDS,那个是40000,另一个是44000,也在NVDS部分有一个标志这允许将数据插入到NVDS区域,标志是CFG_INITIALIZE_NVDS_STRUCT。如果您使用此标志设置刻录该图像,那么您的数据也会烧毁NVDS区域,不仅与您使用OTP NVDS刻录机设置的数据。

Thanks MT_dialog

edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
你好,

你好,

Thanks for your reply.

我无法找到这个旗​​帜,就像你在图片中看到它不存在。

In any case, I understand the issue can be caused by the offsets.

它非常有帮助,简要摘要如何编程OTP。我正在使用您为DA14580提供的原始示例DSP,没有更改。图像是用调试标志构建的,我附上了我想要编程的数据,如果你可以快速寻找一些问题......

My main doubts are the two offsets available (for image and nvds), which values shoul I put?

Is there any other parameter should I take care with in order to perform a succesfull programmation?

Many thanks,
Ed

附件:
mt_dialog.
离线
最后一次露面:2 months 2 weeks ago
职员
加入:2015-06-08 11:34
Hi edlofau,

Hi edlofau,

The flag that i am talking about is located in the SDK and not in the OTP NVDS or the Header. If the image you ve burned had this flag enabled in the SDK the NVDS structure area was allready populated by the values that the SDK had. When you burned the NVDS data in the OTP you ORed the data allready in the OTP with the data that you wanted to burn in the OTP NVDS. The NVDS is not a seperate part of the OTP image. When you burn the image that the SDK created without the flag i mentioned previously there should be zeros in the NVDS area in order for you to burn the empty space of that area as the NVDS area from the OTP NVDS tool. The offset of the NVDS is 0x340 from the 0x4000 that is the starting address of the OTP.

Thanks MT_dialog

edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
你好,

你好,

Thanks for your reply.

在DSDP示例中找不到此标志,我无法在SDK中找到DSDP。

I found the flag in the SDK for the examples there written, in file DA1458x_config_advanced.h but this file is not present in the DSDP.

Thanks,

Ed

mt_dialog.
离线
最后一次露面:2 months 2 weeks ago
职员
加入:2015-06-08 11:34
Hi edlofau,

Hi edlofau,

In the SDK 5 DSPS this flag, as far as i can tell, is located in the da1458x_config_advanced.h in line 36 and this will initialize or not the NVDS struct located in the nvds.c file, line 41.

Thanks MT_dialog

edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
我从SDK5中加载了

我从SDK5中加载了herehttps://support.dialog-semiconductor.com/download/file/fid/2759and i am not able to find a project called DSDP.
它放在哪里?是一个keil5项目或... ???
Thanks and sorry,
Ed

mt_dialog.
离线
最后一次露面:2 months 2 weeks ago
职员
加入:2015-06-08 11:34
Hi edlofau,

Hi edlofau,

The project is called DSPS and its located under the reference design section on the support site.

Thanks MT_dialog

edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
我看到我正在使用旧的

我看到我正在使用DSDP的旧浏览。
我下载了最后一个,最后找到da1458x_config_advanced.h文件和标志......
Thanks a lot for your patience.
Regards,
Ed

edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
Hi again,

Hi again,

我有DSPS代码在RAM中运行OK(通过Smart Scippets-Booter),它根据需要制作BLE串行桥。现在,为了放入OTP,我想有点清单,以便正确燃烧OTP,我可以学到:

1)在Keil5中编译以下标志:
#define cfg_boot_from_otp.
#define CFG_INITIALIZE_NVDS_STRUCT

2)In SmartSnippets, in OTP section I burn the OTP image with the previous .hex(offset = 0)
3)对于NVDS OTP没有任何事情(由于OTP图像由于CFG_INITIALIZE_NVDS_STRUCT而照顾它)
4)OTP标题 - >许多疑问:我想我需要把它的第一个标志(在OTP中的应用程序)。但其他参数呢?对于DSP,我需要在这里加载更多东西吗?

Thanks!

mt_dialog.
离线
最后一次露面:2 months 2 weeks ago
职员
加入:2015-06-08 11:34
Hi edlofau,

Hi edlofau,

您提到的步骤是适当的,关于最后一步,通过刻录应用程序两个标志,您将强制580从OTP启动,并且不会通过执行此操作并设置DMA长度来扫描外围设备来查找图像。到1FC0(OTP图像的长度以单词为单词,您应该将其设置为使完整的OTP要复制到Sysram,以防万一)您应该能够从OTP运行应用程序。关于其他参数,您可以检查智能片段用户指南.pdf才能检查OTP标题的其他REST字段。还有很多论坛帖子有关OTP头刻录程序,请随时搜索论坛。

Thanks MT_dialog

edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
Hi Dialog,

Hi Dialog,

我期待用以下值刻录标题:

o应用标志1和2在0x47F00和0x47F04 = YES
O 32kHz源部分(4字节)0x47F74。外部xtal.
O DMA长度(4个字节)在0x47FF8 = 1FC0

我不会编程其余的值。是否有意义?

和最后一个问题。我观察到,对于深度睡眠模式,我没有通信主机< - >设备。但是,对于扩展模式,我的交流但在传输中损失了很多字符。为了在Deep我使用中配置它们:
#undef CFG_MEM_MAP_EXT_SLEEP
#define cfg_mem_map_deep_sleep.
const static sleep_state_t app_default_sleep_mode = ARCH_DEEP_SLEEP_ON; (user.config.h)

我错过了什么?我应该在OTP编程中处理任何其他配置吗?

Thanks a lot !
Ed

mt_dialog.
离线
最后一次露面:2 months 2 weeks ago
职员
加入:2015-06-08 11:34
Hi edlofau,

Hi edlofau,

是的,确保重新映射标志具有0(其默认值但只是在情况下)的SRAM并保持启用JTAG使能标志(这也默认),以便能够通过JTAG重新连接到设备。

The DSPS supports only the extended sleep mode as the User Manual instructs and NOT deep sleep. I dont see anything missing, burn your device with the DSPS fw in extended sleep mode. Regarding the character loss check that you have enabled HW flow control and make sure that it is also enabled on your PC terminal, also check your connections with the RTS/CTS with your board.

Thanks MT_dialog

edlofau
离线
最后一次露面:3 years 4 months ago
加入:2015-11-06 16:00
你好,

你好,

Thanks a lot for your reply.

我会延长。您是否知道BTW设备未配对的当前累计?顺便说一句,如果睡眠模式关闭,并且设备不配对,则是什么?

I don´t have RTS/CTS lines from my MCU so I am not using flow control. Could this be a problem?

Thanks,
Ed

mt_dialog.
离线
最后一次露面:2 months 2 weeks ago
职员
加入:2015-06-08 11:34
Hi edlofau,

Hi edlofau,

你可以找到相关信息消费意识的力量mption of the 580 in the Power Consumption FAQ's (sleep power consumption, transimiting, receiving). The consumption of the DSPS isn't any different, what makes the difference in the overall system is the advertising intervals and the connection intervals (the shorter they are, the more power you consume). Also in DSPS the power consumption depends on the ammount of data you transmit, when the device is transmitting the sleep mode is cancelled and the device stays awake until there are no data in the buffers. When the device is not sleeping it consumes about 0.6mA instead of the 1.4uA when is asleep. Additionally since not all central devices behave the same (accepting different advertising intervals, different number of packets in every connection intervals, etc), the power consumption also depends on the central that you are using.

关于RTS / CTS,是流量控制是设备需求才能运行的东西,因为它睡眠必须有一种方法来通知外部MCU它是醒目的或者它已经睡眠,因此外部MCU将知道何时发送数据和何时停止。没有它,您将无法在睡眠模式下运行。

Thanks MT_dialog