OpenEdv-开源电子网

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

Tjpgd读取ram的jpeg数据出现HardDefault错误,小白求助

[复制链接]

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2017-2-25
在线时间
57 小时
发表于 2017-4-10 21:52:10 | 显示全部楼层 |阅读模式
50金钱
本帖最后由 kriass 于 2017-4-10 21:52 编辑

因为项目需要要从内存中读取jpg图片并显示到屏幕上,所以自己就移植了一个Tjpgd的图片解码,但是移植后发现刚调用图片显示函数就会出现HardDefault错误,小白不知道怎么处理,求助大神,代码都在我下面发的链接里面,上传不了附件,只能百度云,十分抱歉顺便问一下,如果直接解码内存中的图片,大概要多久才能解码一张??
还有,如果要传输OV2640摄像头的RGB565数据,该怎么去保存每一帧的RGB565数据呢??板子是F407探索者的,因为我要做一个实时的图像传输功能,STM到STM的。
谢谢各位帮忙。
链接:http://pan.baidu.com/s/1qXSrtO4 密码:myd1

最佳答案

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

参考我们开发板例程了。407开发板自带的图片显示例程,就是用的tjpgd
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-4-10 21:52:11 | 显示全部楼层
参考我们开发板例程了。407开发板自带的图片显示例程,就是用的tjpgd
回复

使用道具 举报

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2017-2-25
在线时间
57 小时
 楼主| 发表于 2017-4-12 15:55:14 | 显示全部楼层
正点原子 发表于 2017-4-11 23:56
参考我们开发板例程了。407开发板自带的图片显示例程,就是用的tjpgd

原子哥,如果用Tjpgd直接读取内存中的jpg图片,分辨率480*480的大概要解码多久??
我现在考虑要用jpeg实现实时监控还是用rgb565,而且手头上的实验还没有修改好
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-4-12 18:40:20 | 显示全部楼层
kriass 发表于 2017-4-12 15:55
原子哥,如果用Tjpgd直接读取内存中的jpg图片,分辨率480*480的大概要解码多久??
我现在考虑要用jpeg ...

407,大概需要70ms。
103没试过
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2017-2-25
在线时间
57 小时
 楼主| 发表于 2017-4-12 19:50:43 | 显示全部楼层
本帖最后由 kriass 于 2017-4-12 19:53 编辑

原子哥,我将你们的图片显示实验的代码中的FATFS系统读取文件改为直接读内存文件,然后发现图片无法显示,修改的代码如下,还希望能麻烦您看一下,也欢迎各路大神出手相救
//图片文件信息,对应FATFS的FIL
typedef struct
{        
        u8* picPoint;           //图片数据流首地址
        u32 picSize;            //图片大小
        u32 readPosition;       //图片读取的位置,实现f_read()中的分块读取
}picINFO;


//自己修改的FATFS函数
void picRead(picINFO* picinfo,u8* buff,u32 setSize,u32* readSize)   //f_read函数修改
{
        u32 i=0;
        printf("picRead\r\n");
        if((picinfo->readPosition+setSize)>picinfo->picSize)
                *readSize=picinfo->picSize-picinfo->readPosition;
        else
                *readSize=setSize;
        if(buff==NULL)
        {
                picinfo->readPosition+=*readSize;
                return;
        }
        memset(buff,0,setSize);
        memcpy(buff,picinfo->picPoint+picinfo->readPosition,*readSize);
        picinfo->readPosition+=*readSize;
}

u8 picLseek(picINFO* picinfo,u32 setSize)                           //f_lseek函数修改
        printf("picLseek\r\n");
        if(picinfo->readPosition+setSize>picinfo->picSize)
                picinfo->readPosition=picinfo->picSize;
        else
                picinfo->readPosition+=setSize;
        return 0;
}

u8 picOpen(picINFO* picinfo,u8* dataPoint)                           //f_open函数修改
{
        printf("picOpen\r\n");
        if(dataPoint[0]==0XFF&&dataPoint[1]==0XD8)
        {
                picinfo->picPoint=dataPoint;
                picinfo->picSize=sizeof(dataPoint)/sizeof(u8);
                picinfo->readPosition=0;
                return 0;
        }
        printf("not a jpeg file\r\n");
        return 1;
}

void picClose(picINFO* picinfo)                                      //f_close函数修改
{
        printf("picClose\r\n");
        picinfo->picPoint=NULL;
        picinfo->picSize=picinfo->readPosition=0;
}
图片是用lwip实验里面的fsmake.exe做的二进制数组,定义是
static const unsigned char jpeg1[] = {
0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,…………,0xff,0xd9,}

回复

使用道具 举报

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2017-2-25
在线时间
57 小时
 楼主| 发表于 2017-4-12 20:38:29 | 显示全部楼层
kriass 发表于 2017-4-12 19:50
原子哥,我将你们的图片显示实验的代码中的FATFS系统读取文件改为直接读内存文件,然后发现图片无法显示, ...

搞定了,原来是我的picOpen函数里面的数据大小判断语句出错了。
打扰了,原子哥
回复

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-4
在线时间
23 小时
发表于 2018-8-4 10:53:38 | 显示全部楼层
搞定了,原来是我的picOpen函数里面的数据大小判断语句出错了。
打扰了,原子哥,具体在什么地方
回复

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-4
在线时间
23 小时
发表于 2018-8-4 10:57:41 | 显示全部楼层
但是移植后发现刚调用图片显示函数就会出现HardDefault错误,怎么解决的
回复

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-4
在线时间
23 小时
发表于 2018-8-4 10:59:41 | 显示全部楼层
发现刚调用图片显示函数就会出现HardDefault错误,这个怎么解决
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2018-5-22
在线时间
23 小时
发表于 2018-8-4 15:28:44 | 显示全部楼层
可以跑在stm32上吗?
回复

使用道具 举报

3

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2018-8-4
在线时间
2 小时
发表于 2018-8-4 16:43:18 | 显示全部楼层
应该可以吧
回复

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-4
在线时间
23 小时
发表于 2018-8-6 10:58:01 | 显示全部楼层
百度云分享的那个会出现硬件错误,不知道问题在哪
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2021-4-13
在线时间
6 小时
发表于 2022-1-23 18:08:55 | 显示全部楼层
求源码,可以分享分享学习一下吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-6 10:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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