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.

[参考译文] Linux/AM3351:U-boot 中的映像显示

Guru**** 2602845 points
Other Parts Discussed in Thread: AM3351

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/647701/linux-am3351-image-display-in-u-boot

器件型号:AM3351

工具/软件:Linux

大家好、我使用的是 ti-processor-sdk-linux-am335x-evm-03.00.04 SDK、

我正在尝试在 u-boot 时添加闪屏、请建议我在需要启用此设置的位置、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、khageswararao、

    U-boot 中的图像显示在以下两个树状图中进行了说明:
    e2e.ti.com/.../606154
    e2e.ti.com/.../217383

    此致、
    Kemal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Biser 的大力支持、

    根据您的建议、我在 drivers/LCD 中添加了 LCD 驱动程序
    makefile:
    libs-y +=驱动程序/lcd/
    include/configs/AM335x_EVM.h:
    /* LCD 支持*/
    #define CONFIG_LCD_TCM
    board/ti/am335x/board.c:
    #ifndef CONFIG_SPL_Build
    LCD_Init();
    #endif

    当我进行编译时、它会发出以下警告
    抄送 board/ti/am335x/board.o
    board/ti/am335x/board.c:在函数'board_init'中:
    board/ti/am335x/board.c:750:2:警告:函数'lcd_Init'的隐式声明[-wimplice-function-declaration]
    LCD_Init();
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请切换到 最新的 Processor SDK、您将不会在其中看到此错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Kemal、现在我正在研究"ti-processor-sdk-linux-am335x-evm-03.00.00.04"、请帮助我修改它、现在很难切换到新的 SDK。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抑制它。 这只是一个信息警告。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Kemal。 现在、我有白色屏幕、其中有小的黑点、
    //////// 我在内核 DTS 文件中配置了 LCD、如下所示:////////////////////
    面板{
    兼容="ti、tilcdc、panel ";
    状态="正常";
    pinctrl-names ="default"、"off";
    pinctrl-0 =<&NXP_HDMI_bonelt_PINs>;
    pinctrl-1 =<&NXP_HDMI_bonelt_OFF_PINs>;
    面板信息{
    交流偏置 =<255>;
    AC-BIAS-INtrpt =<0>;
    DMA-burst - SZ =<16>;
    bpp =<24>;
    FDD =<0x80>;
    同步边沿 =<0>;
    同步控制 =<1>;
    栅格顺序 =<0>;
    FIFO- TH =<0>;
    };

    显示时序{
    1280x800p62{
    时钟频率=<71100000>;
    HSYNC-LEN =<40>;
    hactive =<1280>;
    前沿=<50>;
    后沿=<70>;
    HSYNC-ACTIVE =<1>;
    vsync-len =<5>;
    Vactive =<800>;
    后沿=<5>;
    垂直前沿=<18>;
    vsync-active =<1>;
    };
    };
    };

    //////// 在 u-boot 驱动程序/lcd/rasterDisplay.c///////////////
    /*
    **配置光栅以显示图像
    *
    静态空 SetUpLCD (空)


    /*启用 LCD 模块的时钟*/

    LCDModuleClkConfig();
    LCDPinMuxSetup();


    /*
    ** DMA、LIDD 和内核的时钟(包括
    **光栅有源矩阵和无源矩阵逻辑)
    **已启用。
    *
    RasterClocksEnable (SOC_LCDC_0_regs);

    /*禁用栅格*/
    RasterDisable (SOC_LCDC_0_reg);

    /*配置 pclk */
    RasterClkConfig (SOC_LCDC_0_regs、71000000、192000000);

    /*配置 LCD 控制器的 DMA */
    RasterDMAConfig (SOC_LCDC_0_regs、Raster 双精度帧缓冲区、
    光栅_burst_size_16、光栅_FIFO_THRESHOLD_8、
    光栅_BIG_ENDIAN_DISABLE);

    /*为光栅控制器配置模式(例如:TFT 或 STn、颜色或单色等)*/
    RasterModeConfig (SOC_LCDC_0_regs、Raster 显示模式 TFT_unpacked、
    光栅调色板数据、光栅颜色、光栅右对齐);


    /*配置光栅控制器时序参数的极性*/
    RasterTiming2配置(SOC_LCDC_0_regs、Raster 帧时钟低电平|
    光栅_LINE_CLOCK_LOW |
    栅格像素时钟高电平|
    光栅同步边沿上升|
    栅格同步 CTRL_ACTIVE|
    光栅_ac_bias _high ,0,255);

    /*配置水平时序参数*/
    RasterHparamConfig (SOC_LCDC_0_regs、1280、40、50、70);

    /*配置垂直定时参数*/
    RasterVparamConfig (SOC_LCDC_0_regs、800、5、18、5);

    RasterFIFODMADelayConfig (SOC_LCDC_0_regs、128);



    请指导我进行任何需要修改的操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请阅读自述文件。 注释掉 BitmapReader.h 文件中的#define compress、然后重新生成 image.h 并使用它重新编译 U-Boot。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我使用的是默认 image.h 文件、它包含以下数据

    #ifndef CONFIG_SPL_Build

    unsigned int const image1[]__attribute__(aligned (4)))={

    0x4000u、0x0000u、0x0000u、0x0000u、0x0000u、0x0000u、 0x0000u、0x0000u、0x0000u、

    0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、 0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、

    0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、 0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、

    -        -       -   

    0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、 0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、0x00FFFF、

    };

    #endif

    现在、当您加载 u-boot 时、我将看到屏幕下方的内容、但我认为它应该显示 TI 标识、请告诉我问题是什么。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    分辨率可能为800x480或480x272。 您需要生成分辨率为1280x800的图像。 请下载并安装 StarterWare 转至 tools/bmpToRaster 并生成新的 image.h 文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Kemal、
    我使用"./a.out 1280 800 ./image.bmp ./image.h 24 RGB/为新的1280x800图像生成了数据文件
    现在、image.h 大小为12 MB

    root@:/opt/sdk_03_00/tools/bmpToRaster ll image.h
    rw-r--r-- 1根根根12390567 Decec 11 21:51 image.h

    //////////////// 但 u-boot 未加载、请验证以下 log//////////////////////


    U-Boot SPL 2016.05-00230-g120a8a3-M脏(2017年12月11日- 21:52:28)
    SDRAM 测试...
    SDRAM 正常...

    BOOT_params = 4030cdcc NON_SECURE_SRAM_START = 402f0400 NON_SECURE_SRAM_END = 40310000
    omap_boot_params->boot_device=8
    gD->arch.omap_boot_device=8
    gD->arch.omap_boot_mode=2.
    gD->arch.omap_boot_device=8
    正在尝试从 boot_name_table[i].name =MMC1引导
    SPL:SPL_LOAD_IMAGE
    CONFIG_SPL_MMC_support
    gD->arch.omap_boot_device=8
    SPL:MMC 引导模式:Fs
    读取 args
    SPL_load_image_fat_os:读取图像参数时出错、错误--1
    正在读取 u-boot.img
    时基故障报头读取:目的= 0x807ff800、大小= 7c0
    正在读取 u-boot.img
    DATA_OFFSET=0、DATA_SIZE=44f74c
    临时 u-boot.bin 从 FIT 读取:dst=0x80800000、文件偏移量= 0x7c0、大小= 0x44f74c
    正在读取 u-boot.img
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Kemal、
    使用“./a.out 1280 800 ./image.bmp ./image.h 24 RGB”命令,我创建了 image.h 文件并使用进行了修改
    #ifndef CONFIG_SPL_Build
    unsigned int const image1[]__attribute__(aligned (4)))={

    现在、image.h 文件大小为12MB
    root@s:/opt/sdk_03_00/tools/bmpToRaster ll image.h
    rw-r--r-- 1根根根12390567 Decec 11 21:51 image.h

    ////// 但引导失败,并在 u-boot 中重新启动,并显示以下消息////

    U-Boot SPL 2016.05-00230-g120a8a3-M脏(2017年12月11日- 22:38:05)
    SDRAM 测试...
    SDRAM 正常...

    BOOT_params = 4030cdcc NON_SECURE_SRAM_START = 402f0400 NON_SECURE_SRAM_END = 40310000
    omap_boot_params->boot_device=8
    gD->arch.omap_boot_device=8
    gD->arch.omap_boot_mode=2.
    gD->arch.omap_boot_device=8
    正在尝试从 boot_name_table[i].name =MMC1引导
    SPL:SPL_LOAD_IMAGE
    CONFIG_SPL_MMC_support
    gD->arch.omap_boot_device=8
    SPL:MMC 引导模式:Fs
    读取 args
    SPL_load_image_fat_os:读取图像参数时出错、错误--1
    正在读取 u-boot.img
    时基故障报头读取:目的= 0x807ff800、大小= 7c0
    正在读取 u-boot.img
    data_offset=0、data_size=abc94
    临时 u-boot.bin 从 FIT 读取:dst=0x80800000、文件偏移量= 0x7c0、大小= 0xabc94
    正在读取 u-boot.img
    u-boot.bin 加载:dst=0x80800000、大小=0xabc94
    FIT 文件名:AM335x-EVM
    选择配置"AM335x-EVM"、FDT 'FDT@1"
    时基故障:选择的"AM335x-EVM"
    从 FIT 读取温度 FDT:dst=0x808abcc0、文件偏移量=0xac440、大小=703636
    正在读取 u-boot.img
    FDT 加载:dst = 0x808abc94、大小= 0xabc94
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     大家好、Kemal 使用 bmptotaster 工具、我生成了新的图像文件、分辨率为1280x800、

    但使用此文件时、u-boot 不会引导、因此我从 image.h 文件复制了30、000行

    现在显示如下、如果需要修改、请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:AM3351

    工具/软件:Linux

    大家好、我正在尝试 在 u-boot 中显示图像。

    使用 bmporaster 工具我创建了 image.h 文件、但它显示不正确

    请使用此链接了解更多详细信息。

    e2e.ti.com/.../647701

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它是通过在 rasterDisplay.c 的 SetUpLCD()函数中设置时钟来修复的

    /*配置 pclk */
    //RasterClkConfig (SOC_LCDC_0_regs、71100000、192000000);
    RasterClkConfig (SOC_LCDC_0_regs、40000000、192000000);

    感谢 Kemal 的大力支持。