嗨对话框,
I am using Scheme 1 for upgrading firmware on DA14583 using Suota as specified in AN-B-010 note and Training6 suota_example.I now want to encrypt the image and store the secondary bootloader in OTP. So,I just want to ask if we can use Scheme 2 for DA14583 device programming.If yes , where will I find the steps to write only Secondary Bootloader in OTP while my firmware images will stay in flash?
设备:
嗨Dhirajp15,
The 583 has allready its OTP burned but there is an option to burn the advanced bootloader, so theoretically you can use the Secondary bootloader as a SUOTA bootloader and burn the rest of the 583 OTP image with that bootloader (since the 583 has different default pins for the internal flash you need to configure the S. bootloader to use them). In that case the OTP will load the 583 bootloader, and when the 583 bootloader will run on the sysram it wil check if there is an advanced bootloader in the OTP (the description of the 583 bootloader is described in document UM-B-012) and will load the multipart bootloader from the OTP. So since you have burned the Secondary bootloader this is what is going to be loaded from the 583. Now since the 583 has an embedded flash, the scheme that you have requested is not tested, or recommended, since you can have your secondary bootloader to your flash and not in OTP, so there is no documentation or a tutorial how to do this on a 583.
谢谢mt_dialog.
嗨mt_dialog,
虽然583已嵌入式闪存,但它可以通过外部设备读取,从而保护我的固件我的目标是实现新方案。我现在正在使用Suota Multipart二进制方案,其中我的提前引导加载程序和加密图像在闪存中,可以通过外部设备读取。所以我想询问我是否可以在OTP中存储加密密钥,并提前引导加载程序将从OTP读取加密密钥。?
Thanks,
Dhiraj.
Hi dhirajp,
好吧,我没有看到任何错误,虽然我们没有测试这样的计划,但你的场景似乎是合理的。
谢谢mt_dialog.
Hi MT_Dialog,
有方法来初始化,读和写吗OTP memory? I can flash the key from smartsnippets OTP programmer , but whats the way to read the key inprogram?
谢谢Dhiraj.
Hi dhirajp,
当580启动时,它会检查OTP以获得可用的BD地址,我想您可以使用不同的地址修改此功能,以便读取OTP的其他字段。您将能够在NVDS_READ_BDADDR_FROM_OTP()中找到SDK中的函数并读取相应的地址。
谢谢mt_dialog.
Hi MT_Dialog,
Thanks for the help!
我们正在使用583制作数据点服务设备,我们希望存储一些永不改变的私人信息,不应该重写,因此我们计划将其存储在OTP中,我可以在您建议时从OTP读取数据,但是要写入OTP,在OTP程序员中有三种方式,1.otp标题,2.otp nvds,3.otp图像,我有32字节的数据要写入OTP,我应该使用哪种方式?
Thanks dhiraj
嗨Dhirajp15,
OTP图像占位符只是为了将要上传到580的图像,OTP NVDS只是图像中的一个保留的位置,它用于预定义的原因,蓝牙地址等。您可以放置您希望在代码本身中或您可以使用OTP标题中的自定义字段的数据。OTP的客户特定字段从地址0x7f10到0x7f60。
谢谢mt_dialog.
嗨mt_dialog,
我在默认OTP标题中进行了自定义字段的更改,还设置了前后的地址字段,以备将来使用并烧毁它,现在我写了一个代码从OTP读取数据并在调试模式下运行它,它可以工作!但是如果我在spi闪存中闪烁图像,它就会工作。它是因为我已经烧掉了OTP标题,所以现在将仅从OTP启动它?我需要在OTP中放置前进的引导程序吗?当前我的提前引导加载程序在SPI Flash中,我正在使用具有Suota的MultiPart二进制。
pfa the otp_header.hex.hex.
My aim is to keep advance bootloader in flash so that it can be changed in future, also I want to keep some permanent private data in OTP memory.
Thanks dhiraj
嗨Dhirajp15,
我假设“从Flash无法工作”意味着您无法从Flash启动?我不认为你无法从Flash引导的事实与你烧掉OTP的事实有关。在583上,OTP已经使用583引导加载程序和应用程序标志烧毁OTP,使583能够从内部闪存启动。系统靴子时的高级引导加载程序是否正在运行?
谢谢mt_dialog.
Hi MT_Dialog,
是的,我无法从Flash引导,以及如何检测提前引导加载程序是否正在运行?此外,我在上一个注释中附加了OTP标题文件,我已经将Advance Bootloader的地址设置为0x2000,因此我可以在将来需要闪存前进的引导加载程序,但现在它不允许我在OTP中刻录引导加载程序如果我在Flash中保管引导加载程序,则设备无法启动。
Thanks,
Dhiraj.
嗨Dhirajp15,
由于您未从OTP启动高级引导加载程序,但从Flash中您不应在OTP中指定OTP中有一个高级引导程序。您应该让583引导程序从闪存运行和引导(执行扫描过程并从闪存的闪存中启动次级引导程序)。从那里它将加载辅助引导程序,然后将加载图像。请在第5.1节检查UM-B-012创建辅助引导加载程序3.0.pdf。使用您在OTP标题上有配置,583引导加载程序看到0x7F10地址有一个值,并尝试复制从OTP和违法的地址写入的内容,因为您没有刻录引导程序。
谢谢mt_dialog.
Hi MT_Dialog,
I again flashed the otp header keeping the advance bootloader address as default and it worked.
Thanks for the help.
Regards,
Dhiraj.
嗨Dhirajp15,
很高兴您可以使其工作,如果上述任何帖子有帮助,请将其标记为已接受。
谢谢mt_dialog.