硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1102|回复: 3
收起左侧

[TouchGFX] 图片从SD卡加载速度疑问

[复制链接]

26

主题

70

回帖

148

积分

初级会员

积分
148
发表于 2022-3-18 16:51:30 | 显示全部楼层 |阅读模式
MCU:  Stm32H750xbGfx:    V4.18.0
屏幕大小:  800 * 480
RGB格式:  RGB565

GFX产生的位图存放在SD卡中,文件名"images.bin" 用FatFs文件系统, 通过Bitmap::cache(BITMAP_TEST_ID)把位图加载在到Sdram中使用
测试加载一张(800 * 480 * 2)Bytes大小的图片耗时5s. 5s一张图片, 这让人无法接受!!!!!
但是在测试Sd卡SDIO读写速度, 读取32M的数据只需要不到3s, 这速度跟实际使用时候差距怎么那么巨大, 请问是我使用有误吗??

文件系统在开始时候挂载, 然后就一直没有关闭, 文件系统中调用以下函数加载数据:
static uint32_t FatFsReadFile(uint8_t *pucDat, uint32_t ulAddr, uint32_t ulLen)
{
    uint32_t  ulRetLen;
    FRESULT   xResult;
    char      cPath[64];


    // 1, Open File
    sprintf(cPath, "%simages.bin", DiskPath);
    xResult = f_open(&file, cPath, FA_OPEN_EXISTING | FA_READ);
    if (xResult !=  FR_OK)
    {
        DebugPrintf("Fail -> Open images.bin\r\n");
        return (false);
    }
    else{}

    // 2, Set File Point
    xResult = f_lseek(&file, ulAddr);
    if (xResult != FR_OK)
    {
        DebugPrintf("Fail -> File set address.bin\r\n");
        return (false);
    }
    else{}

    // 3, Read File
    xResult = f_read(&file, pucDat, ulLen, &ulRetLen);
    if (ulRetLen > 0)
    {
        DebugPrintf("Pass -> Read images.bin\r\n");
    }
    else
    {
        DebugPrintf("Fail -> Read images.bin\r\n");
    }

    // 4, Close File
    f_close(&file);

    return (true);
}

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2022-3-18 18:30:06 | 显示全部楼层
5.5秒太慢了,估计是Cache没有命中加速吧。
回复

使用道具 举报

26

主题

70

回帖

148

积分

初级会员

积分
148
 楼主| 发表于 2022-3-22 15:05:46 | 显示全部楼层
eric2013 发表于 2022-3-18 18:30
5.5秒太慢了,估计是Cache没有命中加速吧。

我把FatFs的函数返回值搞反了导致程序畸形运作, 没错应该返回0,  出错返回!0.

现调整后从SD卡加载30MB数据到SDRAM中, 耗时大概5s, SDMMC使用25MHz的时钟.

这个速度应该符合预期了. SD的操作比NAND FLASH简单多了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2022-3-23 10:42:34 | 显示全部楼层
hjhj7591418 发表于 2022-3-22 15:05
我把FatFs的函数返回值搞反了导致程序畸形运作, 没错应该返回0,  出错返回!0.

现调整后从SD卡加载30MB ...

移植了文件系统后,NAND和SD卡都一样。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 00:48 , Processed in 0.153691 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表