FAL

EasyFlash 4.0疑似出BUG

发布于 2019-04-07 11:23:33

平台STM32F103
我KV分区在Onchip,名字是 Param, FAL测试该分区读写正常。 FAL 和 KV初始化都在一个函数内,用组件自动初始化宏触发,第前3次运行还能读写开机启动次数,不知怎么滴在第4次次烧录后突然就报错,无法运行,各种FAL无法读写,卡死。 将MAIN的栈空间8K-10K无效。 修改KV配置也无效,但是我修改KV参数中的Write minimun gran (1bit ) 改成 32bit F1就能跑了,不过改成32bit就有警告,但是不报错,无法读写。 然后马上改回 1bit 参数,可以正常跑,3次后再次出现以下报错卡死。


444.png
11.png
22.png
333.png

查看更多

关注者
0
被浏览
830
4 个回答
bevis
bevis 2019-04-07
现在退回 3.3版本了, 顺便问一下,以下两个参数是啥意思?? 8192长度在哪设置的,KV配置里并没有配8192啊。


222.png
armink
armink 2019-04-07
    本帖最后由 armink 于 2019-4-7 16:12 编辑


怀疑 flash 写入出错,或者 flash 驱动对接有问题,写粒度不要随便乱改。可以先不使用 EasyFlash ,直接使用 fal 测试命令,测试下你的 flash 驱动,详见 fal 首页文档。
再者,如果是 F1,那么你的擦除大小配置也有问题,好好看下手册吧

3.0.3 printenv 中的 120/2048 代表,环境变量总大小 2048 用了 120,这些主要是缓存在内存上的。

240/8192 代表,在 flash 上总计已经使用了 240 ,全部的 flash 空间为 8192
bevis
bevis 2019-04-07
armink 发表于 2019-4-7 16:11
怀疑 flash 写入出错,或者 flash 驱动对接有问题,写粒度不要随便乱改。可以先不使用 EasyFlash ,直接使 ...


fal 在onchip分配了16k 给KV,用fal跑擦除,读写,性能测试该分区都OK, 擦除可2K,可4K。
加上KV4.0后,移植文件ef_fal_port.c 只是指向分区信息,其余没改。配置32bit F1 或 1bit, 擦除力度2K,4K,8K 都报错。如下图


KV_1.png
KV_2.png
armink
armink 2019-04-07
bevis 发表于 2019-4-7 18:10
fal 在onchip分配了16k 给KV,用fal跑擦除,读写,性能测试该分区都OK, 擦除可2K,可4K。
加上KV4.0后, ...


你的日志跟 GitHub 上的不一样呀,第 89 行的断言早没了

https://github.com/armink-rtt-pkgs/EasyFlash/blob/master/ports/ef_fal_port.c

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友