OTP中安全引导加载程序的正确配置是什么?

了解更多常见问题解答教程

6个帖子/ 0新
最后一篇
托马斯唐豪瑟
离线
最后一次露面:1个月2天前
加入:2019-10-20 10:45
OTP中安全引导加载程序的正确配置是什么?

嗨pm_dialog!

我需要开发一个Spezial Opt Secure Bootloader,不知道正确的配置是什么。在BLE_SUOTA_LOADER中,配置如下:
#define dg_configexec_mode mode_is_mirrored.
#define dg_configcode_location non_volatile_is_none.

但如果我在DA14683文档中遵循捕获“3.4.3 BootRom序列”,则配置可能也如下所示:

#define dg_configexec_mode mode_is_cached.
#define dg_configcode_location non_volatile_is_otp.

我已经阅读了文档和向后,但我没有得出任何优势或劣势的结论。我所知道的是到目前为止,mode_is_mirrored&non_volatile_is_otp的组合不起作用,因为我的安全引导加载程序大于16k。

所以我的问题是:什么是最好的选择?

谢谢,
托马斯

设备:
PM_DIALOG.
线上
最后一次露面:9分钟37秒前
员工
加入:2018-02-08 11:03
托马斯,

托马斯,

让我检查一下,我会回复你。

与此同时,您是否检查过以下教程?

http://lpccs-docs.dialog-seminiondiond.com/da14683_secure_boot/index.html.

谢谢,PM_DIALOG.

托马斯唐豪瑟
离线
最后一次露面:1个月2天前
加入:2019-10-20 10:45
你好pm_dialog,

你好pm_dialog,

谢谢你的答案。我已经知道了该文件。但是,正如我所提到的那样,在非可用文档中是低级别的东西描述了任何高级脚本如何在详细信息或他们所做的内容中工作。但是,由于某些原因,我必须编程我自己的安全引导加载程序,当没有CLI_Programmer时,将稍后将被编程。我和这个都结束了。最后一个唯一部分是正确的内存和excurion配置的问题。

一般来说,我认为da14683是一个幻想的soc,我很高兴选择它。但是,在脚本的所有文件中,都有智能剪掉的工作室,非常差。Suota Works的方式被脚本预先订阅,并且显然它是如何工作的。我在调试Cli_programmer和mkimage等工具时花费日期,以更深入地了解他们所做的事。例如:Bin2Image为QSPI和OTP制作不同的图像。我“猜猜”它与Bootrom有关。但我没有任何线索和为什么。

我从调试中学到了这一点。但我更愿意有一个解释它的文件。因此,在时间后,我会感到沮丧阅读文档,显示脚本脚本以执行。这绝对不是开发人员需要的。对于那些想要在他们的爱好地下室游戏但是专业人士完全不足的人来说,这对那些人来说很好。

我的客户是一个庞大的公司,我不能告诉他们:“雷电竞下载app看看这是一个对你有所作为的很酷的脚本,但我没有任何线索究竟是什么。但相信我,你不必知道它。工程师对话是如此聪明,我完全相信它们“。

所以如果我为专业人士获得文件和解释,我会非常非常欣赏。

谢谢,

托马斯

PM_DIALOG.
线上
最后一次露面:9分钟37秒前
员工
加入:2018-02-08 11:03
托马斯,

托马斯,

请参阅图9:启用安全功能的OTP布局在DA14683数据表中。根据该图,OTP中的可用空间放置安全的辅助引导加载程序是58516字节,而不是16k。

你能告诉我们你在哪里找到了16 k的限制吗?

此外,镜像或缓存模式与保存代码的大小无关。请在下方找到更多详细信息:

-镜像模式:所有代码都在RAM中加载并完全从那里执行。在这种情况下,整个代码和数据必须适用于128K RAM(也可以配置为144K = 128K RAM + 16K缓存RAM)

-XIP缓存模式:代码通过缓存机制执行到位(XIP)。缓存机制使用16K的缓存RAM。保留代码的数据和RAM必须适合128K。闪光灯中总代码最大可达32MB,可以有足够的空间用于此类大代码。

16K的缓存并不意味着代码完全加载。它是一种缓存机制,它根据需要加载部分可执行代码。它也是只读缓存机制。在OTP的情况下,缓存或镜像模式不会对代码的大小进行任何差异,因为OTP的大小小于RAM。

在您的情况下,建议的方法是使用现有的BLE_SUOTA_Loader使用安全启动OTP配置并添加额外功能。如果您的额外功能导致二进制数大于58516字节的OTP中的可用空间,则缓存或镜像显然不会有帮助,因为代码在第一位置不适合OTP。在这种情况下,可能的解决方案可能是将安全启动拆分为更复杂的方案,其中在OTP将是初始安全引导,这将以安全的方式从闪存加载到它们更大的自定义安全引导。然后,Flash的自定义安全启动将必须以您想要的安全方式执行实际的FW加载。

谢谢,PM_DIALOG.

Weel1.
离线
最后一次露面:5个月1小时前
加入:2020-06-20 08:35
您好对话框支持,

您好对话框支持,

我正在使用的是DA14683,应用程序固件写入外部闪光,通过SmartSnippets Toolbox写下DA14683的OTP,现在我想在OTP中读取BD地址和芯片ID,我需要使用什么界面和函数。

谢谢,
佩里

PM_DIALOG.
线上
最后一次露面:9分钟37秒前
员工
加入:2018-02-08 11:03
嗨weel1,

嗨weel1,

感谢您在线发布。要从OTP获取BD地址,请查看过去论坛的说明线程 - 链接提供如下:

https://support.dialog-seminile.com/forums/post/dialog-smartbond-bluetooth-low-energy -%e2%80%93-software/how-get-bd-address-otp-rom.

如果您有任何后续问题,我建议创建新的论坛帖子,因为这是旧的。

谢谢,PM_DIALOG.