以下是LDROM可以存储的数据类型及其详细说明:
1. 主要用途:引导程序 (Bootloader)
这是LDROM最核心、最标准的用途。
功能:Bootloader是一段在单片机主程序运行前首先执行的小程序。它通常用于:
固件升级/ISP编程:通过UART、I2C等通信接口接收新的固件数据,并将其烧录到主程序区(APROM),实现产品在出厂后的远程或本地程序更新。
程序验证与跳转:检查APROM中程序的完整性(如校验和),然后跳转到APROM的复位向量地址开始执行主应用程序。
安全启动:实现一些安全认证机制,确保只有经过授权的固件才能被加载和执行。
优点:将Bootloader放在独立的LDROM中,与APROM完全隔离。即使主应用程序更新失败或损坏,Bootloader通常依然完好,可以重新尝试升级,极大地提高了系统的可靠性和可维护性。
2. 次要用途:数据存储
虽然不如作为Bootloader常见,但LDROM的ROM特性使其也可以作为只读数据存储区。
存储数据类型:
常量数据:需要永久保存且无需修改的数据,例如:
设备唯一ID或序列号:每个芯片出厂时烧录一个唯一的标识符。
校准数据:在生产线上对ADC、温度传感器等进行的校准值。
固定配置参数:产品型号、版本号、默认设置等。
查询表:如数学函数查找表、CRC表等。
访问方式:在应用程序中,可以通过指针直接读取LDROM区域的地址。新唐提供了相关的例程和函数(如在代码中定义变量到绝对地址)来安全地访问这片区域。
重要注意事项:
只读属性:LDROM在正常运行时是只读的。数据必须在编程阶段(通过ICP/ISP工具)一次性烧录进去,程序运行时无法修改。
与Data Flash的区别:N76E003还有一块专门的Data Flash区域,这片区域可以被应用程序在运行时擦写(需要遵循特定的流程)。因此,如果需要存储运行时可能改变的数据(如用户设置、事件日志等),应优先使用Data Flash,而不是LDROM。
|