|
|
6 mesi fa | |
|---|---|---|
| .. | ||
| lf_fs.lua | 6 mesi fa | |
| main.lua | 6 mesi fa | |
| ram_spi.lua | 6 mesi fa | |
| readme.md | 6 mesi fa | |
ram_spi:通过原始spi接口对flash模块进行读写数据操作,详细逻辑请看ram_spi.lua 文件
lf_fs:通过littleFS文件系统,对flash模块以文件系统的方式进行读写数据操作,详细逻辑请看lf_fs.lua 文件
1.初始化并启用 spi,如果初始化失败,退出程序
2.spi 启用后读取并验证 flash 芯片 ID,如果验证失败,退出程序
3.验证 flash 芯片后读取寄存器状态,确认芯片就绪
4.擦除扇区,为写入数据做准备
5.擦除扇区后,写数据到扇区,并读取扇区数据与写入数据进行验证
6.关闭写使能并关闭 SPI。
1.以对象的方式配置参数,初始化启用 SPI,返回 SPI 对象
2.用 SPI 对象初始化 flash 设备,返回 flash 设备对象
3.用 lf 库挂载 flash 设备对象为文件系统
4.读取文件系统的信息,以确认内存足够用于文件操作
5.操作文件读写,并验证写入一致性,追加文件等。
合宙 Air8000 核心板一块
合宙 AirSPINORFLASH_1000 一块
TYPE-C USB 数据线一根 ,Air8000 核心板和数据线的硬件接线方式为:
Air8000 核心板通过 TYPE-C USB 口供电;(外部供电/USB 供电 拨动开关 拨到 USB 供电一端)
Air8000 核心板与 AirSPINORFLASH_1000 按以下方式接线:
| Air8000核心板 | AirSPINORFLASH_1000配件版 |
| GND(任意) | GND |
| VDD_EXT | VCC |
| GPIO12/ SPI1_CS | CS |
| SPI1_SLK | SCK |
| SPI1_MOSI | MOSI |
| SPI1_MISO | MISO |
Luatools 下载调试工具
固件版本:LuatOS-SoC_V2014_Air8000_1,固件地址,如有最新固件请用最新 https://docs.openluat.com/air8000/luatos/firmware/
pc 系统 win11(win10 及以上)
ram_spi.lua 如下 log 显示:
[2025-09-09 17:50:50.800][000000000.363] I/user.main Air8000_SPI_NOR 001.000.000
[2025-09-09 17:50:50.823][000000000.376] I/user.ram_spi SPI_ID 1 CS_PIN 12
[2025-09-09 17:50:50.839][000000000.377] SPI_HWInit 552:spi1 speed 2000000,1994805,154
[2025-09-09 17:50:50.855][000000000.377] I/user.硬件spi 初始化,波特率: 0 2000000
[2025-09-09 17:50:50.870][000000000.378] I/user.spi 芯片ID: 0x%02X 0x%02X 0x%02X 239 64 23
[2025-09-09 17:50:50.884][000000000.379] I/user.spi 寄存器状态为: 0x%02X 0
[2025-09-09 17:50:50.902][000000000.379] I/user.spi 擦除扇区 0x000000...
[2025-09-09 17:50:50.958][000000000.441] I/user.spi 擦除后数据: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 32
[2025-09-09 17:50:50.989][000000000.442] I/user.spi 写入数据: Hello, SPI Flash!
[2025-09-09 17:50:51.006][000000000.447] I/user.spi 正在验证数据...
[2025-09-09 17:50:51.031][000000000.448] I/user.spi 数据验证成功!,读取到数据为:Hello, SPI Flash!
[2025-09-09 17:50:51.044][000000000.448] I/user.关闭spi 0
lf_fs.lua 如下 log 显示:
[2025-09-09 17:52:05.601][000000000.366] I/user.main Air8000_SPI_NOR 001.000.000
[2025-09-09 17:52:05.679][000000000.379] I/user.lf_fs SPI_ID 1 CS_PIN 12
[2025-09-09 17:52:05.754][000000000.380] SPI_HWInit 552:spi1 speed 2000000,1994805,154
[2025-09-09 17:52:05.874][000000000.380] I/user.硬件spi 初始化,波特率: SPI*: 0C7F5BB0 2000000
[2025-09-09 17:52:05.936][000000000.380] I/user.SPI初始化 成功,波特率:20MHz
[2025-09-09 17:52:05.983][000000000.381] I/user.Flash初始化 开始
[2025-09-09 17:52:06.022][000000000.382] I/little_flash Welcome to use little flash V0.0.1 .
[2025-09-09 17:52:06.052][000000000.382] I/little_flash Github Repositories https://github.com/Dozingfiretruck/little_flash .
[2025-09-09 17:52:06.090][000000000.383] I/little_flash Gitee Repositories https://gitee.com/Dozingfiretruck/little_flash .
[2025-09-09 17:52:06.116][000000000.383] I/little_flash Found SFDP Header. The Revision is V1.5, NPN is 0, Access Protocol is 0xFF.
[2025-09-09 17:52:06.134][000000000.384] I/little_flash Parameter Header is OK. The Parameter ID is 0xFF00, Revision is V5.1, Length is 16,Parameter Table Pointer is 0x000080.
[2025-09-09 17:52:06.156][000000000.384] I/little_flash Found a flash chip. Size is 8388608 bytes.
[2025-09-09 17:52:06.176][000000000.435] I/user.Flash初始化 成功,设备: userdata: 0C0F9D2C
[2025-09-09 17:52:06.192][000000000.435] I/user.文件系统 开始挂载: /little_flash
[2025-09-09 17:52:06.213][000000000.507] D/little_flash lfs_mount 0
[2025-09-09 17:52:06.230][000000000.508] D/little_flash vfs mount /little_flash ret 0
[2025-09-09 17:52:06.265][000000000.508] I/user.文件系统 挂载成功: /little_flash
[2025-09-09 17:52:06.291][000000000.508] I/user.文件系统信息 开始查询: /little_flash
[2025-09-09 17:52:06.320][000000000.568] I/user. 总block数: 2048
[2025-09-09 17:52:06.339][000000000.568] I/user. 已用block数: 2
[2025-09-09 17:52:06.358][000000000.568] I/user. block大小: 4096 字节
[2025-09-09 17:52:06.374][000000000.568] I/user. 文件系统类型: lfs
[2025-09-09 17:52:06.393][000000000.568] I/user.文件操作测试 开始
[2025-09-09 17:52:06.673][000000001.078] I/user. 写入成功 /little_flash/test.txt 内容: 当前时间: Sun Jan 0 08:00:00 1900
[2025-09-09 17:52:06.688][000000001.085] I/user. 读取成功 /little_flash/test.txt 内容: 当前时间: Sun Jan 0 08:00:00 1900
[2025-09-09 17:52:06.702][000000001.136] I/user. 追加后内容: LuatOS 测试 - 追加时间: Sun Jan 0 08:00:01 1900
[2025-09-09 17:52:06.711][000000001.136] I/user.文件操作测试 完成
[2025-09-09 17:52:06.725][000000001.136] I/user.关闭spi true