DSDP智能SNIPTES发送到OTP标题和数据的数据之间的差异

15个帖子/ 0新
最后发表
Edlofau.
离线
最后看到:3年7个月前
加入:2015-11-06 16:00时
DSDP智能SNIPTES发送到OTP标题和数据的数据之间的差异

你好,

我无法执行OTP程序。也许是由发送到OTP的标题数据和实际写入的数据之间的差异引起的。正如您在附加的划幕表中看到的那样,发送数据与书面数据之间存在差异。似乎数据刻录的数据与指定的数据不同。

现在设备被烤。

任何了解错误吗?谢谢。

埃德

附件:
设备:
MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨edlofau,

嗨edlofau,

我不认为我已经听到任何问题关于OTP燃烧,从我所能看到的图片你看了OTP nvd在不同的偏移量,一个是40000,另一个是44000,还在nvd部分有一个国旗,允许将数据插入到nvd区域,CFG_INITIALIZE_NVDS_STRUCT国旗。如果你用这个标志设置烧录图像,那么你也用那个数据烧录NVDS区域,而不仅仅是用你用OTP NVDS燃烧器设置的数据。

谢谢mt_dialog.

Edlofau.
离线
最后看到:3年7个月前
加入:2015-11-06 16:00时
你好,

你好,

感谢您的回复。

我找不到这面旗帜,正如你在图片中看到的,它不存在。

无论如何,我理解问题可能是由偏移量引起的。

这将是非常有帮助的有一个简短的总结如何编程的OTP。我使用的是您为DA14580提供的原始示例DSPS,没有任何更改。该映像是用调试标志= 0构建的。我附上了我想编程的数据,也许如果你能快速看一下,找出一些问题…

我的主要怀疑是可用的两个偏移量(对于图像和NVDS),哪个值避开我?

是否有任何其他参数,我应该小心,以便执行成功的程序吗?

非常感谢,
埃德

附件:
MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨edlofau,

嗨edlofau,

我正在谈论的标志位于SDK中,而不是在OTP NVDS或标题中。如果您刻录的图像具有在SDK中启用此标志,则NVDS结构区域已填充SDK具有的值。当您在OTP中刻录NVDS数据时,您可以使用您希望在OTP NVDS中刻录的数据,在OTP中全部刻放到OTP中的数据。NVDS不是OTP图像的单独部分。当您刻录未在没有先前提到的标志的情况下创建的SDK的图像时,NVDS区域应该有零,以便您将该区域的空白空间刻录为从OTP NVDS工具的NVDS区域。NVDS的偏移量是0x4000的0x340,即OTP的起始地址。

谢谢mt_dialog.

Edlofau.
离线
最后看到:3年7个月前
加入:2015-11-06 16:00时
你好,

你好,

感谢您的回复。

我在DSDP例子中找不到这个标志,在SDK中也找不到DSDP。

我在SDK中找到了SDK中的标志,用于写入的示例,在文件DA1458x_config_Advanced.h中,但此文件不存在于DSDP中。

谢谢,

埃德

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨edlofau,

嗨edlofau,

在SDK 5 DSP中,据我所知,它位于DA1458x_config_Advanced.h中,在第36行中,这将初始化或不是位于NVDS.C文件中的NVDS结构,第41行。

谢谢mt_dialog.

Edlofau.
离线
最后看到:3年7个月前
加入:2015-11-06 16:00时
我下载了SDK5

我从这里加载了SDK5https://support.dialog-semicondiondiondum/download/file/fid/2759我无法找到一个名为DSDP的项目。
它放在哪里?这是keil5项目还是…??
谢谢,对不起,
埃德

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 11: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中正常运行(通过智能片段引导程序),它使BLE串行桥如所愿。现在,为了放入OTP,我想有一种清单,以便正确地烧OTP,就我所知:

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

2)在SmartSnippet中,在OTP部分中,我将OTP图像与上一个.hex(offset = 0)刻录
3)对NVDS OTP不做任何事情(因为由于CFG_INITIALIZE_NVDS_STRUCT, OTP映像会处理它)
4)OTP头——>许多疑问:我想我需要把两个第一个标志(OTP中的应用程序)是。但是其他参数呢?对于DSPS,我需要在这里加载更多的东西吗?

谢谢!

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨edlofau,

嗨edlofau,

你提到的步骤是正确的,关于最后一步,通过燃烧国旗你的应用程序都将迫使580年从OTP,不会扫描启动外围设备寻找一个图像,通过这样做,DMA长度1 fc0 (OTP的长度形象的话,您应该设置它,以便将完整的OTP复制到您的系统ram中,以防万一),您应该能够从OTP运行应用程序。关于其他参数,您可以检查Smart Snippets User Guide.pdf,以便检查OTP头部的其他字段做什么。论坛上也有不少关于焚烧OTP头的帖子,请随意搜索论坛。

谢谢mt_dialog.

Edlofau.
离线
最后看到:3年7个月前
加入:2015-11-06 16:00时
嗨对话框,

嗨对话框,

我希望在头文件中写入以下值:

o在0x47F00和0x47F04的应用标志1和2 = YES
o 32KHz源段(4字节)在0x47F74。外部晶体
o DMA长度(4字节)在0x47FF8 = 1FC0

我不会对剩余的价值观进行编程。这有意义吗?

最后一个问题。我观察到在深度睡眠模式下,我没有通信主机<->设备。但是对于扩展模式,我有了通信,但是在传输过程中丢失了很多字符。为了配置他们,例如在deep i使用:
#undef cfg_mem_map_ext_sleep.
#定义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 11:34
嗨edlofau,

嗨edlofau,

是的,它可以,确保重新映射标志有SRAM为0(这是默认的,但只是以防万一),并保持JTAG使能标志启用(这也是默认的),以便能够通过JTAG重新连接到设备。

当用户手册指示而不是深度睡眠时,DSP只支持扩展睡眠模式。我没有看到任何丢失的东西,用DSPS FW燃烧您的设备,以扩展睡眠模式。关于您已启用HW流量控制的字符损耗检查,并确保在PC终端上启用它,请使用电路板与RTS / CTS连接连接。

谢谢mt_dialog.

Edlofau.
离线
最后看到:3年7个月前
加入:2015-11-06 16:00时
你好,

你好,

非常感谢您的回复。

我会把它延长。顺便问一下,当设备没有配对时,你知道当前的消耗是多少吗?顺便问一下,如果睡眠模式是OFF,并且设备没有配对,电流是多少?

我的MCU没有RTS / CTS线条,所以我不使用流量控制。这可能是一个问题吗?

谢谢,
埃德

MT_dialog
离线
最后看到:5个月2个星期前
工作人员
加入:2015-06-08 11:34
嗨edlofau,

嗨edlofau,

您可以在功耗常见问题解答(睡眠功耗,转换,接收)中找到有关580的功耗的信息。DSP的消耗不是任何不同的,是什么让整个系统的差异是广告间隔和连接间隔(它们越短,您消耗的功率越短)。同样在DSP中,功耗取决于您发送的数据的AMMount,当设备发送睡眠模式时,取消睡眠模式,并且设备保持醒着,直到在缓冲区中没有数据。当设备未睡眠时,它会消耗约0.6mA而不是1.4UA时睡着。此外,由于并非所有中央设备行为相同(接受不同的广告间隔,因此每个连接间隔中的不同数量等),因此功耗也取决于您使用的中心。

关于RTS / CTS,是的流控制是设备的要求来操作,因为它睡它必须有办法通知外部单片机是醒着还是已经睡觉,所以外部单片机将知道什么时候和什么时候停止发送数据。没有它,你将无法在睡眠模式下操作。

谢谢mt_dialog.