## 功能模块介绍: 1. main.lua:主程序入口 2. otp_test.lua:演示otp核心库API的用法,详细逻辑请看otp_test.lua 文件 ## 演示功能概述: ### otp_test.lua: 1.读取指定 OTP 区域的数据 2.进入飞行模式,擦除指定的 OTP 区域的数据 3.擦除完成后向该区域写入数据 4.谨慎操作区域加锁(区域加锁后会永久变成只读无法写入) 5.退出飞行模式 ## 演示硬件环境: ![](https://docs.openluat.com/accessory/AirSPINORFLASH_1000/image/80001.jpg) ![](https://docs.openluat.com/accessory/AirSPINORFLASH_1000/image/80002.jpg) 1. 合宙 Air8000 核心板一块 2. TYPE-C USB 数据线一根 ,Air8000 核心板和数据线的硬件接线方式为: - Air8000 核心板通过 TYPE-C USB 口供电;(外部供电/USB 供电 拨动开关 拨到 USB 供电一端) - TYPE-C USB 数据线直接插到开发板的 TYPE-C USB 座子,另外一端连接电脑 USB 口; ## 演示软件环境: 1. Luatools 下载调试工具 2. 固件版本:LuatOS-SoC_V2018_Air8000_1,固件地址,如有最新固件请用最新 [https://docs.openluat.com/air8000/luatos/firmware/](https://docs.openluat.com/air8000/luatos/firmware/) 3. pc 系统 win11(win10 及以上) ## 演示核心步骤: 1. 搭建好硬件环境 2. Luatools 烧录内核固件和 demo 脚本 3. 烧录成功后,代码会自动运行,查看打印日志,如果正常运行,会打印相关信息,otp 读取结果、进入飞行模式、otp区域擦除、写入/读取数据、退出飞行模式 4. 如下 log 显示: ```bash [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 ```