亲爱的对话支持:,
我正在尝试将本地编译的双映像引导加载程序刻录到OTP中,但到目前为止,我还没有成功(sdk5.0.3)我使用的是DA提供的DA1458x\u SUOTA\u Multipart\u Binary\u生成器。
我已经使用双映像加载程序(secondary\u bootloader.bin)和我的应用程序生成了一个fw\u multi\u part\u spi.bin文件。在将双图像加载器和应用程序的两个副本刻录到外部flash中之后,我可以看到广告正在起作用,我可以按预期做SUOTA(BOOT_2ND_LOADER_IN_OTP=false,使用默认图像格式,即0x0、0x8000、0x13000是每个图像的开始)。
然后我尝试将相同的secondary\u bootloader.bin刻录到OTP中,从Dialogue智能标记复制OTP头并将其刻录到芯片上。使用smartsnippets从OTP读回说明了刻录过程的工作原理。使用BOOT\u 2ND\u LOADER\u IN\u OTP=True重新生成fw\u multi\u part\u spi.bin文件,并烧录闪存。但在那之后,芯片停止了广告。
问题:
1.我不需要更改任何内容来生成要烧录到OTP中的辅助\u bootloader.bin,因为它在外部闪存中工作。我说的对吗?
2.从对话智能标签读取的OTP头应该可以直接使用,只需稍微调整MAC地址、DMA长度?我知道有些微调值应该是不同的董事会,但它应该跨多个董事会工作,即使没有任何变化-只是为了证明OTP燃烧工程?
3.还有什么我不知道的可能是失败的原因吗?
4.我可以看到我编译的第二个\u bootloader.bin比从对话智能标记读取的要小。这仅仅是因为版本不同吗?我试图复制对话智能标记的引导加载程序,但似乎没有办法保存从对话智能标记读取的OTP图像。
顺致敬意,
尤塔卢克
嗨,尤塔卢lc,
这个过程在SUOTA文档AN-B-010中有描述,如果您错过了它,请您按照本教程尝试创建多部分,我已经用OTP中的辅助引导加载程序检查了python脚本,看起来工作正常,但是无论如何请尝试一下。
1) 不,当您在OTP中刻录辅助引导加载程序时,不需要更改它,在Flash中刻录的图像与在OTP中刻录的图像相同。
2) 微调值应该保持在580上,因为它将被烧掉,MAC地址是可以改变的,只是一个测试,通过烧掉应用程序标志将启用OTP,您的设置应该可以工作,即使您将DMA长度保留为零,它也会复制整个OTP。
3) OTP中的应用程序标志是否设置为Yes,以便580知道OTP中有数据并开始引导辅助引导加载程序?在OTP报头中,还有一个选项供用户从OTP中选择低功耗时钟(该选项也必须从SDK中配置-指示SDK根据从OTP中选择的选项选择LP时钟),因此,你还应该检查的是,如果你没有一个XTAL32和OTP配置您的fw有XTAL(如果我记得正确的智能标签配置LP时钟在XTAL)。
4) 由于整个系统都是从SPI启动的,没有问题,我不认为辅助引导加载程序的大小是一个问题,智能标记是基于一个非常旧的SDK。
谢谢你的对话
谢谢,整理好了。根据您的建议,在将应用程序标记为“YES”并保留所有其他内容不变之后,它就可以工作了。