1. Air780EHV核心板OTP功能概述
OTP(One-Time Programmable Memory)是合宙LuatOS系统中用于操作一次性可编程存储的核心模块。在Air780EHV核心板中,OTP区域通常用于存储设备唯一ID、加密密钥、生产信息等关键数据。与常规Flash存储不同,OTP具有以下典型特性:
- 一次性写入:多数OTP区域仅允许单次编程,写入后无法修改(部分型号支持有限次数的擦除重写)
- 物理不可逆:通过熔丝或反熔丝技术实现,数据写入后具有永久保存特性
- 高安全性:存储内容无法通过常规手段读取,需特定指令访问
实际项目中,我们常用OTP存储设备序列号、Wi-Fi校准参数、RF射频参数等对安全性要求高的配置数据。
2. OTP核心库API详解
2.1 基础读写操作
读取OTP数据
lua复制-- 读取指定区域的OTP数据
local data = otp.read(zone, offset, len)
参数说明:
zone:OTP区域编号(Air780EHV通常为0-7)offset:偏移量(需4字节对齐)len:读取长度(字节数)
典型应用场景:
lua复制-- 读取设备唯一ID(假设存储在zone0的0-15字节)
local device_id = otp.read(0, 0, 16)
log.info("OTP", "Device ID:", device_id:toHex())
写入OTP数据
lua复制-- 写入数据到OTP区域
local result = otp.write(zone, offset, data)
关键注意事项:
- 写入前必须确保目标区域未锁定
- 数据长度必须为4的倍数
- 部分区域写入后自动锁定
2.2 区域锁定管理
lua复制-- 锁定指定OTP区域
local success = otp.lock(zone)
锁定后特性:
- 该区域变为只读
- 锁定操作不可逆
- 典型应用:写入加密密钥后立即锁定
2.3 特殊功能API
获取OTP信息
lua复制-- 获取OTP布局信息
local info =
