你好,
我无法执行OTP程序。也许是由发送到OTP的标题数据和实际写入的数据之间的差异引起的。正如您在附加的划幕屏幕中看到的那样,发送数据与书面数据之间存在差异。似乎数据刻录的数据与我指定的数据不同。
现在该设备被烤。
这是一个知道这个错误吗?谢谢。
埃德
嗨edlofau,
我不认为我听到了关于OTP燃烧的任何问题,从我可以从图像中看到的东西,你在不同的偏移中读取OTP NVDS,那个是40000,另一个是44000,也在NVDS部分有一个标志这允许将数据插入到NVDS区域,标志是CFG_INITIALIZE_NVDS_STRUCT。如果您使用此标志设置刻录该图像,那么您的数据也会烧毁NVDS区域,不仅与您使用OTP NVDS刻录机设置的数据。
谢谢mt_dialog.
感谢您的回复。
我无法找到这个旗帜,就像你在图片中看到它不存在。
在任何情况下,我都知道这个问题可能是由偏移量引起的。
它非常有帮助,简要摘要如何编程OTP。我正在使用您为DA14580提供的原始示例DSP,没有更改。图像是用调试标志构建的,我附上了我想要编程的数据,如果你可以快速寻找一些问题......
我的主要怀疑是可用的两个偏移量(用于图像和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文件和标志......非常感谢您的耐心等待。问候,埃德
你好,我们又见面了,
我有DSPS代码在RAM中运行OK(通过Smart Scippets-Booter),它根据需要制作BLE串行桥。现在,为了放入OTP,我想有点清单,以便正确燃烧OTP,我可以学到:
1)在Keil5中编译以下标志:#define cfg_boot_from_otp.#define cfg_initialize_nvds_struct.
2)在SmartSnippet中,在OTP部分中,我将OTP图像与上一个.hex(offset = 0)刻录3)对于NVDS OTP没有任何事情(由于OTP图像由于CFG_INITIALIZE_NVDS_STRUCT而照顾它)4)OTP标题 - >许多疑问:我想我需要把它的第一个标志(在OTP中的应用程序)。但其他参数呢?对于DSP,我需要在这里加载更多东西吗?
谢谢!
您提到的步骤是适当的,关于最后一步,通过刻录应用程序两个标志,您将强制580从OTP启动,并且不会通过执行此操作并设置DMA长度来扫描外围设备来查找图像。到1FC0(OTP图像的长度以单词为单词,您应该将其设置为使完整的OTP要复制到Sysram,以防万一)您应该能够从OTP运行应用程序。关于其他参数,您可以检查智能片段用户指南.pdf才能检查OTP标题的其他REST字段。还有很多论坛帖子有关OTP头刻录程序,请随时搜索论坛。
嗨对话框,
我期待用以下值刻录标题:
o应用标志1和2在0x47F00和0x47F04 = YESO 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编程中处理任何其他配置吗?
非常感谢 !埃德
是的,确保重新映射标志具有0(其默认值但只是在情况下)的SRAM并保持启用JTAG使能标志(这也默认),以便能够通过JTAG重新连接到设备。
当用户手册指示而不是深睡眠时,DSP只支持扩展睡眠模式。我没有看到任何丢失的东西,用DSPS FW刻录到扩展睡眠模式。关于您已启用HW流量控制的字符损耗检查,并确保在PC终端上启用它,请使用电路板查看与RTS / CTS的连接。
非常感谢您的回复。
我会延长。您是否知道BTW设备未配对的当前累计?顺便说一句,如果睡眠模式关闭,并且设备不配对,则是什么?
我的MCU没有RTS / CTS线条,所以我不使用流量控制。这可能是一个问题吗?
谢谢,埃德
您可以在功耗常见问题解答中找到有关580的功耗的信息(睡眠功耗,转变,接收)。DSP的消耗不是任何不同的,是什么让整个系统的差异是广告间隔和连接间隔(它们越短,您消耗的功率越短)。同样在DSP中,功耗取决于您发送的数据的Ammount,当设备发送睡眠模式时,取消睡眠模式,并且设备保持醒着,直到缓冲区中没有数据。当设备未睡眠时,它会消耗大约0.6mA而不是1.4ua何时入睡。此外,由于并非所有中央设备行为相同(接受不同的广告间隔,因此每个连接间隔中的不同数量的数据包),因此功耗也取决于您使用的中心。
关于RTS / CTS,是流量控制是设备需求才能运行的东西,因为它睡眠必须有一种方法来通知外部MCU它是醒目的或者它已经睡眠,因此外部MCU将知道何时发送数据和何时停止。没有它,您将无法在睡眠模式下运行。
嗨edlofau,
我不认为我听到了关于OTP燃烧的任何问题,从我可以从图像中看到的东西,你在不同的偏移中读取OTP NVDS,那个是40000,另一个是44000,也在NVDS部分有一个标志这允许将数据插入到NVDS区域,标志是CFG_INITIALIZE_NVDS_STRUCT。如果您使用此标志设置刻录该图像,那么您的数据也会烧毁NVDS区域,不仅与您使用OTP NVDS刻录机设置的数据。
谢谢mt_dialog.
你好,
感谢您的回复。
我无法找到这个旗帜,就像你在图片中看到它不存在。
在任何情况下,我都知道这个问题可能是由偏移量引起的。
它非常有帮助,简要摘要如何编程OTP。我正在使用您为DA14580提供的原始示例DSP,没有更改。图像是用调试标志构建的,我附上了我想要编程的数据,如果你可以快速寻找一些问题......
我的主要怀疑是可用的两个偏移量(用于图像和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文件和标志......
非常感谢您的耐心等待。
问候,
埃德
你好,我们又见面了,
我有DSPS代码在RAM中运行OK(通过Smart Scippets-Booter),它根据需要制作BLE串行桥。现在,为了放入OTP,我想有点清单,以便正确燃烧OTP,我可以学到:
1)在Keil5中编译以下标志:
#define cfg_boot_from_otp.
#define cfg_initialize_nvds_struct.
2)在SmartSnippet中,在OTP部分中,我将OTP图像与上一个.hex(offset = 0)刻录
3)对于NVDS OTP没有任何事情(由于OTP图像由于CFG_INITIALIZE_NVDS_STRUCT而照顾它)
4)OTP标题 - >许多疑问:我想我需要把它的第一个标志(在OTP中的应用程序)。但其他参数呢?对于DSP,我需要在这里加载更多东西吗?
谢谢!
嗨edlofau,
您提到的步骤是适当的,关于最后一步,通过刻录应用程序两个标志,您将强制580从OTP启动,并且不会通过执行此操作并设置DMA长度来扫描外围设备来查找图像。到1FC0(OTP图像的长度以单词为单词,您应该将其设置为使完整的OTP要复制到Sysram,以防万一)您应该能够从OTP运行应用程序。关于其他参数,您可以检查智能片段用户指南.pdf才能检查OTP标题的其他REST字段。还有很多论坛帖子有关OTP头刻录程序,请随时搜索论坛。
谢谢mt_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编程中处理任何其他配置吗?
非常感谢 !
埃德
嗨edlofau,
是的,确保重新映射标志具有0(其默认值但只是在情况下)的SRAM并保持启用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,是流量控制是设备需求才能运行的东西,因为它睡眠必须有一种方法来通知外部MCU它是醒目的或者它已经睡眠,因此外部MCU将知道何时发送数据和何时停止。没有它,您将无法在睡眠模式下运行。
谢谢mt_dialog.