0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教大家MPSOC如何实现HDMI开机画面显示

YCqV_FPGA_EETre 来源:Ingdan FPGA微信公众号 作者:Ingdan FPGA微信公众 2021-07-22 09:23 次阅读

目前基于MPSOC的一些参考设计中并没有实现开机画面的功能 ,那在一些带显示屏的产品在设计的时候就需要这一功能,基于原来传统的方式也可以在FPGA中来实现,今天分享一个在PS侧来实现开机画面,以节省PL侧的宝贵资源。

这个设计是基于PS侧的RPU(R5_0)来实现的上电送显,首先系统上电在载完FPGA代码后同时启动A53和RPU,然后我们通过RPU初始化HDMI接口并实现开机画面的送,在显示指定时间后自动退出来将HDMI(Mixer,Framebuffer等)控制权给ARM(A53)来使用。

目前参考工程中开机画面的分辨率为640x480,图像数据也是以静态数组的形式存储在logo.c中,用户可以将自己的图片数据以RGB的形式存储在logo.c中,参考设计中也是提供一个转换方法将jpg或png的格式转换成数组文件

将BOOT.bin及原来vcu trd软件包中的image.ub 、boot.scr拷贝到SD中在ZCU106上运行测试。

使用vitis工具新建一个R5的软件工程

基于vcu trd 2020.1开发包里的xsa新建一个平台

导入hdmi的参考示例代码,注意选择版本为R5

更新配置及替换代码

在xhdmi_example.c中的我们基于vcu trd实现了对framerbuffer、mixer、hdmitx 等IP的初始化及图像数据的搬运、送显,还有开机画面时间的控制。

将R5的串口输出定向到uart1,便于调试

替换xhdmi_example.c文件

修改自定义开机画面显示时间

用户可以根据自己系统实际开机时间来通过logoShowTime变量设置开机画面停留 的时间,如果想控制得更精确一些可以再实现一个R5和A53的通讯接口。

编译生成TxOnly_R5.elf

打包BOOT.bin

修改打包配置文件bif文件如下

0038cb34-e3dd-11eb-a97a-12bb97331649.png

使用bootgen工具生成BOOT.bin

自定义开机画面

从http://ffmpeg.org下载ffmpeg工具

使用ffmpeg工具将jpg或png图片转成RGB的裸数据

$ffmpeg -ilogo.jpg -vcodecrawvideo -pix_fmtrgb24 logo.rgb

将二进制的裸数据转成数组

$./raw2varlogo.rgb 》logo.c

替换工程中的logo.c再重新编译生成TxOnly_R5.elf并重新打包生成BOOT.bin

运行系统

将BOOT.bin及原来vcu trd软件包中的image.ub 、boot.scr拷贝到SD中在ZCU106上运行测试。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • MPSoC
    +关注

    关注

    0

    文章

    194

    浏览量

    24111

原文标题:基于MPSOC实现HDMI开机画面显示

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    hdmi是什么接口连接显示

    HDMI接口支持双向传输,可以实现设备之间的互联互通,方便用户进行操作和控制。此外,HDMI接口还具有良好的兼容性,可以与各种设备和标准接口进行连接,实现多设备的互联互通。 在连接
    的头像 发表于 04-19 10:19 107次阅读

    自己给树莓派做的一个HDMIHDMI mini的转接头,结果显示颜色错乱,求大佬指点哪里的问题啊?

    自己给树莓派做的一个HDMIHDMI mini的转接头,结果显示颜色错乱,正常应该是蓝色的背景,但显示是粉红色,画面还有些抖动: 不知问
    发表于 01-25 20:10

    请问MA35D1的buildroot中uboot如何修改,以及uboot的开机画面如何显示

    。编译结束后,发现bl2与bl31,以及fip文件均不变化,pack-sdcard.json中是根据这三个文件进行组包的。没有用到uboot.bin。请问MA35D1的buildroot中uboot如何修改,以及uboot的开机画面如何
    发表于 01-15 08:02

    6674A安捷伦电源开机电流显示负数维修

    近日某院校送修安捷伦电源6674A,客户反馈开机电流显示负数,对仪器进行初步检测,确定与客户描述故障基本一致。本期将为大家分享本维修案例。
    的头像 发表于 12-12 16:28 237次阅读
    6674A安捷伦电源<b class='flag-5'>开机</b>电流<b class='flag-5'>显示</b>负数维修

    armbian、 hdmi、 zynq、 mpsoc、 rk3399的一一解释

    armbian、 hdmi、 zynq、 mpsoc、 rk3399
    的头像 发表于 10-13 18:11 1057次阅读

    LVGL怎样将当前显示画面存储为图片?

    比如现在有一张 背景图片 作为壁纸,上面有一些控件,现在想将目前显示画面保存下来,后面将这个保存的画面当做 img 控件(缩放、移动等)使用? 目前暂不知如何实现,请教各位大佬指点一
    发表于 09-26 06:14

    维修信号发生器83650B开机显示电源故障最新案例

    近日某院校送修惠普信号发生器83650B,客户反馈信号发生器信号发生器开机显示电源故障,对仪器进行初步检测,确定与客户描述故障一致。本期将为大家分享本维修案例。 下面就是惠普-83650B维修情况
    的头像 发表于 09-06 17:40 436次阅读
    维修信号发生器83650B<b class='flag-5'>开机</b><b class='flag-5'>显示</b>电源故障最新案例

    c++实现的多画面视频分割示例

    c++实现的多画面视频分割示例,有4路、8路、16路、64路显示显示分割界面
    发表于 08-30 17:40 3次下载

    RZ-G2L 技术贴|psplash自定义开机画面

    psplash自定义开机画面:以下方法基于瑞萨RZ/G2L系列HD-G2L-IOT开发板测试.
    的头像 发表于 08-28 16:04 440次阅读
    RZ-G2L 技术贴|psplash自定义<b class='flag-5'>开机</b><b class='flag-5'>画面</b>

    请问MA35D1的buildroot中uboot如何修改,以及uboot的开机画面如何显示

    。编译结束后,发现bl2与bl31,以及fip文件均不变化,pack-sdcard.json中是根据这三个文件进行组包的。没有用到uboot.bin。请问MA35D1的buildroot中uboot如何修改,以及uboot的开机画面如何
    发表于 08-18 06:11

    视频监控画面怎么上拼接屏显示

    视频监控系统在安保和监控领域中起着至关重要的作用,而将监控画面显示在拼接屏上,则可以提供更大尺寸、更清晰的图像,增强监控效果。
    的头像 发表于 08-14 20:48 2216次阅读
    视频监控<b class='flag-5'>画面</b>怎么上拼接屏<b class='flag-5'>显示</b>

    基于51单片机的LCD12864显示开机仿真程序

    基于51单片机的LCD12864显示开机画面仿真设计
    发表于 05-22 15:57 0次下载

    工业现场为什么选工业级HDMI光纤线?大家别再用民用产品凑合!

    CNLINKO凌科电气连接器知识分享随着高清显示技术的普及,HDMI光纤线在大家的日常生活里已经很常见了。它主要用来连接高清数字电视、计算机、高清显示屏等,
    的头像 发表于 05-09 15:10 277次阅读
    工业现场为什么选工业级<b class='flag-5'>HDMI</b>光纤线?<b class='flag-5'>大家</b>别再用民用产品凑合!

    基于AT89C51单片机12864LCD显示24C08保存的开机画面

    基于AT89C51单片机12864LCD显示24C08保存的开机画面Proteus仿真及程序
    发表于 05-04 15:16 1次下载

    基于AT89C51单片机12864LCD显示EPROM2764保存的开机画面

    基于AT89C51单片机12864LCD显示EPROM2764保存的开机画面Proteus仿真及程序
    发表于 05-04 15:15 2次下载