硬汉嵌入式论坛

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

[有问必答] norflash中读取图片不能显示

[复制链接]

2

主题

3

回帖

9

积分

新手上路

积分
9
发表于 2015-12-14 15:25:57 | 显示全部楼层 |阅读模式
在STM32-V4 例程上改的,想从norflash中读取图片,norflash中存的数据也是v4板子出厂的.bin文件,
图片地址:0x64000000+0x200000 大小:0x3FC00
屏幕上什么都没显示,帮忙看一下这个程序有问题吗?
static void _ShowBMP(const char * sFilename)
{
    int XSize, YSize;
    GUI_HMEM hMem;
    char *_acBuffer;
    int i;

    hMem = GUI_ALLOC_AllocZero(1024*700);
    _acBuffer = GUI_ALLOC_h2p(hMem);
    result = f_open(&file, sFilename, FA_OPEN_EXISTING | FA_READ | FA_OPEN_ALWAYS);
    if (result != FR_OK)
    {
        return;
    }
   
    for(i = 0; i < 0x3FC00 / 512; i++)
    {
        memcpy(_acBuffer, (char *)(0x64000000+0x200000+i*512), 512);
        _acBuffer += 512;
    }
    _acBuffer = GUI_ALLOC_h2p(hMem);
    GUI_BMP_Draw(_acBuffer,  20,20);
}
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116763
QQ
发表于 2015-12-14 15:51:10 | 显示全部楼层
你这里都释放掉内存了,_acBuffer = GUI_ALLOC_h2p(hMem);
再调用显示无效。
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2015-12-14 17:04:39 | 显示全部楼层

回 eric2013 的帖子

eric2013:你这里都释放掉内存了,_acBuffer = GUI_ALLOC_h2p(hMem);
再调用显示无效。
 (2015-12-14 15:51) 
_acBuffer = GUI_ALLOC_h2p(hMem);
是重新获得所申请内存的首地址,不释放内存吧
例程里也是这么用的
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2015-12-14 17:05:14 | 显示全部楼层

回 995094985 的帖子

QQ截图20151214170201.jpg 995094985:

_acBuffer = GUI_ALLOC_h2p(hMem);
是重新获得所申请内存的首地址,不释放内存吧
例程里也是这么用的
_acBuffer = GUI_ALLOC_h2p(hMem);
是重新获得所申请内存的首地址,不释放内存吧
例程里也是这么用的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116763
QQ
发表于 2015-12-15 09:14:50 | 显示全部楼层
不好意思,是我看错了,那个bin文件不能用这个函数 GUI_BMP_Draw进行显示,这个函数是显示原始的BMP图片用的
出厂程序里面的bin是只有图片数据而没有图片文件头数据的。
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2015-12-15 10:40:52 | 显示全部楼层

回 eric2013 的帖子

eric2013:不好意思,是我看错了,那个bin文件不能用这个函数 GUI_BMP_Draw进行显示,这个函数是显示原始的BMP图片用的
出厂程序里面的bin是只有图片数据而没有图片文件头数据的。
 (2015-12-15 09:14) 
要用哪个函数显示呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116763
QQ
发表于 2015-12-15 10:45:54 | 显示全部楼层

回 995094985 的帖子

995094985:要用哪个函数显示呢? (2015-12-15 10:40) 
简单说这个图片数据不适应于emWin,这个是裸机上使用的。用的另外一个软件转换出来的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 15:54 , Processed in 0.329253 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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