DSDP智能snipnitions之间的数据发送到OTP头和数据烧伤

15个员额/ 0个新员额
最后一篇
edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
DSDP智能snipnitions之间的数据发送到OTP头和数据烧伤

你好,

我无法执行OTP程序。可能是由于发送到OTP的头数据和实际写入的数据之间的差异造成的。正如您在附件截图中看到的,发送的数据和写入的数据之间存在差异。看来烧录的数据和我指定的不一样。

现在这个设备已经烤焦了。

有人知道这里面有窃听器吗?谢谢。

艾德

附件:
设备:
mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 34
嗨edlofau,

嗨edlofau,

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

由于MT_dialog

edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
你好,

你好,

谢谢你的回复。

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

无论如何,我理解这个问题可能是由补偿引起的。

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

我主要的疑问是两个可用的偏移量(图像和nvds),我应该放哪个值?

为了执行成功的编程,还有其他的参数需要我注意吗?

非常感谢,
艾德

附件:
mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 34
嗨edlofau,

嗨edlofau,

我正在谈论的标志是位于SDK,而不是在OTP NVDS或头部。如果您刻制的映像在SDK中启用了这个标志,则NVDS结构区域已经由SDK的值填充。当您在OTP中刻录NVDS数据时,您将OTP中已经存在的数据与您想在OTP NVDS中刻录的数据进行了关联。NVDS不是OTP映像的一个独立部分。当你刻录SDK创建的图像时,如果没有我之前提到的标志,NVDS区域应该是0,以便你从OTP NVDS工具刻录该区域的空白区域作为NVDS区域。NVDS从OTP起始地址0x4000的偏移量是0x340。

由于MT_dialog

edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
你好,

你好,

谢谢你的回复。

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

我在SDK中找到了在DA1458x_config_advanced.h文件中编写的示例的标志,但这个文件在DSDP中不存在。

谢谢,

艾德

mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 34
嗨edlofau,

嗨edlofau,

在SDK 5 DSPS中,据我所知,这个标志位于第36行da1458x_config_advanced.h中,它将初始化或不初始化位于NVDS .c文件第41行中的NVDS结构体。

由于MT_dialog

edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
我从SDK5中加载了

我从这里下载了SDK5https://support.dialog-semiconductor.com/download/file/fid/2759我不能找到一个叫做DSDP的项目。
它放在哪里?是一个keil5项目或... ???
感谢和抱歉,
艾德

mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 34
嗨edlofau,

嗨edlofau,

该项目被称为DSPS,位于支持网站的参考设计部分之下。

由于MT_dialog

edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
我看到我正在使用旧的

我看到我正在使用DSDP的旧浏览。
我下载了最后一个,最后找到da1458x_config_advanced.h文件和标志......
非常感谢您的耐心等待。
问候,
艾德

edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
你好再次,

你好再次,

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

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

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

谢谢!

mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 34
嗨edlofau,

嗨edlofau,

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

由于MT_dialog

edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
嗨,对话框中,

嗨,对话框中,

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

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编程中处理任何其他配置吗?

非常感谢!
艾德

mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 34
嗨edlofau,

嗨edlofau,

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

DSPS只支持用户手册所指示的扩展睡眠模式,而不支持深度睡眠。我没有看到任何缺失,燃烧您的设备与DSPS fw扩展睡眠模式。关于角色丢失检查,你已经启用了HW流量控制,并确保它也在你的PC终端上启用,也检查你与RTS/CTS的连接与你的板。

由于MT_dialog

edlofau
离线
最后一次露面:3年7个月前
加入:2015-11-06 16:00
你好,

你好,

非常感谢您的回复。

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

我的MCU没有RTS/CTS线路,所以我没有使用流量控制。这有问题吗?

谢谢,
艾德

mt_dialog.
离线
最后一次露面:5个月2周前
职员
加入:2015-06-08 34
嗨edlofau,

嗨edlofau,

你可以在功耗FAQ中找到关于580的功耗信息(睡眠功耗、传输功耗、接收功耗)。DSPS的消耗没有任何不同,在整个系统中造成不同的是广告间隔和连接间隔(它们越短,你消耗的电力越多)。同样,在DSPS中,功耗取决于你传输的数据量,当设备在传输时,睡眠模式被取消,设备保持清醒,直到缓冲区中没有数据。当设备处于非睡眠状态时,它消耗大约0.6mA而不是睡眠状态时的1.4uA。此外,由于不是所有的中心设备都具有相同的行为(接受不同的广告间隔,在每个连接间隔中不同数量的包,等等),功耗也取决于您所使用的中心。

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

由于MT_dialog