嵌入式技术william hill官网
直播中

李伟

7年用户 1503经验值
私信 关注
[问答]

在hc32f460上使用片上flash移植flashDB无法读到boot_count咋办?

目前在hc32f460上使用片上flash移植flashDB时发现,片上flash在写入时会把整个扇区擦除然后再写,导致flashdb在运行kvdb_basic_sample时一直都读不到boot_count,是不是要把底层flash的擦写函数封装好才行?


回帖(7)

李娜

2023-2-14 11:07:08
擦和写应该是两个不同的API
举报

李伟

2023-2-14 11:07:17
因为片上flash需要先擦后写,而且擦的时候必须是一整块扇区
举报

李伟

2023-2-14 11:07:21
在HC32F460上移植flashDB过程中发现,初始化时在同一个扇区写的操作,只保留了最后写的数据,之前写的都没有了,是否需要把底层flash写的函数进行处理一下?还是flashDB有相关的配置进行配置就可以了?
举报

李娜

2023-2-14 11:07:28
他这个kvdb_basic_sample里也没有执行擦除动作呀,你是改了什么东西吗?
flashdb在设计的时候已经充分考虑了flash的擦写特性了,如果是用法的问题麻烦你描述一下你具体修改和增加了哪些内容。
举报

李伟

2023-2-14 11:07:36
我在fal_flash_hc32f4_port.c文件里实现write函数时是先擦后写的,是不是在这个写函数里不用执行擦除操作?
举报

李娜

2023-2-14 11:07:48
对,我说的擦和写分两个API就这个意思,flash驱动里应该还有个函数只实现擦除动作的
举报

dianzi

2023-2-14 15:56:44
是的,您需要封装底层flash的擦写函数,以确保在使用flashDB时,片上flash可以正确地读取和写入数据。此外,您还需要确保片上flash的擦写函数可以正确地处理片上flash的擦写操作,以确保在使用flashDB时,片上flash可以正确地读取和写入数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分