参照网上教程使用Microblaze+VDMA+Video On Screen Display+AXI4-Stream to Video Out+HDMI等IP核组成图像输出回路:
第一次尝试显示出lena图像,有色偏,之后调试了很久才重新把图像显示出来并解决色偏;
总结有如下坑:
1、关于色偏:程序中提供的图像数据以ARGB方式存储,而HDMI模块仅使用低24位,故需要做一下转换:
const unsigned char gImage_lena[1048584] = { 0X00,0X20,0X00,0X02,0X00,0X02,0X00,0X39,
0X00,0X80,0X8A,0XE1,0X00,0X7F,0X89,0XE0,0X00,0X7E,0X88,0XE0,0X00,0X7D,0X87,0XDF,
0X00,0X7E,0X89,0XE3,0X00,0X78,0X83,0XDD,0X00,0X7C,0X89,0XE5,0X00,0X7B,0X88,0XE4...};
void SOBEL_DDRWR(unsigned int addr,unsigned int cols,unsigned int lows)
{
u32 i=0;
u32 j=0;
u32 r,g,b,a;
u32 index = 0;
for(i=0;i<cols;i++)
{
for(j=0;j<lows;j++)