Da14583 otp偏移误差

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
10个帖子/ 0个新帖子
最后发表
Rajapurerohit
离线
最后看到:1年1个月前
加入:2017-04-20 09:17
Da14583 otp偏移误差

你好,
我设计了使用DA14583芯片自己的定制板,现在是生产线。
我使用SmartSnippestTool刻录。hex/.bin到我的设备使用OTP。我按照以下步骤将OTP图像刻录到DA14583中,
1) # undef CFG_DEVELOPMENT_DEBUG
2) #定义CFG_BOOT_FROM_OTP
3)#undef cfg_initialize_nvds_struct
4)连接了我的自定义设备和Dev套件,包括跳线设置
5)从智能剪辑工具中选择UART/SPI选项
6)然后首先烧掉了OTP头文件
7)完成第6步后尝试烧录OTP图像文件。
但在燃烧的图像文件,我得到的错误。我已经附上了错误截图,请帮我解决这个问题。
迫切需要帮助。

感谢致敬
罗希特

附件:
设备:
PM_Dialog
离线
最后看到:1天51分钟前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

DA14583的OTP起始地址为0x40000,结束地址为0x47FFF(大小为0x8000)。根据Dialog User Manual UM-B-012的9.3章,次要引导加载程序被工厂在OTP中烧毁,并且它被放置在0x40000 - 0x41FFF(大小0x2000)中。此外,OTP报头的步长为OTP的0x47F00 - 0x47FFF地址(大小为0x100)。所以,可以写固件的区域是:

0x8000 - 0x2000 - 0x100 = 0x5700 = 24320字节

从你的截图中我可以看到,你的固件是25308字节> 24320字节,所以它比你可以写它的可用区域要大。您的固件将放置在辅助引导加载程序之后,所以如果大于24320字节,它将覆盖OTP头的一部分。因此,我强烈建议您尝试使二进制文件更小或等于24320字节,然后尝试使用您已经提到的过程将更新的固件加载到OTP中。要获得更多关于二级引导加载程序和高级引导加载程序的详细信息,请查看我们的支持页面上的对话用户手册UM-B-012。

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:1年1个月前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,
谢谢你的快速回复,

我没有完整地获得,我强烈建议您尝试将您的二进制文件更小或等于24320字节,
意思是怎么做?我尝试过,但仍然面临同样的问题。
我也看过UM-B-012的用户手册,我没有从文件中得到清晰的图片。

如果你能帮我理解解决我的问题,那将对我很有帮助。

默认情况下,默认情况下,在OTP内存中的“OTP内存中”字段中的“偏移”字段是什么是填充0x2000的偏移值。
我也在尝试加载。hex文件可能是hex文件更大一点,所以我面临的问题。
请你帮我改变.bin文件。我没有在SDK 5.0.4中获得任何工具来执行

感谢致敬
罗希特

PM_Dialog
离线
最后看到:1天51分钟前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我的意思是尽量减少应用程序代码,因此在构建代码时,输出的二进制/十六进制图像应该小于24320字节。这取决于您的应用程序,因此尽量删除您没有使用的代码片段并优化您的代码。没有任何可用的应用程序将十六进制转换为bin,但请注意,您可以将十六进制或bin文件加载到SmartSnippets工具箱中,并且转换将自动完成。

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:1年1个月前
加入:2017-04-20 09:17
嗨PM_dialog,

嗨PM_dialog,

感谢您的答复,
我已经删除了所有没有使用但仍然面临问题的代码片段。
如果我想刻录。bin文件,我从哪里得到它?
因为对于所有SDK项目和我的自定义项目,我只得到。hex,为什么?
我在哪里可以得到hextobin效用?

感谢致敬
罗希特

PM_Dialog
离线
最后看到:1天51分钟前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

正如我在之前的文章中提到的,SmartSnippets工具箱支持HEX和BIN文件,以烧录OTP/SPI闪存。我们不提供任何将二进制转换为十六进制的应用程序。Keil IDE生成HEX文件,但如果您想使用BIN文件,您可以搜索一个在线应用程序,它可以做到这一点。请注意,十六进制文件不会是下载固件到OTP的问题。请问您更新的固件尺寸是否小于24320个字节?

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:1年1个月前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,
谢谢你的快速回复,

是的,我们减少了代码片段,但仍然是我面临的错误。
“所选文件加偏移量的数据的大小不应超过地址0x47000”
我在第一个帖子上附上了哪个。

感谢致敬
罗希特

PM_Dialog
离线
最后看到:1天51分钟前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我无法复制您的问题,所以您能否在试图将更新的固件下载到OTP时,提供一个智能代码片段的截图?缩小后的图像的大小是多少?

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:1年1个月前
加入:2017-04-20 09:17
你好PM_dialog,

你好PM_dialog,

我已经分享了我的代码片段,请注意下面的链接。

https://drive.google.com/open?id=1jy3cqlrml1jxnafuf5ggoqqwtm8oz_0q.

并附上错误信息图像。请帮我解决我的问题。
它很紧急。

感谢致敬
罗希特

PM_Dialog
离线
最后看到:1天51分钟前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

正如我在我的前一篇文章中所提到的那样,在OTP中编写固件的可用区域是24320字节。我跑了并建立了项目,二进制映像是25900个字节,比可用区域长,因此您的固件将覆盖OTP标题。请尝试降低固件的大小。如果您减少二进制图像,则在您要引导高级引导程序的情况下,应将0x12345ABC vale存储到OTP的X47F10地址中。请从UM-B-012用户手册中查看表1。但首先,你应该减少二进制图像。

谢谢,PM_Dialog