OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4618|回复: 6

图片显示+外部SDRAM+EMWIN+不使用外部存储器SD之类 怎么实现?

[复制链接]

10

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2019-6-28
在线时间
27 小时
发表于 2019-9-15 19:27:53 | 显示全部楼层 |阅读模式
60金钱
想利用ucos+EMWIN显示一张开机图片,动态内存不足,所有打算使用SDRAM,但是例程和找的资料都需要把图片放到SD卡才能GetData,如果不建立文件系统能不能实现呢 ?或者是不是要把图片做成一个bin文件然后在处理 望路过的大神给讲讲,最好给一个范例,谢谢!

最佳答案

查看完整内容[请看2#楼]

问题解决了 ,需要重新写GetData()函数, U8 _image_buf[] __attribute__((at(0XC01f4004)));//存放图片用0XC1b40000 int Image_GetData(void * p, const U8 ** ppData, unsigned NumBytes, U32 Off) { U32 src_index,dest_index; U8* pSrc = (U8*)p; for(dest_index=0,src_index=Off;dest_index
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2019-6-28
在线时间
27 小时
 楼主| 发表于 2019-9-15 19:27:54 | 显示全部楼层
问题解决了 ,需要重新写GetData()函数,
U8 _image_buf[] __attribute__((at(0XC01f4004)));//存放图片用0XC1b40000
int Image_GetData(void * p, const U8 ** ppData, unsigned NumBytes, U32 Off)
{
  U32 src_index,dest_index;
       
  U8* pSrc = (U8*)p;
  
  for(dest_index=0,src_index=Off;dest_index<NumBytes;dest_index++,src_index++)
  {
    _image_buf[dest_index]=*(pSrc+src_index);
  }
  
  *ppData = _image_buf;
  return NumBytes;
}
///。。。
IMAGE_SetJPEGEx(IMAGE_Handle hObj,Image_GetData,_acImage_0);
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-9-16 02:06:40 | 显示全部楼层
你的图片总得存储在一个位置,如果stm32内部flash则太小,放不了几张图片。如果放外部FLASH,则最好有文件系统,否则搞起来相对会麻烦写。
回复

使用道具 举报

10

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2019-6-28
在线时间
27 小时
 楼主| 发表于 2019-9-16 07:00:01 来自手机 | 显示全部楼层
正点原子 发表于 2019-9-16 02:06
你的图片总得存储在一个位置,如果stm32内部flash则太小,放不了几张图片。如果放外部FLASH,则最好有文件 ...

就一张图片,内部可以放得下,把图片直接用位图转换成c文件然后编译通过只能显示头部一部分下面的都是白屏,应该是动态内存不足处理不过来,所以想用sdram,这样怎么处理呢?原子哥
回复

使用道具 举报

10

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2019-6-28
在线时间
27 小时
 楼主| 发表于 2019-9-16 08:49:07 | 显示全部楼层
正点原子 发表于 2019-9-16 02:06
你的图片总得存储在一个位置,如果stm32内部flash则太小,放不了几张图片。如果放外部FLASH,则最好有文件 ...

原子哥 我只有一张图片 内部flash可以放下 图片转化生成的c文件 编译烧录之后 显示的图片不完整 运行内存不足 所以才要用sdram  这个有什么好办法实现吗
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-9-17 00:23:22 | 显示全部楼层
bf578021993 发表于 2019-9-16 08:49
原子哥 我只有一张图片 内部flash可以放下 图片转化生成的c文件 编译烧录之后 显示的图片不完整 运行内存 ...

如果flash可以放下,和SDRAM无关。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2024-6-5
在线时间
53 小时
发表于 2024-10-10 10:05:46 | 显示全部楼层
顶顶顶
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 04:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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