DA14583 OTP偏移误差

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
10个员额/0个新员额
最后一篇文章
拉贾普雷罗希特
离线
最后一次见到:1年1个月前
加入:2017-04-20 09:17
DA14583 OTP偏移误差

大家好,
我已经用DA14583芯片设计了自己的定制板,现在是生产线。
我正在使用SmartSnippestTool使用OTP将.hex/.bin刻录到我的设备。我按照以下步骤将OTP映像刻录到DA14583中,
1) #未定义CFG_开发#u调试
2) #从OTP定义CFG_引导_
3) # undef CFG_INITIALIZE_NVDS_STRUCT
4)连接我的定制设备和开发工具包,包括跳线设置
5) 从智能Snippest工具中选择UART/SPI选项
6)然后我首先烧毁了OTP头文件
7) 完成步骤6后,尝试刻录OTP图像文件。
但在图像文件的刻录过程中,我得到了错误。我已附上错误屏幕截图,请帮助我解决问题。
我急需帮助。

感谢和问候
罗希特

附件:
设备:
PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

DA14583的OTP从0x40000开始,到0x47FFF地址(大小0x8000)结束。根据对话框用户手册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。

谢谢,下午好

拉贾普雷罗希特
离线
最后一次见到:1年1个月前
加入:2017-04-20 09:17
你好,下午对话,

你好,下午对话,
感谢您的快速回复,

我强烈建议你把二进制数缩小到24320字节,
意思是怎么做?我已经试过了,但仍然面临同样的问题。
而且我已经阅读了UM-B-012用户手册,我没有从文档中得到清晰的图片。

如果你能帮助我理解并解决我的问题,这将对我非常有帮助。

在“OTP内存中的偏移量”字段中要设置的偏移量是多少?默认值是0x2000。
此外,我正试图加载。十六进制文件可能是十六进制文件有点大,所以我面临的问题。
你能帮我把。hex转换成。bin文件吗?在SDK 5.0.4中我没有得到任何工具来执行

感谢和问候
罗希特

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

谢谢,下午好

拉贾普雷罗希特
离线
最后一次见到:1年1个月前
加入:2017-04-20 09:17
你好,下午对话,

你好,下午对话,

谢谢你的回复,
我已经删除了所有未使用但仍面临问题的代码段。
如果我想烧掉.bin文件,我从哪里得到它?
因为对于所有的SDK项目和我的自定义项目,我只得到了。十六进制为什么?
我在哪里可以得到hextobin实用程序?

感谢和问候
罗希特

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

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

谢谢,下午好

拉贾普雷罗希特
离线
最后一次见到:1年1个月前
加入:2017-04-20 09:17
你好,下午对话,

你好,下午对话,
感谢您的快速回复,

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

感谢和问候
罗希特

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

我无法复制您的问题,因此在您尝试将更新的固件下载到OTP时,能否提供Smart Snippets的屏幕截图?缩小图像的大小是多少?

谢谢,下午好

拉贾普雷罗希特
离线
最后一次见到:1年1个月前
加入:2017-04-20 09:17
你好,PM_dialog,

你好,PM_dialog,

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

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

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

感谢和问候
罗希特

附件:
PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨Rajapurerohit,

嗨Rajapurerohit,

正如我在之前的文章中提到的,在OTP中编写固件的可用区域是24320字节。我运行并构建了您的项目,二进制映像是25900字节,这比可用区域长,所以您的固件将覆盖OTP头。请尽量减小你的固件的尺寸。如果减少二进制映像,那么如果您希望为高级引导加载程序引导,则应该将0x12345ABC值存储到OTP的x47F10地址中。请参见UM-B-012用户手册中的表1。但首先,你应该缩小二值图像。

谢谢,下午好