写点什么

带你尝鲜 LiteOS 组件 EasyFlash

  • 2021 年 12 月 16 日
  • 本文字数:1329 字

    阅读完需:约 4 分钟

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

 

本文分享自华为云社区《LiteOS组件尝鲜-玩转EasyFlash》,作者:Lionlace 。

基本介绍

 

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


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

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

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

 

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

使用说明

使能 EasyFlash Demo


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


cp tools/build/config/Cloud_STM32F429IGTx_FIRE.config .config
复制代码


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


EasyFlash Demo:Demos --->Utility Demo --->[*] Enable EasyFlash Demo
复制代码


 勾选 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 工程根目录下执行以下命令进行编译:


make clean ; make -j
复制代码


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

 

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


********Hello Huawei LiteOS********LiteOS Kernel Version : 5.1.0build date : Nov 22 2021 17:13:30**********************************OsAppInitcpu 0 entering schedulerapp init!Hello, welcome to liteos demo![SFUD]Find a Winbond W25Q256JV flash chip. Size is 33554432 bytes.[SFUD]W25Q256JV flash device is initialized successfully.[Flash]EasyFlash V3.3.0 is initialized successfully.[Flash]You can get the latest version on https://github.com/armink/EasyFlash .Huawei LiteOS # Ready to write Event.Save env, "TickCount"=2007Ready to write Event.Save env, "TickCount"=4007Ready to write Event.Save env, "TickCount"=6007Ready to write Event.Save env, "TickCount"=8007Get Env, TickCount=8007Swtmr delete.Mutex delete.Event destroy.Easyflash task delete.
复制代码


点击关注,第一时间了解华为云新鲜技术~

发布于: 4 小时前阅读数: 7
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
带你尝鲜LiteOS 组件EasyFlash