大家好,
我设计了使用DA14583芯片自己的定制板,现在是生产线。
我正在使用smartsnippesttool,使用OTP将.hex / .bin刻录到我的设备。我遵循以下步骤将OTP图像刻录到DA14583中,
1)#undef cfg_development_debug
2)#define cfg_boot_from_otp
3)#undef cfg_initialize_nvds_struct
4)连接了我的自定义设备和Dev套件,包括跳线设置
5)来自Smart Senippest工具的选定UART / SPI选项
6)然后首先烧掉了OTP头文件
7)完成步骤6后尝试刻录OTP图像文件。
但在燃烧的图像文件期间,我收到错误。我附上了错误屏幕镜头请帮我解决这个问题。
迫切需要帮助。
感谢致敬
rohit.
设备:
嗨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标题的一部分。因此,我强烈建议您尝试将Binary更小或等于24320字节,然后尝试使用您已经提到的程序加载到OTP中的更新固件。为了获取有关辅助引导加载程序和高级引导加载程序的详细信息,请从我们的支持页面检查对话框用户手册UM-B-012。
谢谢,PM_DIALOG.
嗨pm_dialog,
感谢你的快速回复,
我没有完整地获得,我强烈建议您尝试将您的二进制文件更小或等于24320字节,
意味着怎么办?我试过但仍然面临同样的问题。
而且我还经历了UM-B-012用户手册,我没有从文档中获得清晰的图片。
如果您有助于我理解解决我的问题,这对我来说非常有帮助。
默认情况下,默认情况下,在OTP内存中的“OTP内存中”字段中的“偏移”字段是什么是填充0x2000的偏移值。
我也试图加载.hex文件可能是十六进制文件有点较大,所以我面临的问题。
请你帮我改变.bin文件。我没有在SDK 5.0.4中获得任何工具来执行
感谢致敬
rohit.
嗨rajapurerohit,
我的意思是尝试减少应用程序代码,因此在构建代码时,输出二进制/十六进制图像应小于24320字节。这取决于您的应用程序,因此尝试删除您未使用的代码片段并优化代码。没有任何可用的应用程序将十六进制转换为bin,但请注意,您能够加载到SmartSnippets Toolbox中的HEX或BIN文件,并且将自动完成转换。
谢谢,PM_DIALOG.
嗨pm_dialog,
感谢您的答复,
我删除了未使用但仍面临的所有代码片段。
如果我想刻录.bin文件,那么我在哪里得到它?
因为对于所有SDK项目和我的自定义项目,我只有.hex为什么?
我在哪里可以获得hextobin实用程序?
感谢致敬
rohit.
嗨rajapurerohit,
当我在上一篇文章中提到时,SmartSnippets Toolbox支持十六进制和BIN文件,以刻录OTP / SPI闪存。我们不提供任何应用程序将二进制文件转换为十六进制。keil IDE生成十六进制文件,但如果要使用BIN文件,可以搜索它可以执行此操作的在线应用程序。请注意,十六进制文件无法将固件下载到OTP中的问题。如果您更新的固件的大小少于24320字节?
谢谢,PM_DIALOG.
嗨pm_dialog,
谢谢你的快速回复,
是的,我们减少了代码片段,但仍然是我面临的错误。
“所选文件加偏移量的数据的大小不应超过地址0x47000”
我在第一个帖子上附上了哪个。
感谢致敬
rohit.
嗨rajapurerohit,
我无法复制您的问题,因此您可以在尝试将更新的固件下载到OTP中时提供智能片段的屏幕截图吗?哪个是缩小图像的大小?
谢谢,PM_DIALOG.
你好pm_dialog,
我已经分享了我的代码片段,请注意以下链接。
https://drive.google.com/open?id=1jy3cqlrml1jxnafuf5ggoqqwtm8oz_0q.
还有附加错误消息图像。请帮我解决我的问题。
这非常紧急。
感谢致敬
rohit.
嗨rajapurerohit,
正如我在我的前一篇文章中所提到的那样,在OTP中编写固件的可用区域是24320字节。我跑了并建立了项目,二进制映像是25900个字节,比可用区域长,因此您的固件将覆盖OTP标题。请尝试降低固件的大小。如果您减少二进制图像,则在您要引导高级引导程序的情况下,应将0x12345ABC vale存储到OTP的X47F10地址中。请从UM-B-012用户手册中查看表1。但首先,你应该减少二进制图像。
谢谢,PM_DIALOG.