sfud - SPI FLASH sfud软件包#

已适配 Air780E Air780EP Air201

备注

本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!

小技巧

本库有专属demo,点此链接查看sfud的demo例子

sfud.init(spi_id, spi_cs, spi_bandrate)/sfud.init(spi_device)#

初始化sfud

参数

传入值类型

解释

int

spi_id SPI的ID/userdata spi_device

int

spi_cs SPI的片选

int

spi_bandrate SPI的频率

返回值

返回值类型

解释

bool

成功返回true,否则返回false

例子

--spi
log.info("sfud.init",sfud.init(0,20,20 * 1000 * 1000))
--spi_device
local spi_device = spi.deviceSetup(0,17,0,0,8,2000000,spi.MSB,1,0)
log.info("sfud.init",sfud.init(spi_device))

sfud.getDeviceNum()#

获取flash设备信息表中的设备总数

参数

返回值

返回值类型

解释

int

返回设备总数

例子

log.info("sfud.getDeviceNum",sfud.getDeviceNum())

sfud.getDevice(index)#

通过flash信息表中的索引获取flash设备

参数

传入值类型

解释

int

index flash信息表中的索引

返回值

返回值类型

解释

userdata

成功返回一个数据结构,否则返回nil

例子

local sfud_device = sfud.getDevice(1)

sfud.getDeviceTable()#

获取flash设备信息表

参数

返回值

返回值类型

解释

userdata

成功返回一个数据结构,否则返回nil

例子

local sfud_device = sfud.getDeviceTable()

sfud.chipErase(flash)#

擦除 Flash 全部数据

参数

传入值类型

解释

userdata

flash Flash 设备对象 sfud.get_device_table()返回的数据结构

返回值

返回值类型

解释

int

成功返回0

例子

sfud.chipErase(flash)

sfud.erase(flash,add,size)#

擦除 Flash 指定地址指定大小,按照flash block大小进行擦除

参数

传入值类型

解释

userdata

flash Flash 设备对象 sfud.get_device_table()返回的数据结构

number

add 擦除地址

number

size 擦除大小

返回值

返回值类型

解释

int

成功返回0

例子

sfud.erase(flash,add,size)

sfud.read(flash, addr, size)#

读取 Flash 数据

参数

传入值类型

解释

userdata

flash Flash 设备对象 sfud.get_device_table()返回的数据结构

int

addr 起始地址

int

size 从起始地址开始读取数据的总大小

返回值

返回值类型

解释

string

data 读取到的数据

例子

log.info("sfud.read",sfud.read(sfud_device,1024,4))

sfud.write(flash, addr,data)#

向 Flash 写数据

参数

传入值类型

解释

userdata

flash Flash 设备对象 sfud.get_device_table()返回的数据结构

int

addr 起始地址

string

data 待写入的数据

返回值

返回值类型

解释

int

成功返回0

例子

log.info("sfud.write",sfud.write(sfud_device,1024,"sfud"))

sfud.eraseWrite(flash, addr,data)#

先擦除再往 Flash 写数据

参数

传入值类型

解释

userdata

flash Flash 设备对象 sfud.get_device_table()返回的数据结构

int

addr 起始地址

string

data 待写入的数据

返回值

返回值类型

解释

int

成功返回0

例子

log.info("sfud.eraseWrite",sfud.eraseWrite(sfud_device,1024,"sfud"))

sfud.getInfo(flash)#

获取 Flash 容量和page大小

参数

传入值类型

解释

userdata

flash Flash 设备对象 sfud.get_device_table()返回的数据结构

返回值

返回值类型

解释

int

Flash 容量

int

page 页大小

例子

log.info("sfud.getInfo",sfud.getInfo(sfud_device))

sfud.mount(flash, mount_point, offset, maxsize)#

挂载sfud lfs文件系统

参数

传入值类型

解释

userdata

flash Flash 设备对象 sfud.get_device_table()返回的数据结构

string

mount_point 挂载目录名

int

起始偏移量,默认0

int

总大小, 默认是整个flash

返回值

返回值类型

解释

bool

成功返回true

例子

log.info("sfud.mount",sfud.mount(sfud_device,"/sfud"))
log.info("fsstat", fs.fsstat("/"))
log.info("fsstat", fs.fsstat("/sfud"))