我正在阅读UM-B-012文档,该文件地址为辅助引导加载程序的创建。
我的问题是关于两件事:
1. UART_SUPPORTED定义和
2. DMA长度。
我的系统有一个外部SPI闪光灯,在那里可以保存我的实际应用。我用SmartSnippet的'SPI Flash Programmer'工具用我的应用程序编程外部从属SPI闪光灯,非常容易。我能够读回闪光灯并查看(0x70,0x50 .....(应用程序代码))。我希望当它启动时,我的sysram将加载此程序。
我正在阅读UM-B-012,了解如何为OTP创建辅助引导加载程序。
大多数很清楚,我想了解什么是:
我已经启用了spi_flash_supported.和support_an_b_001.定义,但在我的系统中,我也应该启用uart_supported.在bootloader.h中定义。我倾向于不是启用它。但是,如果我这样做,我对我的应用程序更改时如何重新编程SPI闪存,并不支持。
1.因此,通过在禁用UART_SUPPORTED标志中在OTP中拥有自定义引导程序,我仍然能够在将来需要使用SmartSnippets工具重新编程外部SPI Flash?
接下来,DMA长度。
2.在文件的第21页,它表示您必须修复DMA长度。我不知道这个值应该是什么。
任何人都可以在这两个问题上解释更多吗?
谢谢你。
关键词:
设备:
嗨Vikramtheone,
1.将辅助引导加载程序刻录到OTP将通过绕过DA的端口扫描并直接转到SPI闪存,增强您的系统以增强您的系统。如果定义SPI和UART,则会失去该权力化,因为UART将首先扫描(因此您将能够从UART启动并使用SMART绑带刻录SPI),因为SB首先检查UART接口,然后检查spi。
2. DMA字段的值应为1FC0,这意味着32512个字节是OTP区域的总大小。在DA从深度睡眠中唤醒后,OTP中的自定义代码区域将全部复制到系统RAM。
谢谢mt_dialog.
刻录二次引导加载程序后,您希望能够在闪光启动器后使用SmartSnippet重新编程代码的目的是什么?辅助引导加载程序仅用于用于生产。如果您在OTP标头中禁用它,您仍然可以使用JTAG附加到您的设备。更新固件的另一种方法是使用Suota。如果您真的希望能够启动UART,您应该启用UART_SUPOSTED。
DMA字段包含OTP的有多少单词将被复制到SYSRAM。1FC0表示整个应用区域。为了优化将OTP复制到Sysram所需的时间,应将其设置为存储在OTP中的固件的大小,在这种情况下,辅助引导程序(字节数除以四个圆形的字节数)。复制的时间非常快,因此如果您不打扰设置正确的大小,您可以始终设置1FC0。