Android(基于imx53开发板)修改内核支持HDMI显示
16lz
2021-01-26
Android(基于imx53开发板)修改内核支持HDMI显示
这里需求是要求自HDMI屏幕上显示1920*1080P60分辨率的效果。
具体做法如下:
1、在目录/kernel_imx/arch/arm/mach-mx5下,修改文件mx53_smd.c:
在函数static int __init mxc_init_fb(void){}中,在di1_primary的条件中,即
1 2 3 4 5 6 7 8 9 10 | if (primary_id) { printk(KERN_INFO "DI1 is primary\n" ); ...... /* DI0 -> DC channel: */ -- mxc_register_device(&mxc_fb_devices[ 0 ], &fb_data[ 0 ]); } else { printk(KERN_INFO "DI0 is primary\n" ); } |
将上面代码中的
1 | mxc_register_device(&mxc_fb_devices[ 0 ], &fb_data[ 0 ]); |
修改为
1 | mxc_register_device(&mxc_fb_devices[ 0 ], &fb_data[ 3 ]); |
2、在目录/bootable/bootloader/uboot-imx/include/configs下修改文件mx53_smd_android.h文件如下:
修改#define CONFIG_EXTRA_ENV_SETTINGS下的内容,将
1 2 3 | "bootargs=console=ttymxc0 init=/init " \ "androidboot.console=ttymxc0 video=mxcdi1fb:RGB666,XGA " \ "ldb=di1 di1_primary gpu_nommu gpu_memory=64M\0" \ |
修改为
1 | "bootargs=console=ttymxc0 init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,1920x1080P60 ldb=off di0_primary\0" \ |
3、在目录/device/fsl/imx5x目录下修改文件init.rc如下:
在
1 2 3 4 5 6 7 8 | # Define UI to TVOUT,change this setting to 1 and uncomment below write commands setprop ro.UI_TVOUT_DISPLAY 0 #write /sys/ class /graphics/fb0/blank 1 #write /sys/ class /graphics/fb1/blank 1 #write /sys/ class /graphics/fb2/blank 1 #write /sys/ class /graphics/fb0/fsl_disp_property 1 -layer-fb #write /sys/ class /graphics/fb1/mode U:720x480i- 60 \n #write /sys/ class /graphics/fb1/blank 0 |
之后添加如下语句:
1 2 3 | #VELO HDMI setprop rw.SECOND_DISPLAY_CONNECTED 1 write /proc/hdmi 1 |
重新编译内核,即可成功实现HDMI分辨率1920*1080P60的显示效果。
更多相关文章
- 安装谷歌服务框架
- FFmepg编译及CMake 集成到 Android
- getLeft,getTop,getRight,getBottm区别
- android反编译工具Apktool安装与使用
- Android模拟器中安装apk
- Android文件命名规范
- Android/JAVA快速入门笔记
- 梳理Android的IPC进程间通信(最新AndroidStudio的AIDL操作)
- Android(安卓)studio 快捷键小计