RK356x-Linux下点MIPI屏幕

屏幕mipi相关的协议未展开详细说,单展开的话估计要讲好多,因为点屏的容错率很高。

如果点不亮请按照以下步骤排除原因:

1、测电压,测屏幕背光电压、vcc、vddio、pwm这些电压是否都正常;

2、检查初始化代码,格式是否有转换错误,涉及mipi协议;

3、如果以上2点正常,问厂家要bist代码测试,如果能显示,则检查屏幕上电时序,上电时序要和厂家给的一致(规格书中),不能显示,检查rk平台端是否正常将初始化数据发送出去了,可以逻辑分析仪或者示波器抓取初始化查看;

4、用HDMI检查下屏幕是否坏掉,以免一直在做无用功。

硬件环境:RK3568

软件环境:Ubuntu

虚拟机:Ubuntu 20.04

目录

一、虚拟机

1.1 虚拟机的安装

1.2 搭建环境

1.3 新建虚拟机

二、SDK源码全编译

2.1 准备SDK文件

2.2 安装编译环境

2.2.1 依赖环境(不同家的核心板可能依赖环境不同,但大差不差,根据手册安装就ok):

2.2.2 MD5校验文件完整性

2.2.3 解压

2.2.4 还原文件

2.3 编译完整镜像

三、修改设备树

3.1 pwm

3.2 dsi0

3.3 显示配置

3.4 打开mipi显示

四、编译内核

五、系统镜像烧录

5.1 全编译的镜像文件烧录

5.2 boot.img文件烧录

六、验证


一、虚拟机

1.1 虚拟机的安装

网上很多教程,很多大佬写的很详细,搜一下就可以,我这里就不重复写了。

1.2 搭建环境

我这边从新建虚拟机开始演示

1.3 新建虚拟机

文件-新建虚拟机,选择典型就ok

直接安装iso镜像文件,我安装的版本是20.04的,太低的版本我觉得编译太慢了,就不考虑了,取名字设置密码。

然后下一步

磁盘容量根据你电脑配置给吧,200、500都可以

二、SDK源码全编译

2.1 准备SDK文件

接下来需要准备以下文件,不同的板子命名不同,但大致路径就是【rk356x】->【SDK内核编译】下,第一个文件是校验文件,第二个是3568的SDK内核文件压缩包,第三个是ubuntu的rootfs的文件。

将那三个文件上传到虚拟机,将两个压缩的解压到根目录(最好别用共享文件夹,亲测不行)

2.2 安装编译环境

2.2.1 依赖环境(不同家的核心板可能依赖环境不同,但大差不差,根据手册安装就ok):

安装有报错就在网上搜索错误信息,根据教程安装,一般来说低版本的ubuntu报错的可能性小一些。

 sudo apt install git bc bison build-essential curl flex libsdl1.2-dev 
 sudo apt install g++-multilib gcc-multilib gnupg gperf libncurses5-dev libncurses5
 sudo apt install imagemagick lib32ncurses5-dev lib32readline-dev squashfs-tools 
 sudo apt install lib32z1-dev liblz4-tool xsltproc libssl-dev libwxgtk3.0-dev 
 sudo apt install libxml2 libxml2-utils schedtool lzop pngcrush rsync 
 sudo apt install yasm zip zlib1g-dev python device-tree-compiler 
 sudo apt install python-pip gawk openjdk-8-jdk u-boot-tools patchelf expect
 sudo pip install pyelftools

2.2.2 MD5校验文件完整性

md5sum -c *.md5

2.2.3 解压

tar -zxvf rk356x-linux-*.tar.gz

ls -al

2.2.4 还原文件

解压后只有一个.git文件,需要还原

git reset --hard

注意:请在Linux下操作 并且安装了git,还原之后文件如下

我之前在共享文件夹下还原,文件会少一部分,具体原因不明

2.3 编译完整镜像

三个文件的关系如下:

linux->        

        ->rk3568-linux-20240531        

            ->ubuntu        

        ->MD5

在rk3568-linux-20240531文件夹下执行以下指令:

./build.sh lunch

根据提示选择对应你板子的选项,我的是10

然后执行./build.sh

编译完成(时间稍微有点长,我编译了3个小时左右,耐心等待)

三、修改设备树

我选择的是mipi屏幕,所以需要修改设备树,修改文件路径是:linux/rk356x-linux/kernel/arch/arm64/boot/dts/rockchip下的mipi设备树文件,一般是需要修改两个文件,有的是一个文件下,基本上就是1、配置显示相关参数;2、打开mipi。以下是配置显示相关设备树修改步骤

3.1 pwm

点亮阶段一般不需要修改

3.2 dsi0

1-是mipi速率,不用写,自动计算

2-rst延时,根据屏幕手册配置

3-mipi lanes数量,需要配置

4-屏幕初始化代码(问屏幕厂家要)

3.3 显示配置

1-时钟速率:根据屏幕手册配置

2-屏幕分辨率

3-proch(屏幕厂家提供)

3.4 打开mipi显示

至此,设备树显示已经配置ok,这时可以进行下一步

四、编译内核

整个编译SDK太大,我们修改了设备树,只需要编译内核就可以了。

在此目录下

编译成功

编译成功后会在rockdev文件下,生成boot.img文件

1-编译内核生成的

2-全编译生成的

五、系统镜像烧录

我们编译完成之后开始烧录,打开瑞芯微的烧录工具(记得提前安装驱动)

5.1 全编译的镜像文件烧录

如果你的板子没有系统,执行这个步骤

5.2 boot.img文件烧录

如果修改内核,编译内核后,执行这个步骤

六、验证

烧录验证-点亮

以上是我的点屏经验,欢迎交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值