⚠️
嗨,那里..感谢您参加论坛。激动人心的消息!现在,我们正在转到我们的新论坛平台,该平台将提供更好的功能,并包含在主话网站中。所有帖子和帐户都已迁移。我们现在仅在新论坛上接受流量 - 请在https://www.dialog-spoomendonductor.com/support。我们将在未来几天修复错误 /优化搜索和标记。
4个帖子 / 0新
最后一篇文章
Markdsylva_2277
离线
最后一次露面:2个月2周前
加入:2019-06-19 04:20
OTP编程故障

尊敬的先生,

我遵循以下步骤提到的步骤,即使我正在收到内存写错误。

请参阅表258:DA14580数据表中的建议操作条件。OTP编程期间VPP引脚的电源电压应为6.6V - 6.8V。您可以仔细检查您在VPP PIN上是否有正确的电压电源?您需要确保OTP编程期间VPP引脚上的电源电压在6.6V - 6.8V之内。编程过程中的电源电压应干净,不得超过6.8V。此外,在提供VBAT3V后,只能将6.8V应用于VPP,并且必须在删除VBAT3V之前从VPP中删除,否则芯片可能会损坏。

此外,请记住,应将跳线放在标题J3中以启用Pro-DK中的VPP。

关于连接,我可以澄清您使用的是正确的:

  1. J4-引脚1(VBAT_580) - >自定义板的VCC。
  2. J4-引脚25(TMS) - >自定义板的SWDIO引脚。
  3. J4-引脚27(TCK) - >自定义板的SW_CLK引脚。
  4. tp2->到自定义板的VPP(如果需要编程OTP)。
  5. J4-引脚2(GND) - >在定制板的地面上。

让我请提醒您应遵循的过程,以通过SmartSnippets工具箱燃烧OTP。据我所记得,您之前已经发布了类似的票:

  1. OTP有3个区域,用户可以燃烧数据:
  2. OTP图像区域,放置用户代码并在启动时镜像到sysram。
  3. OTP NVD区域,其中NVDS结构在启动时填充了OTP。

OTP标头区域,其中放置了定义设备操作的标志和特定值(有关OTP标头值的更多信息可以在SMART SIPPETS用户指南中找到)。

为了用最常见的配置燃烧OTP,请按照以下说明:

  1. 通过JTAG或UART打开智能片段,然后打开。
  2. 从“工具栏”按钮中,选择OTP程序员,以打开3个不同的选项卡,一个针对每个OTP区域。
  3. 选择“ OTP图像”选项卡,然后在左侧选项卡上浏览到.hex文件,您想燃烧并击中燃烧。
  4. 最后一步完成后,您将烧毁您的自定义板OTP。为了使您的设备从其启动,需要一些其他配置。

  1. 转到OTP标头选项卡。
  2. 将两个应用程序标志更改为YES(这是从OTP启动引导需要的,当将主引导加载程序被禁用时 - 扫描外围设备以示为有效图像,用户可以仅使用JTAG对其板进行重新编程)。
  3. 点击刻录按钮以将配置刻录到OTP标头。
  4. 以上步骤足以让用户对OTP进行编程

OTP stands for One Time Programmable, thus you can’t erase and re-write the OTP multiple times, but you can only flip the bits that are still set to 0 and turn them to 1. So you can change the JTAG enable flag as you described in you thread, but since you configure it as 1, you will NOT be able to change it again. When the OTP is burned and the application flags on the OTP header are also burned, the primary bootloader is disabled so the scanning procedure doesn't take place, thus you will not be able to boot from the SPI or UART or I2C. You will be able to directly burn your SystemRAM though JTAG as long as the OTP header field called JTAG enable flag stays Enabled. If the application flags are burned and the JTAG enable flag is Disabled then the device becomes inaccessible.

在固件方面,您应该确保da1458x_config_basic.h中的cfg_development_debeveligment_debug macro不确定。如果您不应该发生,那么特定标志只是添加了一些断点,以便开发人员下载图像,以确定任何问题。您还可以在da1458x_stack_config中定义CFG_BOOT_FROM_OTP宏,但不是强制性的。如果定义了此宏,则从SYSRAM读取OTP标头数据,并通过Bootrom代码复制。否则,从OTP内存读取OTP标头数据。

总之,在燃烧OTP之前,您应该确保固件功能完全正常。”

请为我提供适当的解决方案。

此致,

标记

设备:
pm_dialog
离线
最后一次露面:1周5天前
职员“title=
加入:2018-02-08 11:03
HI MarkdSylva_2277,

HI MarkdSylva_2277,

我们已经在以前的论坛线程中讨论了如何燃烧OTP,并且您正在遵循正确的步骤。如果您打开OTP程序员认为SmartSnippets工具箱,您是否可以连接并阅读OTP和OTP标头的内容?这些错误仅在试图燃烧OTP时发生?另外,您是否使用JTAG或UART与该工具连接。同时,我建议您从我们的支持网站下载最新版本的SmartSnippets工具箱。您是否尝试过将FW直接下载到System-Ram Thought Thought Ide?如果是,设备的广告是否正确?

谢谢,pm_dialog

Markdsylva_2277
离线
最后一次露面:2个月2周前
加入:2019-06-19 04:20
嗨,pm_dialog,

嗨,pm_dialog,

我使用了最新的智能片段和最新的Segger驱动程序后,我的Issuse得到了解决。谢谢。

标记

pm_dialog
离线
最后一次露面:1周5天前
职员“title=
加入:2018-02-08 11:03
嗨,马克,

嗨,马克,

很高兴您使用最新版本的SmartSnippets工具箱弄清楚了问题。

谢谢,pm_dialog