首页>>互联网>>物联网->带你尝鲜LiteOS 组件EasyFlash

带你尝鲜LiteOS 组件EasyFlash

时间:2023-11-29 本站 点击:0

摘要:EasyFlash是一个开源的轻量级嵌入式闪存库。

基本介绍

EasyFlash是一个开源的轻量级嵌入式闪存库,它资源占用低,为MCU(微控制单元)提供了方便的应用接口,使得开发者实现基于Flash存储器的应用开发更加轻松快捷,在智能家居、可穿戴、工控、医疗、物联网等需要断电存储功能的产品领域都可以广泛应用。

该库目前主要提供如下功能:

Env(环境变量)快速保存产品参数;

支持写平衡模式(磨损均衡)及掉电保护。

EasyFlash不仅可以存储设置参数及运行日志,提供掉电保护功能,同时封装了添加、删除、修改和查询方法,帮助开发人员更轻松地处理产品参数。Easyflash同时可将Flash变为NoSQL(非关系型数据库)模型的小型键值(Key-Value)存储数据库。

使用说明

使能 EasyFlash Demo

以Linux系统编译环境和Cloud_STM32F429IGTx_FIRE开发板为例,拷贝Cloud_STM32F429IGTx_FIRE开发板的默认配置文件${platform}.config到在LiteOS工程的根目录下,并重命名为.config。

cptools/build/config/Cloud_STM32F429IGTx_FIRE.config.config

在LiteOS工程的根目录下执行make menuconfig命令,并勾选以下相关配置,使能。

EasyFlashDemo:Demos--->UtilityDemo--->[*]EnableEasyFlashDemo

勾选EasyFlash Demo后,自动使能其依赖的EasyFlash组件。保存并退出menuconfig后,自动执行components/download.sh脚本。

从互联网下载EasyFlash-3.3.0源代码。

从gitee的LiteOS_Components组件仓库下载对应的patch包,并把该patch打入源码中。

关于组件下载的详细流程请参考:https://gitee.com/LiteOS/LiteOS_Components#%E5%9C%A8%E7%BA%BF%E7%BB%84%E4%BB%B6%E4%B8%8B%E8%BD%BD%E6%B5%81%E7%A8%8B

注:下载组件时,Linux环境可以访问互联网,并已安装git工具。

编译运行 EasyFlash Demo

在LiteOS工程根目录下执行以下命令进行编译:

makeclean;make-j

编译结束后,在out/Cloud_STM32F429IGTx_FIRE/lib目录下生成libeasyflash.a和libef_demo.a,系统镜像文件为out/Cloud_STM32F429IGTx_FIRE/Huawei_LiteOS.bin。

烧录系统镜像文件到Cloud_STM32F429IGTx_FIRE开发板,上电复位后可以看到串口输出Demo运行结果日志如下所示。

********HelloHuaweiLiteOS********LiteOSKernelVersion:5.1.0builddate:Nov22202117:13:30**********************************OsAppInitcpu0enteringschedulerappinit!Hello,welcometoliteosdemo![SFUD]FindaWinbondW25Q256JVflashchip.Sizeis33554432bytes.[SFUD]W25Q256JVflashdeviceisinitializedsuccessfully.[Flash]EasyFlashV3.3.0isinitializedsuccessfully.[Flash]Youcangetthelatestversiononhttps://github.com/armink/EasyFlash.HuaweiLiteOS#ReadytowriteEvent.Saveenv,"TickCount"=2007ReadytowriteEvent.Saveenv,"TickCount"=4007ReadytowriteEvent.Saveenv,"TickCount"=6007ReadytowriteEvent.Saveenv,"TickCount"=8007GetEnv,TickCount=8007Swtmrdelete.Mutexdelete.Eventdestroy.Easyflashtaskdelete.

作者:Lionlace。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/IOT/1527.html