1,硬件工程跟 VDMA 结合 HDMI 的显示类似,需要读取SD卡里的图像输出到HDMI显示器里显示,所以必须有HDMI显示部分的VDMA接口和功能。在 ZYNQ System Processing 配置里,需要使能 SD0 的功能,并连接 Card Detect 到相应的 MIO 上。
2,打开SDK软件,这里需要配置bmp_read_bsp支持包的属性,在 Board Support Package Settings 里选择 xilffs 项,使能项目支持 xilffs 文件系统。xilffs 库是 Xilinx 提供的 FAT 文件系统支持包,用户可以调用库里的 API 函数实现对SD/eMMC等设备的操作。xilffs 库里主要包含 FAT的文件系统(File System Files)和驱动层文件(Glue Layer Files)。
添加了一个 bmp_read 的函数,在这个函数里首先用 f_open 函数打开一个 SD 卡里的 bmp 的图片文件。然后读取这个文件的前面 54 个字节,因为 BMP图像文件的前面 54 个字节为图像头文件,里面包含了图像的像素大小信息。再一行一行的读取图像数据存到 VDMA 的 frame 显示缓冲区中。BMP 的存储是上下颠倒的,因此在 bmp_read 函数中调整了顺序,存入 frame 缓存区。
#include "display_d