This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8148 uboot显示logo问题

ti'er ,你们好

我现在在用dm8148,目前使用git上的uboot,下载了dvr rdk版本为u-boot-dvr-rdk-dm81xx-5690a6d75b1fbd6f830c876beade504997c6db55。通过colorbar命令,hdmi能输出测试图形。但是我通过logo on命令显示bmp图片,始终显示是黑色的。  我是通过SD卡启动,bmp放在SD卡里面。

命令如下:

mmc rescan 0
fatload mmc 0 0x81000000 logo.bmp
logo on 0x81000000 0xB0000000 0xBFDD0000 40 60

经过深入跟进,uboot里面读取bmp文件的函数ti810x_read_bmp_image中bmp_size = (bmp_read64(bmp_source) >> 16) & 0xFFFFFFFF;得到的bmp_size于实际大小不同,但是我不知道为什么。

  • Li Xiaobo,

    默认uboot logo支持显示640x480.请问你有尝试过这个分辨率么?

  • Chris Meng,你好

        目前测试就是用的640x480的BMP图片。

  • Chris Meng,你好

        现在测试就是使用的640x480的bmp图片进行测试的。

  • Li Xiaobo,

    网上看别人使用git上可以在DM814x上正常显示uboot logo,请问你的硬件和软件和DM8148 EVM比,有什么不一样的地方?

    https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/530025

  • Chris Meng,

        目前硬件采用了第三方的,从他们提供的硬件图看HDMI和SD接口部分和EVM板一样。

        软件上我是直接用的git上的uboot,测试了2个版本。一个版本输出HDMI和SD。最新的版本输出HDMI、DVO2、SD,其中DVO2用到了I2C外设,我将这个部分注释掉的。这两个uboot测试HDMI输出一样,colorbar正常,bmp图不能输出。

       你发的那个链接我也看过,就是觉得奇怪他怎么是ok的。   我也看到了另外一个帖子,里面的现象和我遇到的一样,如下:https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/547135/2022762?keyMatch=logo.bmp&tisearch=Search-EN#

  • Li Xiaobo,

    你发的链接的客户是DVO2输出不正常,HDMI是ok的。而且DVO2不正常的问题最后也找到了。

  • Chris Meng,

        恩,他是DVO2输出,我说一样,是指最开始他提出的问题,只输出了黑图这个现象:

      Now the dvo2 port of hdvpss is set to 720P60 and work well (tv can detecte 720p60  signal correctly).

        But there is no logo data on tv.  Just something like background data(black screen) is show on tv.

       主要是最后没看到他说怎么解决的。

  • Li Xiaobo,

    是时钟没有打开的问题。

    After removing the comment on below code in yellow, now there is correct output on DVO2.

    /**
     * Configure PLL for HDVPSS unit
     */
    static int ti810x_pll_config_hdvpss()
    {
        uint32_t rd_osc_src;
        rd_osc_src = pll_read32(PLL_VIDEO2_PINMUX);
        rd_osc_src &= 0xFFFFFFFE;
        #ifdef CONFIG_MACH_TI814XDVR
        rd_osc_src |= (1<<24); // select the vout0 clock source the same as hdmi source
        #endif
        pll_write32(PLL_VIDEO2_PINMUX,rd_osc_src);
        //ti810x_pll_configure(PLL_HDVPSS_BASE,19,800,4,0x00000801);

        return 0;
    }

  • Chris Meng,

        果然是这个问题。我按照另外一个帖子修改过代码,能出一些乱的图像,一直以为是VPDMA配置有问题。再加上最新的git上面也是注释掉的,以为正确的就是应该注释掉。

       谢谢!!!

x 出现错误。请重试或与管理员联系。