3.2.9. sample_lcd 使用说明

3.2.9.1. 程序功能

sample_lcd程序完成VOT模块的初始化,实现从当前目录读取一帧NV12的图片数据送到VOTmidi-dsi输出到lcd屏幕显示

3.2.9.2. 功能使用

程序部署

sample/sample_lcd/sample_lcd720x1280.yuv文件上传到开发板后,给程序赋予可执行权限 chmod a+x sample_lcd, 然后执行程序 ./sample_lcd

chmod +x sample_lcd
# ./sample_lcd
root@x3sdbx3-samsung2G-3200:/userdata# ./sample_lcd 
libiar: hb_disp_set_timing done!
HB_VOT_SetChnAttr 0: 0
HB_VOT_EnableChn: 0
HB_VOT_EnableChn: 0
framesize:1382400

运行效果说明

程序通过把720x1280.yuv读到内存,并通过接口把数据送到VOT模块的midi-dsi接口,然后显示到lcd屏幕设备如下图

../../_images/20220520-161120.jpg

3.2.9.3. 程序开发

源码结构

.
├── 720x1280.yuv	# 回灌使用NV12格式文件
├── Makefile		# 编译makefile
├── Readme.md		# 程序说明
└── vot.c			# 主程序

编译

当前代码通过一个Makefile文件配置编译

依赖的多媒体头文件和库文件分别在BSP SDK的appsdk目录和system/rootfs_yocto/root目录下,编译时需要注意这两个依赖目录位置是否存在

安装交叉编译工具链后,执行 make 命令直接可以编译生成 sample_lcd 程序

cd sample/sample_lcd
$ make clean # 清理源码,保持干净的代码环境
$ make
... ... # 一大段编译打印
$ ls
720x1280.yuv  vot.c  vot.o  Makefile  sample_lcd
$ make install # 把产出物安装到 out 目录下