您尚未登录。

楼主 # 今天 10:48:22

pineyer
会员
注册时间: 2025-01-06
已发帖子: 17
积分: 35

luban_lite 平台如何不使用文件系统直接block 的方式读、擦除、写sd卡

luban_lite 平台如何不使用文件系统直接block 的方式读、擦除、写sd卡,
基于sdmc,或者绕过sdmc都可以,只要能实现。

不想用文件系统是因为文件大了的时候读写会变慢,做数据记录的,一条数据至少一个block,通常1~4个block,整卡循环读写,索引放另外一个Fram存储器里面。

项目是其他平台移植过来的,NXP RT1021的实现接口如下:
status_t SD_EraseBlocks(sd_card_t *card, uint32_t startBlock, uint32_t blockCount)
status_t SD_ReadBlocks(sd_card_t *card, uint8_t *buffer, uint32_t startBlock, uint32_t blockCount)
status_t SD_WriteBlocks(sd_card_t *card, const uint8_t *buffer, uint32_t startBlock, uint32_t blockCount)

STH743平台如下:
HAL_StatusTypeDef HAL_SD_Erase(SD_HandleTypeDef *hsd, uint32_t BlockStartAdd, uint32_t BlockEndAdd)
HAL_StatusTypeDef HAL_SD_WriteBlocks(SD_HandleTypeDef *hsd, const uint8_t *pData, uint32_t BlockAdd,
                                     uint32_t NumberOfBlocks, uint32_t Timeout)
HAL_StatusTypeDef HAL_SD_ReadBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks,
                                    uint32_t Timeout)

想着以后主要平台往国产芯片方向走。

最近编辑记录 pineyer (今天 11:11:51)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn