文章目录

  • 1.测试流程和结果
  • 2.测试过程详解
    • 2.1 挂载测试工具
    • 1.2 设置参数
      • 1.2.1设置name
      • 1.2.2选择命令
      • 1.2.3 设置命令参数
    • 1.3 指定显示测试图片
    • 1.4开启显示
  • 3.使用bash初始化HDMI

测试开发板的HDMI输出。
参考文档:全志官方文档。

1.测试流程和结果


测试结果,只显示了约五分之二:

2.测试过程详解

2.1 挂载测试工具

输入命令:

mount -t debugfs none /sys/kernel/debug

查看显示调试节点 dispdbg:

> cd /sys/kernel/debug
> ls
asoc                extfrag             pwm
bdi                 fault_around_bytes  regmap
block               gpio                regulator
bluetooth           hid                 sleep_time
clear_warn_once     ieee80211           sunxi_leds
clk                 ion                 suspend_stats
device_component    mmc0                ubi
devices_deferred    mmc1                ubifs
dispdbg             mtd                 usb
dma_buf             pinctrl             wakeup_sources
enc_test            pm_qos

进入目录 dispdbg:

> cd dispdbg/
> ls
command  dbglvl   info     name     param    start

1.2 设置参数

1.2.1设置name

name有下面几个选项:

  • disp0/1/2 – 显示通道
  • lcd0/1/2 – LCD
  • enhance0/1/2 – 色彩增强模式
  • smbl0/1/2 – 背光
    目前我还不知道这几个有什么区别,现在选择disp0:
echo disp0 > name

1.2.2选择命令

这里使用的是switch命令:

echo switch > command

官方文档开放的命令有7个:

  • switch – 切换显示通道
  • blank – 显示开关
  • suspend – 显示进入休眠
  • resume – 显示从休眠中唤醒
  • setbl – 背光调节
  • vsync – 消息开关
  • getinfo – 查看智能背光的状态

1.2.3 设置命令参数

这个命令的格式是这样的:

echo type mode > param

这里我们选择type = 4,mode = 10。
输入命令:

echo 4 10 > param

每个命令都有自己的参数,switch命令有2个参数:

  1. type ,HDMI对应 4
typedef enum
{DISP_OUTPUT_TYPE_NONE = 0,
DISP_OUTPUT_TYPE_LCD = 1,
DISP_OUTPUT_TYPE_TV = 2,
DISP_OUTPUT_TYPE_HDMI = 4,
DISP_OUTPUT_TYPE_VGA = 8,
}disp_output_type;

2.mode,这里我随便选择一个10,对应 DISP_TV_MOD_1080P_60HZ

typedef enum
{DISP_TV_MOD_480I = 0,
DISP_TV_MOD_576I = 1,
DISP_TV_MOD_480P = 2,
DISP_TV_MOD_576P = 3,
DISP_TV_MOD_720P_50HZ = 4,
DISP_TV_MOD_720P_60HZ = 5,
DISP_TV_MOD_1080I_50HZ = 6,
DISP_TV_MOD_1080I_60HZ = 7,
DISP_TV_MOD_1080P_24HZ = 8,
DISP_TV_MOD_1080P_50HZ = 9,
DISP_TV_MOD_1080P_60HZ = 0xa,
DISP_TV_MOD_1080P_24HZ_3D_FP = 0x17,
DISP_TV_MOD_720P_50HZ_3D_FP = 0x18,
DISP_TV_MOD_720P_60HZ_3D_FP = 0x19,
DISP_TV_MOD_1080P_25HZ = 0x1a,
DISP_TV_MOD_1080P_30HZ = 0x1b,
DISP_TV_MOD_PAL = 0xb,
DISP_TV_MOD_PAL_SVIDEO = 0xc,
DISP_TV_MOD_NTSC = 0xe,
DISP_TV_MOD_NTSC_SVIDEO = 0xf,
DISP_TV_MOD_PAL_M = 0x11,
DISP_TV_MOD_PAL_M_SVIDEO = 0x12,
DISP_TV_MOD_PAL_NC = 0x14,
DISP_TV_MOD_PAL_NC_SVIDEO = 0x15,
DISP_TV_MOD_3840_2160P_30HZ = 0x1c,
DISP_TV_MOD_3840_2160P_25HZ = 0x1d,
DISP_TV_MOD_3840_2160P_24HZ = 0x1e,
DISP_TV_MODE_NUM = 0x1f,
}disp_tv_mode;

1.3 指定显示测试图片

echo 1 > /sys/class/disp/disp/attr/colorbar

1.4开启显示

输入命令:

echo 1 > start

开发板反馈信息:

[ 5059.601019] disp 0, type 4, mode4
[ 5060.623495] [HDMI receive params]: tv mode: 0x4 format:0x1 data bits:0x0 eotf:0x4 cs:0x101 dvi_h                             dmi:2 range:2 scan:0 aspect_ratio:8
[ 5061.683548] disp_al_manager_apply ouput_type:0
[ 5061.689240] disp_al_hdmi_cfg
[ 5061.802820] HDMI Audio Enable Successfully
[ 5061.807427] [DISP] disp_device_attached_and_enable,line:233:
[ 5061.807432] attached ok, mgr0<-->dev0
[ 5061.818195] [DISP] disp_device_attached_and_enable,line:236:
[ 5061.818205] type:4,mode:4,fmt:yuv444,bits:8bits,eotf:4,cs:257 dvi_hdmi:2, range:2 scan:0 ratio:8

3.使用bash初始化HDMI

把上面的命令写到 hdmi.sh文件,上传到开发板,更改可执行属性,使用 sh ./hdmi.sh 执行文件,就可以开启。

#!/bin/bash
#   0.挂载debug 节点
mount -t debugfs none /sys/kernel/debug
#   1.进入目录
cd /sys/kernel/debug/dispdbg
#   2.设置 name
echo   disp0 > /sys/kernel/debug/dispdbg/name
#   3.设置命令
echo switch > /sys/kernel/debug/dispdbg/command
#   4.设置参数
echo 4 10 > /sys/kernel/debug/dispdbg/param
#   5.启动
echo 1 > start

linux笔记(6):东山哪吒D1H测试HDMI显示内置图片-命令行调试相关推荐

  1. linux笔记(7):东山哪吒D1H使用framebuffer画直线(HDMI输出)

    文章目录 1.测试流程和结果 1.1 使能HDMI 1.2 framebuffer操作流程 1.3 测试结果 2.测试过程详述 2.1 编译源码 2.2上传可执行文件 2.3修改文件的权限,执行文件 ...

  2. linux笔记(8):东山哪吒D1H移植lvgl(HDMI输出)

    文章目录 1. 下载,修改,编译源码 1.1下载源码 1.1.1新建一个`lvgl`目录,在该目录下下载源码 1.1.2 在`lvgl`目录下再建一个`myspace/lvgl_demo`目录,把参与 ...

  3. linux笔记:安装程序后,使用时显示找不到命令(command not found)

    在linux中,用各种工具下载安装程序后,使用时显示找不到命令(command not found)解决方法 其实这个问题与在windows安装程序后,在命令行下使用不了是一个原因:没有配置环境变量 ...

  4. Linux 运行vcs仿真命令,VCS使用以及命令行调试

    最近在学习VCS,现将VCS的一些使用心得记录下来. VCS是synopsys的仿真verilog的仿真器.基于linux系统.有命令行模式和图形化模式.图形化模式是用的dve. 以串口verilog ...

  5. Linux 有问必答:如何在Ubuntu或者Debian中启动后进入命令行

    Linux 有问必答:如何在Ubuntu或者Debian中启动后进入命令行 提问:我运行的是Ubuntu桌面,但是我希望启动后临时进入命令行.有什么简便的方法可以启动进入终端? Linux桌面自带了一 ...

  6. 在win10查看本机linux的文件,Windows 10变身开发者利器:内置Linux内核,轻松查看Linux子系统文件...

    原标题:Windows 10变身开发者利器:内置Linux内核,轻松查看Linux子系统文件 来源:创事记 终于!在Windows里可以访问Linux文件了. 这表明,微软插入开源界的触角,越来越深入 ...

  7. Linux | (WGET、Curl、Aria2、Axel)的最佳命令行下载加速工具【详解】

    简介: 在远程服务器或者本地工作时,您可能经常需要从外部源获取内容.要获得这样的内容,特别是当您没有其他选项时,您将需要使用Linux命令行工具来完成这项工作. 在本篇文章当中,我们将介绍一些最常用的 ...

  8. go语言生成linux桌面快捷,使用Go语言在MacOS创建一个自定义的命令行工具

    使用 MacOS 做开发的朋友都知道,我们一般会使用 Homebrew 做软件包管理,经常会用到 brew install [soft] 来安装各种各样的命令行软件.今天通过一个百科查找的命令行工具( ...

  9. 【linux】Valgrind工具集详解(八):Memcheck命令行参数详解

    [linux]Valgrind工具集详解(五):命令行详解中不够全,在此专门针对Memcheck工具中的命令行参数做一次详细的解释. Memcheck命令行选项 –leak-check=<no| ...

最新文章

  1. SAP QM 高阶之Physical Sample Management
  2. 基于3G网络的汽车防盗报警系统视频监控设计[图]
  3. 相同bit1的最大的数
  4. LightOJ - 1236 (唯一分解定理)
  5. Homography
  6. 甘肃省计算机能力vf考试题库,计算机等级考试二级VF模拟试题十及答案解析
  7. python代码设计测试用例_[CP_01] Python循环结构案例:模拟银行存取款业务,设计执行测试用例...
  8. 将Tomcat加入windows系统服务
  9. C# WinForm登录窗口代码
  10. python 菜鸟-Python3 列表
  11. iOS开发SDWebImage源码解析之SDWebImageManager的注解
  12. 手机号 验证函数 C++
  13. 国外动态住宅ip怎么使用?
  14. CCF-CSP刷题网站推荐(含100分答案)
  15. php实现短信验证功能
  16. 解构荣耀销量奇迹背后的化学反应:技术+品质+产品力
  17. 【https】对称加密与非对称加密再理解
  18. a推b等价于非a或b_手机系统将有A/B分区?Android 11这些变化你关注过吗
  19. JAVA面向对象的基础知识
  20. Python——超级鹰打码平台实现selenium对b站的自动化登陆

热门文章

  1. 腾讯游戏助手运行闪退日志查看
  2. 中级软考-软件设计师(六)
  3. 我个人整理的AD/2000技巧,各位收藏吧!60多个。 转贴
  4. Ubuntu 1804 切换国内源
  5. 镜像方式如何部署项目
  6. facebook创始人简介-马克·扎克伯格
  7. 王者4K高清壁纸合集
  8. Simulink Simscape基础仿真电路
  9. 小巧 linux 网页浏览器,冷门软件!几款干净极简浏览器,小巧强大、高效出众...
  10. windows下使用vscode连接ubuntu服务器,使用xming将Ubuntu服务器端的图形界面转发到windows下