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图片移动方向。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐