main.lua:主程序入口
otp_test.lua:演示otp核心库API的用法,详细逻辑请看otp_test.lua 文件
1.读取指定 OTP 区域的数据
2.进入飞行模式,擦除指定的 OTP 区域的数据
3.擦除完成后向该区域写入数据
4.谨慎操作区域加锁(区域加锁后会永久变成只读无法写入)
5.退出飞行模式
合宙 Air8000 核心板一块
TYPE-C USB 数据线一根 ,Air8000 核心板和数据线的硬件接线方式为:
Air8000 核心板通过 TYPE-C USB 口供电;(外部供电/USB 供电 拨动开关 拨到 USB 供电一端)
Luatools 下载调试工具
固件版本:LuatOS-SoC_V2018_Air8000_1,固件地址,如有最新固件请用最新 https://docs.openluat.com/air8000/luatos/firmware/
pc 系统 win11(win10 及以上)
搭建好硬件环境
Luatools 烧录内核固件和 demo 脚本
烧录成功后,代码会自动运行,查看打印日志,如果正常运行,会打印相关信息,otp 读取结果、进入飞行模式、otp区域擦除、写入/读取数据、退出飞行模式
如下 log 显示:
[2025-11-21 11:27:03.245][000000000.754] I/user.main Air8000_otp 001.000.000
[2025-11-21 11:27:03.251][000000000.763] I/user.========otp read start=========
[2025-11-21 11:27:03.255][000000000.763] I/user.otp 读取结果 1234 string
[2025-11-21 11:27:03.263][000000000.763] I/user.写数据前先进入飞行模式
[2025-11-21 11:27:03.531][000000001.182] I/user.现在是飞行模式 true
[2025-11-21 11:27:03.535][000000001.182] I/user.========otp erase start=========
[2025-11-21 11:27:03.540][000000001.182] I/otp otp erase zone 1 00001000
[2025-11-21 11:27:03.550][000000001.191] I/user.OTP 擦除成功
[2025-11-21 11:27:03.555][000000001.191] I/user.=========向otp区域1写入数据==========
[2025-11-21 11:27:03.564][000000001.191] I/user.OTP 写入成功 1234
[2025-11-21 11:27:03.570][000000001.191] I/user.=========读取otp区域1数据==========
[2025-11-21 11:27:03.582][000000001.192] I/user.读取4字节数据 1234 string
[2025-11-21 11:27:03.593][000000001.192] I/user.读取8字节数据 1234 string
[2025-11-21 11:27:03.716][000000001.366] I/user.退出飞行模式 false
[2025-11-21 11:27:09.319][000000006.936] D/mobile cid1, state0
[2025-11-21 11:27:09.326][000000006.936] D/mobile bearer act 0, result 0
[2025-11-21 11:27:09.334][000000006.937] D/mobile NETIF_LINK_ON -> IP_READY
[2025-11-21 11:27:09.342][000000006.956] D/mobile TIME_SYNC 0