Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)
Posted qq_46604211
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)相关的知识,希望对你有一定的参考价值。
Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)
1.编译前准备:
1.linux5.10内核
2.2018.02bulidroot
3.v3s板子
2.linux内核配置
1.修改设备树(linux-5.10/arch/arm/boot/dts/文件夹下)
1.修改sun8i-v3s.dtsi文件最后的spi0后面的位置添加以下代码:
dma: dma-controller@01c02000
compatible = "allwinner,sun8i-v3s-dma";
reg = <0x01c02000 0x1000>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_DMA>;
resets = <&ccu RST_BUS_DMA>;
#dma-cells = <1>;
;
codec_analog: codec-analog@01c23000
compatible = "allwinner,sun8i-v3s-codec-analog";
reg = <0x01c23000 0x4>;
;
codec: codec@01c22c00
#sound-dai-cells = <0>;
compatible = "allwinner,sun8i-v3s-codec";
reg = <0x01c22c00 0x400>;
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
clock-names = "apb", "codec";
resets = <&ccu RST_BUS_CODEC>;
dmas = <&dma 15>, <&dma 15>;
dma-names = "rx", "tx";
allwinner,codec-analog-controls = <&codec_analog>;
status = "disabled";
;
2.修改sun8i-v3s-licheepi-zero-dock.dts文件
在末尾添加以下内容:
&codec
allwinner,audio-routing =
"Headphone", "HP",
"Headphone", "HPCOM",
"MIC1", "Mic",
"Mic", "HBIAS";
status = "okay";
;
修改完设备树后变为:
3.配置Linux内核里的设备:
进入内核文件夹:
make ARCH=arm menuconfig
配置为以下:
进入sound card support配置如下:
再进入按倒canced linux…
4. 编译内核:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 INSTALL_MOD_PATH=out modules_install
编译设备树: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
2.配置buildroot:
1.配置mplayer,fbv,alsa的包,配置如下:
进入buildroot后:
make menuconfig
配置如下:
2.编译根文件系统
make
如果包下载失败可将下载链接搞到windows下去下载后(需和下载的为一个版本)
放入buildroot的dl文件夹下
4.编译tinyalsa(若配置alsa很熟则不用编译这个)
1.下载tinyalsa:
https://codeload.github.com/tinyalsa/tinyalsa/zip/refs/heads/master
2.编译tinyalsa
设置gcc(使用buildroot里面的交叉编译链gcc)
export CC=/home/book/lichee-pi/buildroot-2018.08.2/output/host/bin/arm-linux-gnueabihf-gcc
设置生成的文件的目录(在初目录下建议建立一个work文件夹)
export prefix=/home/book/lichee-pi/model/audio/tinyalsa-master/work
export CROSS_COMPILE=arm-linux-
make
sudo make install
最终在work文件夹里面有bin文件夹 将里面的文件建立一个aduio文件夹放起来方便使用(也可放入板子的/usr/bin文件下即可调用)
4.烧录
1.把sd卡的根文件系统格式化
2.将linux内核的zImage和sun8i-v3s-licheepi-zero-dock.dtb(设备树)放入第一个fat16目录。
3.使用sudo tar -xvf rootfs -C /第二个ext4块目录(df -h可查 一般是sdb2 最长的那个就是了)
4.把bad_apple的avi文件放入到根文件目录如root目录下
5.把之前的audio的文件夹放入root目录下
6.查看启动信息里面有无codec声卡产生
5.使用mplayer播放badapple
1.设置声卡
cd audio #储存tinyalsa的文件夹
./tinymix contents #可查看声卡的相应的设置
./tinymix set 1 63 #设置最大声音
开启麦克风等等
./tinymix set 2 1 1
./tinymix set 6 1 1
./tinymix set 7 1 1
./tinymix set 8 1 1
./tinymix set 9 1 1
./tinymix set 10 1 1
./tinymix set 11 1 1
这里可以参照配置wifi写个自动配置
2.播放apple
mplayer bad_apple_30.avi -vo fbdev -ao oss -framedrop #vo是设置屏幕 ao是设置声卡 我们使用oss模拟声卡会用alsa 可使用pcm 建议oss(tinycap(arecord)为录音 tinyplay(aplay)为播放音乐)
就可以看到播放了:
6.使用fbv打开图片
fbv love.jpg
M,N可调节方向 F可缩放 wxad图片移动方向。
以上是关于Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)的主要内容,如果未能解决你的问题,请参考以下文章
Linux编译mplayer播放badapple及编译fbv加载图片(基于V3S预告板子要开源了)