全志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四个字符就可以了,至此,整个评测完结啦,谢谢大家,辛苦自己啦。