硬汉嵌入式论坛

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

[JPEG] 移植v7 硬件jepg例程遇见的问题

[复制链接]

9

主题

31

回帖

58

积分

初级会员

积分
58
发表于 2023-5-23 13:52:54 | 显示全部楼层 |阅读模式
哈喽,兄弟们下午好。

在移植硬件jepg的过程中遇到了一些问题。
已经成功复现了例程里的海上日出的图像。
但是当我想用fatfs文件系统里读出的jepg来替代_ac1数组时发现卡在等待硬件jepg解码成功。
调试发现文件系统读取的数据似乎没有问题(查看了读出的文件数据与用winhex软件查看的jpg数据一致),
然后把例程里数组改成了v7例程里另一张海滩的480*272图像生成的数组。
然后依然卡在等待解码成功。
继续调试发现似乎是

/* 启动JPEG解码 */
        HAL_JPEG_Decode_DMA(hjpeg ,(uint8_t *)JPEGSourceAddress ,CHUNK_SIZE_IN ,(uint8_t *)FrameBufferAddress ,CHUNK_SIZE_OUT);



#define CHUNK_SIZE_IN  ((uint32_t)(1024 * 64))   /* 输入数据大小,单位字节 */
#define CHUNK_SIZE_OUT ((uint32_t)(1024 * 64))   /* 输出数据大小,单位字节 */


uint32_t Input_frameIndex;            /* JPEG解码过程中,已经解码的数据大小 */
我把input_frameIndex值在等待中打印出来发现,卡在了65536。但是放大这个值卡在了0.
请问我应该怎么解决这个问题呢?
海滩的图片转换成数组后大小为 _ac1[145946UL + 1],确实超出了64*1024.
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 2023-5-23 13:54:30 | 显示全部楼层
生成图像数组是用的例程附带软件Bin2C
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 2023-5-23 16:17:43 | 显示全部楼层
继续调试的结果是,用了一张480*272的水珠图片可以和例程一样正常显示,然后直接把图片放进sd卡用fatfs读出来也可以正常显示。(水珠jpg大小40kb左右)
debug找问题,发现MDMAIN的输出地址已经到达了sdram的最末尾,减去源地址发现已经偏移了6M?而MDMAIN才偏移640字节。
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 2023-5-23 18:35:51 | 显示全部楼层
好像通了,用数组模式一直不行,用fatfs直接读除了渐进式都可以。改成rgb888也一点问题没有
IMG_20230523_183242.jpg
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 19:20 , Processed in 0.203003 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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