完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近正在调试项目,用到sd卡,FATFS,SDRAM,LTDC,硬件JPEG解码,DMA2D模块。过程记录下来
1.底层驱动是用CubeMX生成的,对着硬件原理图配置就行,细心的话基本都没问题,我在最开始,SDRAM一个管脚配置错误,导致SDRAM读写不稳定,折腾了好久。 2.先调试的LTDC,主要是同步时钟一定要配置正确,不然显示会有问题,按照lcd说明书的timing配置,开始的时候按最大的同步时钟配置,不显示,一直改到最低时钟才配置好。 3.项目不需要UI界面,只是显示图片,所以就用了前景层1层,第2层关闭了。显存放到了SDRAM中。 4.配置SDRAM,主要是要自己写初始化时序,按照说明一步一步写就ok了(网上一大堆,不多说),底层命令都有,注意刷新频率要计算好,不然可能会不稳定。我用的是bank2,地址从0xd0000000开始,32M,buf基本都放到这了。 5.FATFS文件,配置的时候忘了把长命名打开了,导致后面一些操作命令没法用比如f_printf等,这个以后再完善吧,可以用f_write先用着。注意文件名不超出13个字节就好。 6.SD卡,这个调了好几天,折腾坏了,开始用了一张旧的4G的卡,总是初始化不过,开始是没有配置sd卡detect管脚,这个是fatfs文件要用的,后来配置好后还是不过,卡在了power on 上,最后实在没办法,上示波器,查看cmd线上的信号,发现cmd线上只有发送命令,没有返回信号,之前跟到cmd8,cmd55都返回的是time out以为是v1.x的卡,结果根本没有信号返回。最后怀疑是不是卡坏了,拔下来插电脑上一看,吐血了,识别不出来。后来买了一张32G的卡,一下就过了。其实买的时候我还挺担心H7的sdmmc模块不支持大容量的卡,就没有超过32G。 7.sd卡通了后,测试了一下,读写都没问题,开始用fatfs的命令尝试读写文件,边看fatfs文件说明,边尝试,其实stm32底层驱动的注释说明写的挺好的,建议在用的时候好好看看,很多坑都有说明。尝试了f_mount,f_open,f_read,f_write,f_lseek,f_stat,f_close,后面要用的命令都试着测了测。发现f_stat这个命令要在f_open之前用,之后用无效。f_write之后直接f_read好像也不行,不知道为啥,f_open配成fa_read|fa_write也不行,后面再研究了,先实现功能。还有一个问题忘了说,之前配置fatfs,把dma打开了,结果sd无法读写,应该是dma没有配置的事,我直接把dam关了,后面再完善。 8.开始调试硬件JPEG,把给的图片放到sd里,图片比较大,不能一次读出来,用了双缓存,边读边解码,解码后的数据放到SDRAM里。这里也是有坑的,刚开始程序跑一会就死了,跟踪发现,总是buff不够,最后SDRAM都满了还是不行。开始怀疑是不是程序问题,我开始用的是DMA的方式解码的,后来尝试中断和查询方式,结果都不行,问题出在同一个地方,开始怀疑是不是图片不对,之前跟的时候发现,header是成功的,把header信息打印出来,全是0,我晕,没有信息也不报错啊。用电脑画图软件把之前的图片重新另存为jpg图片,导进去,一次就过了,要吐血了。 9.图片解出来,用DMA2D传到现存里就可以显示了,DMA2D配置的时候要注意一下,输入要配置成YCBCR,输出要配置成RGB565,我用的是RGB565的tft屏。 10.其他的就是为了快一点,把解码后的数据都保存到sd中,下次直接读,不用解码了。本来想放到flash里的,不过flash还没调,先放到sd里。后面完善的时候,准备把sd里的图片和视频都放到flash里,包括后面的升级bin档,这样的话,sd插上后可以取下来,不影响产品运行,而且更安全。其实硬件把u***也连出来了,可以把flash做个u盘直接写到flash里,有空再调吧。还有其他项目,没时间调了。有空再说。 等有时间了,把详细的配置过程贴一下。现在只是记录一下主要过程和问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1364 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1359 浏览 1 评论
780 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
562 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1394 浏览 2 评论
1757浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
483浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
418浏览 3评论
411浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
388浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-28 16:30 , Processed in 0.818526 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号