【拍一下】D1h开发板专题测试

全志d1-H开发板初体验之五、专题测试

此次拿到开发板的测试重点,也就是下面的HDMI+WiFi的投屏测试,也是本次测试和学习的大头

1、下载源码

WiFi+hdmi投屏,韦东山老师是有完整教程的,地址在这里下载源码,然后按照指导进行操作,但是在编译tprender时候不知道为什么一直报错,可能是操作有误,然后下载了另外一份魔改过的代码,一次性编译通过,也把代码贴在此处,供大家参考。全志论坛

2、make Puppnp

make Puppnp的过程比较简单,下载到虚拟机并解压出来Puppnp的源码

https://github.com/pupnp/pupnp/releases/download/release-1.14.12/libupnp-1.14.12.tar.bz2
tar -xvf libupnp-1.14.12.tar.bz2

链接自己sdk里面的交叉编译工具链

export PATH=P$PATH:/home/book/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/out/d1-h-nezha/staging_dir/toolchain/bin

执行./configure

cd libupnp-1.14.12/
./configure --host=riscv64-unknown-linux-gnu

执行并创建目录,将编译出来的库文件放入tmp

make
mkdir tmp
make install DESTDIR=/home/book/DongshanNezhaSTU-TinaV2.0-SDK/libupnp-1.14.12/tmp/

3、make tprender

make tprender的时候我出现了找不到头文件config.h的报错,几经尝试也没有解决,换成了全志网站里的帖子的源码后解决掉了,所以我个人建议使用全志帖子内的源码

首先在虚拟机进入到tprender的目录

cd tprender

使用vim打开 CMakeLists.txt

vim CMakeLists.txt

修改下面内容的路径为自己SDK的路径

cmake_minimum_required(VERSION 2.8)

project(tprender C)

SET(CROSS_COMPILE 1)
set(CMAKE_SYSTEM_NAME Linux)
#编译器路径
set(CMAKE_C_COMPILER "/home/book/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/riscv64-unknown-linux-gnu-gcc")
#链接库路径
link_directories(
                ./libs
                /home/book/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/out/d1-h-nezha/staging_dir/target/usr/lib
)

aux_source_directory(src SOURCE)

include_directories(./)
include_directories(./include)
include_directories(./glib-2.0)
#头文件路径
include_directories(/home/book/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/out/d1-h-nezha/staging_dir/target/usr/include)
include_directories(/home/book/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/out/d1-h-nezha/staging_dir/target/usr/include/allwinner/)
include_directories(/home/book/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/out/d1-h-nezha/staging_dir/target/usr/include/allwinner/include)

修改完成后执行

cmake .
#cmake执行完成后再执行
make

然后就编译出来tprender

就可以把以上编译的东西按照需要的进行打包了,建立一个文件夹

mkdir tprender_app

文件夹里面内容有以下的东西

#tprender			由tprender编译出来在tprender源码根目录下
#libixml.so	 		由pupnp编译出来在libupnp-1.14.12/tmp/usr/local/lib目录下
#libupnp.so 		由pupnp编译出来在libupnp-1.14.12/tmp/usr/local/lib目录下
#grender-64x64.png		在tprender\data
#grender-128x128.png	在tprender\data

4、开始投屏

连接WiFi

wifi_connect_ap_test test-503 xptx321..

获取WiFi的ip

第一次运行wifi_connect_ap_test 会自动获取ip4地址 但是下次开机会自动连接wifi 但不会自动获取ip4地址 所以要检查一下

udhcpc -i wlan0

在windows用adb把tprender_app发送到开发板

adb push C:\Users\yxpen\Desktop\tprender_app /root/

从开发板进入目录

cd /root/tprender_app
cp libs/* /usr/lib/
chmod +x tprender
./tprender -f "D1"

这里就开始了投屏模式,此时可以开始打开手机bilibili进行投屏操作

另外,因为我这里hdmi显示屏没有语音输出功能,所以没有设置,只用了3.5mm耳机孔去听声音,其实也是可以直接将声音输出到HDMI设备音视频一起播放的。在这里设置。

vi /etc/asound.conf

在这里加上HDMI四个字符就可以了,至此,整个评测完结啦,谢谢大家,辛苦自己啦。