你好,
我无法执行OTP程序。也许是由发送到OTP的标题数据和实际写入的数据之间的差异引起的。正如您在附加的划幕屏幕中看到的那样,发送数据与书面数据之间存在差异。似乎数据刻录的数据与我指定的数据不同。
现在该设备被烤。
这是一个知道这个错误吗?谢谢。
埃德
嗨edlofau,
我不认为我已经听到任何问题关于OTP燃烧,从我所能看到的图片你看了OTP nvd在不同的偏移量,一个是40000,另一个是44000,还在nvd部分有一个国旗,允许将数据插入到nvd区域,CFG_INITIALIZE_NVDS_STRUCT国旗。如果你烧这个标志设置的图像,那么你已经烧的NVDS区域与该数据以及不只是数据,你已经设置与OTP NVDS燃烧器。
谢谢mt_dialog.
感谢您的回复。
我找不到这面旗帜,正如你在图片中看到的,它不存在。
在任何情况下,我都知道这个问题可能是由偏移量引起的。
这将是非常有帮助有一个简短的总结如何编程的OTP。我使用的是您为DA14580提供的原始示例dsp,没有任何更改。映像是用调试标志= 0构建的。我附上了我想要编程的数据,也许你可以快速看一下找出一些问题…
我的主要怀疑是可用的两个偏移量(用于图像和NVDS),这是一个值班的价值?
是否有任何其他参数,我应该注意才能执行成功的程序吗?
非常感谢,埃德
我正在谈论的标志位于SDK中,而不是在OTP NVDS或标题中。如果您在SDK中启用了此标志,则刻录的图像已启用此标志,则SDK具有的值填充了NVDS结构区域。当您在OTP中刻录NVDS数据时,您将在OTP中的数据中的数据与您想要在OTP NVDS中刻录的数据刻录。NVDS不是OTP图像的单独部分。当您刻录没有先前提到的ITP NVDS工具时ZERO在NVDS区域中创建的SDK创建的图像时,请刻录未提及的SDK,以便您将该区域的空白空间刻录为来自OTP NVDS工具的NVDS区域。NVDS的偏移量是0x4000的0x340,即OTP的起始地址。
我不能在DSDP示例中找到这个标志,我不能在SDK中找到DSDP。
我在文件DA1458x_config_advanced.h中找到了SDK中的标志,用于编写的示例,但此文件不存在于DSDP中。
谢谢,
在SDK 5 DSP中,据我所知,该标志位于DA1458x_config_Advanced.h中,在第36行中,这将初始化或不是位于NVDS.C文件中的NVDS结构线41。
我从这里驾驶了SDK5https://support.dialog-semicondiondiondiondum/download/file/fid/2759.我无法找到一个名为DSDP的项目。它被放在哪里?是keil5项目还是…??谢谢,抱歉,埃德
该项目称为DSPS及其位于支持站点的参考设计部分。
我发现我使用的是DSDP的旧版本。我下载了最后一个,最终找到da1458x_config_advanced.h文件和标志…非常感谢您的耐心等待。问候,埃德
你好,我们又见面了,
我有dsp代码在RAM中运行OK(通过智能片段引导),它使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头标——>但是其他参数呢?对于DSPS,我需要在这里加载更多的东西吗?
谢谢!
你提到的步骤是正确的,关于最后一步,通过燃烧国旗你的应用程序都将迫使580年从OTP,不会扫描启动外围设备寻找一个图像,通过这样做,DMA长度1 fc0 (OTP的长度形象的话,你应该设置,以便完整的OTP复制到你的syram,只是以防万一),你应该能够从OTP运行应用程序。关于其他参数,你可以检查Smart Snippets用户指南。pdf,以检查OTP头的其余字段做什么。也有相当多的论坛帖子关于OTP头燃烧程序,请随时搜索论坛。
嗨对话框,
我期望烧头与以下值:
o在0x47F00和0x47F04 = YES处的应用标记1和2o 32KHz源段(4字节)在0x47F74。外部晶体o DMA长度(4字节)在0x47FF8 = 1FC0
我不会编写其余的值。这说得通吗?
最后一个问题。我观察到,对于深度睡眠模式,我没有通信主机<->设备。但是对于扩展模式,我有了通信,但是在传输中丢失了很多字符。为了配置它们,例如在deep中我使用:#undef cfg_mem_map_ext_sleep.#定义CFG_MEM_MAP_DEEP_SLEEPconst static sleep_state_t app_default_sleep_mode = arch_deep_sleep_on;(user.config.h)
我是不是漏掉了什么?我应该注意OTP编程的其他配置吗?
非常感谢 !埃德
是的,它确实,确保Remapping标志有SRAM为0(这是默认的,但只是以防万一),并保持JTAG启用标志启用(这也是默认的),以便能够通过JTAG重新连接到设备。
当用户手册指示而不是深睡眠时,DSP只支持扩展睡眠模式。我没有看到任何丢失的东西,用DSPS FW刻录到扩展睡眠模式。关于您已启用HW流量控制的字符损耗检查,并确保在PC终端上启用它,请使用电路板查看与RTS / CTS的连接。
非常感谢您的回复。
我把“然后”写在“延伸”里。你知道BTW是什么时候的当前消耗设备没有配对?顺便问一下,如果休眠模式是关闭的,设备没有配对,电流是多少?
我的MCU没有RTS / CTS线条,所以我不使用流量控制。这可能是一个问题吗?
谢谢,埃德
您可以在功耗常见问题解答中找到有关580的功耗的信息(睡眠功耗,转变,接收)。DSP的消耗不是任何不同的,是什么让整个系统的差异是广告间隔和连接间隔(它们越短,您消耗的功率越短)。同样在DSP中,功耗取决于您发送的数据的Ammount,当设备发送睡眠模式时,取消睡眠模式,并且设备保持醒着,直到缓冲区中没有数据。当设备未睡眠时,它会消耗大约0.6mA而不是1.4ua何时入睡。此外,由于并非所有中央设备行为相同(接受不同的广告间隔,因此每个连接间隔中的不同数量的数据包),因此功耗也取决于您使用的中心。
关于RTS / CTS,是的流控制是设备的要求来操作,因为它睡它必须有办法通知外部单片机是醒着还是已经睡觉,所以外部单片机将知道什么时候和什么时候停止发送数据。没有它,你将无法在睡眠模式下操作。
嗨edlofau,
我不认为我已经听到任何问题关于OTP燃烧,从我所能看到的图片你看了OTP nvd在不同的偏移量,一个是40000,另一个是44000,还在nvd部分有一个国旗,允许将数据插入到nvd区域,CFG_INITIALIZE_NVDS_STRUCT国旗。如果你烧这个标志设置的图像,那么你已经烧的NVDS区域与该数据以及不只是数据,你已经设置与OTP NVDS燃烧器。
谢谢mt_dialog.
你好,
感谢您的回复。
我找不到这面旗帜,正如你在图片中看到的,它不存在。
在任何情况下,我都知道这个问题可能是由偏移量引起的。
这将是非常有帮助有一个简短的总结如何编程的OTP。我使用的是您为DA14580提供的原始示例dsp,没有任何更改。映像是用调试标志= 0构建的。我附上了我想要编程的数据,也许你可以快速看一下找出一些问题…
我的主要怀疑是可用的两个偏移量(用于图像和NVDS),这是一个值班的价值?
是否有任何其他参数,我应该注意才能执行成功的程序吗?
非常感谢,
埃德
嗨edlofau,
我正在谈论的标志位于SDK中,而不是在OTP NVDS或标题中。如果您在SDK中启用了此标志,则刻录的图像已启用此标志,则SDK具有的值填充了NVDS结构区域。当您在OTP中刻录NVDS数据时,您将在OTP中的数据中的数据与您想要在OTP NVDS中刻录的数据刻录。NVDS不是OTP图像的单独部分。当您刻录没有先前提到的ITP NVDS工具时ZERO在NVDS区域中创建的SDK创建的图像时,请刻录未提及的SDK,以便您将该区域的空白空间刻录为来自OTP NVDS工具的NVDS区域。NVDS的偏移量是0x4000的0x340,即OTP的起始地址。
谢谢mt_dialog.
你好,
感谢您的回复。
我不能在DSDP示例中找到这个标志,我不能在SDK中找到DSDP。
我在文件DA1458x_config_advanced.h中找到了SDK中的标志,用于编写的示例,但此文件不存在于DSDP中。
谢谢,
埃德
嗨edlofau,
在SDK 5 DSP中,据我所知,该标志位于DA1458x_config_Advanced.h中,在第36行中,这将初始化或不是位于NVDS.C文件中的NVDS结构线41。
谢谢mt_dialog.
我从这里驾驶了SDK5https://support.dialog-semicondiondiondiondum/download/file/fid/2759.我无法找到一个名为DSDP的项目。
它被放在哪里?是keil5项目还是…??
谢谢,抱歉,
埃德
嗨edlofau,
该项目称为DSPS及其位于支持站点的参考设计部分。
谢谢mt_dialog.
我发现我使用的是DSDP的旧版本。
我下载了最后一个,最终找到da1458x_config_advanced.h文件和标志…
非常感谢您的耐心等待。
问候,
埃德
你好,我们又见面了,
我有dsp代码在RAM中运行OK(通过智能片段引导),它使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头标——>但是其他参数呢?对于DSPS,我需要在这里加载更多的东西吗?
谢谢!
嗨edlofau,
你提到的步骤是正确的,关于最后一步,通过燃烧国旗你的应用程序都将迫使580年从OTP,不会扫描启动外围设备寻找一个图像,通过这样做,DMA长度1 fc0 (OTP的长度形象的话,你应该设置,以便完整的OTP复制到你的syram,只是以防万一),你应该能够从OTP运行应用程序。关于其他参数,你可以检查Smart Snippets用户指南。pdf,以检查OTP头的其余字段做什么。也有相当多的论坛帖子关于OTP头燃烧程序,请随时搜索论坛。
谢谢mt_dialog.
嗨对话框,
我期望烧头与以下值:
o在0x47F00和0x47F04 = YES处的应用标记1和2
o 32KHz源段(4字节)在0x47F74。外部晶体
o DMA长度(4字节)在0x47FF8 = 1FC0
我不会编写其余的值。这说得通吗?
最后一个问题。我观察到,对于深度睡眠模式,我没有通信主机<->设备。但是对于扩展模式,我有了通信,但是在传输中丢失了很多字符。为了配置它们,例如在deep中我使用:
#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编程的其他配置吗?
非常感谢 !
埃德
嗨edlofau,
是的,它确实,确保Remapping标志有SRAM为0(这是默认的,但只是以防万一),并保持JTAG启用标志启用(这也是默认的),以便能够通过JTAG重新连接到设备。
当用户手册指示而不是深睡眠时,DSP只支持扩展睡眠模式。我没有看到任何丢失的东西,用DSPS FW刻录到扩展睡眠模式。关于您已启用HW流量控制的字符损耗检查,并确保在PC终端上启用它,请使用电路板查看与RTS / CTS的连接。
谢谢mt_dialog.
你好,
非常感谢您的回复。
我把“然后”写在“延伸”里。你知道BTW是什么时候的当前消耗设备没有配对?顺便问一下,如果休眠模式是关闭的,设备没有配对,电流是多少?
我的MCU没有RTS / CTS线条,所以我不使用流量控制。这可能是一个问题吗?
谢谢,
埃德
嗨edlofau,
您可以在功耗常见问题解答中找到有关580的功耗的信息(睡眠功耗,转变,接收)。DSP的消耗不是任何不同的,是什么让整个系统的差异是广告间隔和连接间隔(它们越短,您消耗的功率越短)。同样在DSP中,功耗取决于您发送的数据的Ammount,当设备发送睡眠模式时,取消睡眠模式,并且设备保持醒着,直到缓冲区中没有数据。当设备未睡眠时,它会消耗大约0.6mA而不是1.4ua何时入睡。此外,由于并非所有中央设备行为相同(接受不同的广告间隔,因此每个连接间隔中的不同数量的数据包),因此功耗也取决于您使用的中心。
关于RTS / CTS,是的流控制是设备的要求来操作,因为它睡它必须有办法通知外部单片机是醒着还是已经睡觉,所以外部单片机将知道什么时候和什么时候停止发送数据。没有它,你将无法在睡眠模式下操作。
谢谢mt_dialog.