嗨PM_Dialog !
I need to develop an spezial OPT secure bootloader and don't know what the right config is. in ble_suota_loader the config is this:
#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。
所以我的问题是:什么是最好的选择?
谢谢,
托马斯
Device:
Hi Thomas,
Let me check it and I'll get back to you.
与此同时,您是否检查过以下教程?
http://lpccs-docs.dialog-seminiondiond.com/da14683_secure_boot/index.html.
谢谢,PM_DIALOG.
Hello PM_Dialog,
谢谢你的答案。我已经知道了该文件。但是,正如我所提到的那样,在非可用文档中是低级别的东西描述了任何高级脚本如何在详细信息或他们所做的内容中工作。但是,由于某些原因,我必须编程我自己的安全引导加载程序,当没有CLI_Programmer时,将稍后将被编程。我和这个都结束了。最后一个唯一部分是正确的内存和excurion配置的问题。
一般来说,我认为da14683是一个幻想的soc,我很高兴选择它。但是,在脚本的所有文件中,都有智能剪掉的工作室,非常差。Suota Works的方式被脚本预先订阅,并且显然它是如何工作的。我在调试Cli_programmer和mkimage等工具时花费日期,以更深入地了解他们所做的事。例如:Bin2Image为QSPI和OTP制作不同的图像。我“猜猜”它与Bootrom有关。但我没有任何线索和为什么。
I learned this from debugging it. But I'd prefer to have a document that explains it. So time after time I get upset reading docs that show up screenshots of scripts to execute. This is definitly not what developers need. It's nice for those who want to play around in their hobby basement but totally insufficient for professionals.
My customer is a huge company and I can't tell them: "Look this is a cool script that does anything for you, but I have no clue what exactly. But believe me, you don't have to know it. The engineers of Dialog are so smart and I totally trust them".
所以如果我为专业人士获得文件和解释,我会非常非常欣赏。
谢谢,
托马斯
Hi Thomas,
请参阅图9:启用安全功能的OTP布局in the DA14683 datasheet. According to that figure, the available space in the OTP to put the Secure secondary boot loader is58516 bytes,而不是16k。
你能告诉我们你在哪里找到了16 k的限制吗?
此外,镜像或缓存模式与保存代码的大小无关。请在下方找到更多详细信息:
-镜像模式:所有代码都在RAM中加载并完全从那里执行。在这种情况下,整个代码和数据必须适用于128K RAM(也可以配置为144K = 128K RAM + 16K缓存RAM)
-XIP Cached mode:代码通过缓存机制执行到位(XIP)。缓存机制使用16K的缓存RAM。保留代码的数据和RAM必须适合128K。闪光灯中总代码最大可达32MB,可以有足够的空间用于此类大代码。
16K的缓存并不意味着代码完全加载。它是一种缓存机制,它根据需要加载部分可执行代码。它也是只读缓存机制。在OTP的情况下,缓存或镜像模式不会对代码的大小进行任何差异,因为OTP的大小小于RAM。
在您的情况下,建议的方法是使用现有的BLE_SUOTA_Loader使用安全启动OTP配置并添加额外功能。如果您的额外功能导致二进制数大于58516字节的OTP中的可用空间,则缓存或镜像显然不会有帮助,因为代码在第一位置不适合OTP。在这种情况下,可能的解决方案可能是将安全启动拆分为更复杂的方案,其中在OTP将是初始安全引导,这将以安全的方式从闪存加载到它们更大的自定义安全引导。然后,Flash的自定义安全启动将必须以您想要的安全方式执行实际的FW加载。
谢谢,PM_DIALOG.
Hello Dialog Support,
I'm using is DA14683,Application firmware write external flash,Write the OTP of the DA14683 through the SmartSnippets Toolbox,Now I want to read BD address and chip ID in the OTP,What interfaces and functions do I need to use.
Thanks,
佩里
Hi 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.
If you have any follow up question, I would recommend creating a new forum post as this one is old.
谢谢,PM_DIALOG.