Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
easyflash
关于【easyflash 】4.0.99版本使用问题请教
发布于 2019-09-16 19:52:52 浏览:2167
订阅该版
1、rtconfig.h配置如下: ```c #define PKG_USING_EASYFLASH #define PKG_EASYFLASH_ENV #define PKG_EASYFLASH_ERASE_GRAN 4096 #define PKG_EASYFLASH_WRITE_GRAN_1BIT #define PKG_EASYFLASH_WRITE_GRAN 1 #define PKG_EASYFLASH_START_ADDR 0 #define PKG_EASYFLASH_DEBUG #define PKG_USING_EASYFLASH_LATEST_VERSION #define PKG_EASYFLASH_VER_NUM 0x99999 ``` 2、分区表配置如下: ```c #define FAL_PART_TABLE \ { \ {FAL_PART_MAGIC_WROD, "easyflash", NOR_FLASH_DEV_NAME, 0, 4*128*1024, 0}, \ {FAL_PART_MAGIC_WROD, "download", NOR_FLASH_DEV_NAME, 1024*1024, 6*128*1024, 0}, \ } ``` 3、默认环境变量配置如下: ```c /* default ENV set for user */ static const ef_env default_env_set[] = { {"username", "hurryD", 0}, {"password", "123456", 0}, {"boot_count",&boot_count, sizeof(boot_count)}, {"boot_time", &boot_time, sizeof(boot_time)}, }; ``` 运行后现象如下: ``` Sector header check failed. Format this sector (0x00000000)????????? ```  跟着移植教程抄的一个测试历程,测试结果为 `“LF”` ```c int ef_test(uint8_t argc, char **argv) { char value[32]; size_t len; /* 如果环境变量长度未知,可以先获取 Flash 上存储的实际长度,将通过 len 返回 */ ef_get_env_blob("username", NULL, 0, &len); /* 如果长度已知,使用 value 缓冲区,存放读取回来的环境变量值数据,并将实际长度返回 */ len = ef_get_env_blob("username", value, sizeof(value) , NULL); rt_kprintf("ef_test username :"); rt_kprintf("%s
", value); return 0; } MSH_CMD_EXPORT(ef_test, easyflash test); ``` 
查看更多
5
个回答
默认排序
按发布时间排序
bevis
2019-09-17
这家伙很懒,什么也没写!
配置看起来没问题,图中的警告是因为第一次空片写入。第二次就不会有了 ```c /* 系统参数写入 */ void save_param(const char *key, const void *value_buf, size_t buf_len) { ef_set_env_blob(key, value_buf, buf_len); } /* 系统参数读取 */ void get_param(const char *key, void *value_buf, size_t buf_len) { ef_get_env_blob(key, value_buf, buf_len , NULL); ``` }
bevis
2019-09-17
这家伙很懒,什么也没写!
```c #define PKG_USING_EASYFLASH #define PKG_EASYFLASH_ENV #define PKG_EASYFLASH_ENV_AUTO_UPDATE #define PKG_EASYFLASH_ENV_VER_NUM 0 #define PKG_EASYFLASH_LOG #define PKG_EASYFLASH_LOG_AREA_SIZE 770048 #define PKG_EASYFLASH_IAP #define PKG_EASYFLASH_ERASE_GRAN 4096 #define PKG_EASYFLASH_WRITE_GRAN_1BIT #define PKG_EASYFLASH_WRITE_GRAN 1 #define PKG_EASYFLASH_START_ADDR 0 #define PKG_EASYFLASH_DEBUG #define PKG_USING_EASYFLASH_LATEST_VERSION #define PKG_EASYFLASH_VER_NUM 0x99999 #define PKG_USING_ULOG_EASYFLASH #define ULOG_EASYFLASH_BACKEND_ENABLE #define ULOG_EASYFLASH_CFG_SAVE_ENABLE #define PKG_USING_ULOG_EASYFLASH_LATEST_VERSION ```
armink
2019-09-17
这家伙很懒,什么也没写!
resetenv 试试 正常默认的环境变量只有第一次才会保存的 flash 上 另外,也贴一下 ef_port.c 的移植代码,确保是用的 fal 里的一个分区
hurryD
2019-09-18
这家伙很懒,什么也没写!
感谢龙哥的指点哦^_^ resetenv后就可以了;还有2个问题哈 1、按照一般使用习惯,把系统所以需要掉电存储的变量都放在default_env_set[]中,那么在ef_set_env_blob某个变量的时候是不是就会把所以变量都存到FLASH中呢?(就比如 A B 两个变量,都改变了,我只执行了ef_set_env_blob(A),B是不是也会被存储了呢?) 在每次ef_set_env_blob后就会立即执行存入FLASH吗 2、每次掉电上电的时候需要执行ef_get_env_blob将所以变量从FLASH中读取出来存储到这来的default_env_set[]中吗?
armink
2019-09-18
这家伙很懒,什么也没写!
>感谢龙哥的指点哦^_^ resetenv后就可以了;还有2个问题哈 > >1、按照一般使用习惯,把系统所以需要掉电存储 ... --- 1,对的,因为 V4.0 开始,取消了缓存,不需要再调用 saveenv 接口 2、没看懂你的问题,可能你对于 默认环境变量的用处还不是很了解,看下相关的文档介绍吧,先多用用
撰写答案
登录
注册新账号
关注者
0
被浏览
2.2k
关于作者
hurryD
这家伙很懒,什么也没写!
提问
1
回答
1
被采纳
0
关注TA
发私信
相关问题
1
easyflash 用来存储 传感器定时采样的数据适不适合?
2
easyflash存放于fat文件系统中,但是会擦除文件系统
3
EasyFlash移植失败,硬件发生错误?
4
easyflash demo擦写完数据后再上电就挂了?
5
easyflash初始化env无法自动写入默认环境变量?
6
有在STM32L4上用easyflash的么?请教个问题
7
[已解决] easyflash 使用内部 flash 无法保存参数
8
FAL 上的FlashDB、EasyFlash、EasyLogger调试经历
9
easyflash存储问题
10
easyflash可以用来存储300个小文件且能够按照日期分类检索吗?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
ART-Pi2移植CMSIS-DAP(基于CherryUSB协议栈)
2
RT-thred的stm32h723对应bsp包CubeMX添加其他外设报错
3
RT-Thread中的time溢出问题,时间戳溢出,解决方法
4
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
5
SystemView线程名字不显示
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
9
个答案
2
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
lizimu
1
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部