一开始的是需要在xilinx板子上HDMI直通,经过在xilinx官网上的寻找,最终发现两种办法,第一种是hdmi_rx_ss ----> vpss-scaler ----> axis-broadcaster ----> Frame Buffer Write ----> Gstreamer ----> Frame Buffer Read ---->
v_mix ----> hdmi_tx_ss,最终缩减到hdmi_rx_ss ----> Frame Buffer Write ----> Gstreamer ----> Frame Buffer Read ----> hdmi_tx_ss,经过验证此条路也是可行的,验证过程也全是泪,在此先不多说,后面有时间再详细说。第二种办法就是用裸机程序直接xv_hdmirxss ----> xv_hdmitxss。因第一种还是要经过PS端DDR,遂放弃。最终采用在R5上运行裸机程序+A53上运行Linux系统的办法。
第一步给Linux系统和R5裸机程序分配内存,不能有交叉。
petalinux内存配置在petalinux-config ----> Subsystem AUTO Hardware Settings ----> Memory Settings下面,具体配置如下图
vitis里给裸机程序分配内存
第二步给Linux系统和R5裸机程序分配输入输出串口,给Linux分配串口1,在petalinux-config ----> Subsystem AUTO Hardware Settings ----> Serial Settings,具体如下图
vitis里给裸机程序分配串口0
第三步,等petalinux生成完镜像,把image ----> Linux 下的bl31.elf, pmufw.elf,u-boot-dtb.elf,zynqmp_fsbl.elf四个文件拷贝到vitis程序下备用。再用vitis创建BOOT.bin,具体如下图
第四步把vitis生成的BOOT.bin,以及petalinux下的boot.scr,Image,rootfs.cpio.gz.u-boot,system.dtb放到启动目录,断电重启,就可以看到串口0和串口一分别打印裸机程序和Linux的启动信息。
如果遇到R5程序启动不起来,可以看一下分配内存地址是否有冲突,大小是否足够。
标签:裸机,串口,----,vitis,Linux,xilinx,AMP,petalinux,CPU From: https://www.cnblogs.com/forfun9527/p/18343958