1文档中有功能:双屏同显!具体操作见文档:https://d1.docs.aw-ol.com/source/3_getimg/ 双屏同显测试固件:https://www.aw-ol.com/downloads/resources/38
继上述固件之后,因为小项有需求,同显固件无法满足。故有双屏异显第一弹:
- mipi显示GUI,HDMI播放动画。 下图是演示效果。(视频效果可以点此查看)
异显固件: tina_d1-nezha_uart0_yixian.img
操作过程
- 更改设备号
# 目录 d1-tina-open/package/allwinner/libuapi/src/videoOutPort.c
# 调转一下默认屏幕输出
# 71 行
-#define SCREEN_0 0
-#define SCREEN_1 1
#define SCREEN_0 1
#define SCREEN_1 0
- 编译并烧录固件
make -j32 && pack
- 启动设备,切换HDMI到屏幕1
cd /sys/kernel/debug/dispdbg
echo disp1 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
- 使用tplaydemo 播放视频
tplaydemo *****.mp4
- 启动LVGL控制UI
./cardcamera
对于上述修改,在系统调试节点中查看可以看到:
代码语言:javascript复制root@TinaLinux:/sys/devices/virtual/disp/disp/attr# cat sys
screen 0:
de_rate 300000000 hz, ref_fps:62
mgr0: 800x1280 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false] iommu[1]
dmabuf: cache[0] cache max[0] umap skip[0] overflow[0]
lcd output backlight(100) fps:62.5 800x1280
err:1 skip:200 irq:18449 vsync:0 vsync_skip:0
BUF enable ch[1] lyr[0] z[16] prem[N] a[pixel 255] fmt[ 0] fb[ 800,1280; 800,1280; 800,1280] crop[ 0,1280, 800,1280] frame[ 0, 0, 800,1280] addr[ff800000, 0, 0] flags[0x 0] trd[0,0]
depth[ 0] screen 1:
de_rate 300000000 hz, ref_fps:60
mgr1: 1920x1080 fmt[rgb] cs[0x101] range[limit] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false] iommu[1]
dmabuf: cache[0] cache max[0] umap skip[0] overflow[0]
hdmi output mode(10) fps:60.6 1920x1080
err:0 skip:4 irq:14742 vsync:0 vsync_skip:0
BUF enable ch[0] lyr[0] z[0] prem[N] a[globl 255] fmt[ 77] fb[ 992, 736; 496, 368; 496, 368] crop[ 0, 0, 976, 720] frame[ 0, 0,1920,1080] addr[fe800000,fe8b2400,fe8ded00] flags[0x 0] trd[0,0]
depth[ 0] root@TinaLinux:/sys/devices/virtual/disp/disp/attr#
此时系统中有两个屏幕。
但此时HDMI仅仅只创建了一个图层。 mipi则被加入到了framebuffer中。
以上就是双屏异显固件测试及使用的方法,大家能否基于此想到更多有趣的玩法,欢迎评论回帖催更。
原贴链接:https://bbs.aw-ol.com/topic/362/