RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏镜像+支持hdmi屏镜像)

2023-09-05 10:50:32

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132686096

红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

瑞芯微开发专栏

上一篇:《RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
下一篇:《RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试


前言

  编译了uboot,kernel,buildroot后,可以单独输入固件,也可以整体打包成rootfs进行一次性输入,rootfs直接更新升级这个方式目前也是常用的。


烧写器软件:RKDevTool

  烧写器软件是瑞芯微提供的RKDevTool软件工具,如下图:
  在这里插入图片描述
  是使用usb-usb线进行烧写的。


烧写Ubuntu固件

步骤一:检查开发板连接

  开发板需要上电,需要接调试串口,特别是烧写器的线。
  关键点:

  • 两头都是USB公口的线;
  • 开发板哪一个是烧写口;
  • 开发板启动的时候按如何操作(一般是按下按钮)可进入烧写模式烧写,之后则有烧写工具自行完成了;
      (注意:跟海思不同,海思需要串口作为过程判断指令交互的一条通道,瑞芯微烧写过程不需要串口协助,后续刷固件的时候是拔了调试串口刷的,好奇心,妥妥好奇为什么要调试串口,但是RVDevTool上面又没有让选串口号…-…!!!)
      在这里插入图片描述

  这里的连接与海思的差不多《Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、rootfs和userdata按照分区表烧写镜像
  连接图如下:
  在这里插入图片描述

  方便查看:
  在这里插入图片描述

步骤二:准备烧写器软件

  将烧写器下载下来,然后解压,如下图:
  在这里插入图片描述

步骤三:拷贝镜像

  将上一篇编译的ubuntu系统,拷贝到烧写器的image文件夹,注意这里制作镜像是在ubuntu宿主机上,所以从虚拟机拖出来,放到软件的image文件夹下去,距离上一篇文章超过半年了,我们先检查下上次宿主机打包的文件系统是否是ubuntu,检查如下,确认是的。
  在这里插入图片描述

   (PS:这里显示有6.1G,估计ubuntu系统没做啥裁剪)
  将升级的总包update.image拷贝到image文件夹:
  在这里插入图片描述

步骤四:打开RVDevTool烧写软件

  在这里插入图片描述

  打开软件:
  在这里插入图片描述

  点击“升级固件”选择之前拷贝到image的“固件”:
  在这里插入图片描述

  在这里插入图片描述

  选择好了,状态为“没有发现设备”:
  在这里插入图片描述

  确认我们的设备按照步骤一已经连接了,就没问题。

步骤五:按下特定按键然后开启开发板

  本开发板是按住开发板的“音量+” 按键, 按住不要松开, 然后在按下开发板的电源按键启动开发板, 此时烧写工具会提示发现新设备,就可以松开:
  在这里插入图片描述

  然后会如下:
  在这里插入图片描述

  然后点击“升级”(不接调试串口没任何关系):
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  下载成功后,软件会自动重启(手贱了,下载过程未到100%点击关闭取消指令,实际确认了,但是无效):
  在这里插入图片描述

  在这里插入图片描述

  然后开发板重启:
  在这里插入图片描述

  这里是宿主机调试串口的配置:
  在这里插入图片描述

  在这里插入图片描述

   原本以为镜像自行编译适配失败了,实际不是,查看“入坑一”,然后主界面如下:
  在这里插入图片描述

  在这里插入图片描述

  (多写了p,密码跟账户一样:topeet)
  在这里插入图片描述

  跑ubuntu感觉部分功能有点卡,操作了一下,又好一些,可能板子吃灰太久了,没跑起来吧,如下:
  在这里插入图片描述

  在这里插入图片描述

  经过测试,ubuntu镜像有个硬伤,就是黑屏后无法通过触摸去唤醒,只能通过鼠标键盘等外设唤醒显示屏,所以这个板本必须先把自动屏保黑屏给他关闭了。


烧写支持hdmi输出的ubuntu系统

  (PS:这里支持hdmi,意味着其他几路不输出了)
  本次开发板这次开发已经接了hdmi但是没有切换过去,可以自己修改内核为hdmi输出去编译,这里我们只是用于展会演示,就不费尽了,因为看到官方提供的板本中有一个支持hdmi的ubuntu镜像,如下图:
  在这里插入图片描述

  在这里插入图片描述

  下下来:
  在这里插入图片描述

  重新刷走一遍“烧写ubuntu”:
  在这里插入图片描述

  然后结果如下:
  在这里插入图片描述

  测试触摸屏(无效,不支持usb的触摸屏,应该是没打触摸屏通用驱动,请求官方回复可能是触摸芯片支持不一样):
  在这里插入图片描述

  这里插入了键盘和鼠标,发现无效。(PS:后来发现是使用了升级USB口就无效,这里也算是入了一个坑)


入坑

入坑一:刷完自行编译的ubuntu固件重启后听留下logo界面

问题

  刷完固件启动卡在logo“rockchip kernerl”

原因

  调试串口打印显示出有部分卡再limit时间上,当前并没有卡死,就是需要读秒
  在这里插入图片描述

解决

  这里是用官方的方法可以调整,如下图:
  在这里插入图片描述

  以上修改了,有点用,修改为30s,实际为33s,到33s后又变成2min3s,所以不懂了:
  在这里插入图片描述

官方技术支持回复

mkdir /etc/network/interfaces.d
vi /etc/network/interfaces.d/eth0

  文件内容:

auto eth0
allow-hotplug eth0 //将网络接口设置为热插拔模式
iface eth0 inet dhcp//设置dhcp自动获取ip

  在这里插入图片描述

vi /etc/network/interfaces.d/eth1

  在这里插入图片描述

vi  /etc/systemd/resolved.conf

  将DNS对应的内容取消注释并添加114.114.114.114内容并取消LLMNR=no的注释,修改完成如下图所示:
  在这里插入图片描述

  最终结果,没有尝试,因为是后续请教的,这时候已经更改为buildroot固件并完成了各种工作了。


上一篇:《RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
下一篇:《RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132686096

更多推荐

简单聊聊G1垃圾回收算法整个流程 --- 理论篇 -- 下

简单聊聊G1垃圾回收算法整个流程---理论篇--下软实时性预测转移时间预测可信度GC暂停处理的调度并发标记中的暂停处理分代G1GC模式不同点新生代区域分代对象转移具体转移流程分代选择回收集合设置最大新生代区域数GC的切换GC执行的时机总结上一篇文章我们简单看了一下G1整个垃圾回收流程,但是关于G1如何计算区域回收价值和

ActiveMQ面试题(一)

文章目录前言一、什么是ActiveMQ二、ActiveMQ服务器宕机怎么办?三、丢消息怎么办四、持节化消息非常慢五、消息的不均匀消费总结前言什么是ActiveMQActiveMQ服务器宕机怎么办?丢消息怎么办持节化消息非常慢消息的不均匀消费一、什么是ActiveMQactiveMQ是一种开源的,实现了JMS1.1规范的

NPM 常用命令(八)

1、npminstall1.1命令使用npminstall[<package-spec>...]别名:add,i,in,ins,inst,insta,instal,isnt,isnta,isntal,isntall此命令安装一个包和它所依赖的任何包。如果包有一个package-lock文件,或者一个npm-shrink

数据结构与算法的力量:编写更高效的代码

文章目录为什么数据结构和算法重要?1.提高性能2.节省资源3.解决复杂问题4.改进代码质量常见数据结构和算法数据结构1.数组(Array)2.链表(LinkedList)3.栈(Stack)4.队列(Queue)算法1.排序算法2.搜索算法3.递归算法编写高效的代码的关键考虑因素1.时间复杂度2.空间复杂度3.数据的组

Android 自定义加解密播放音视频(m3u8独立加密)

文章目录背景加密流程音视频解密音视频播放结语背景当涉及App内部视频的时候,我们不希望被别人以抓包的形式来爬取我们的视频大视频文件以文件方式整个加密的话需要完全下载后才能进行解密当前m3u8格式虽然支持加密,但是ts格式的小视频可以独立播放的,也就是ts文件本身没有被加密,或者加密方法过于复杂根据以上,我通过修改Exo

Linux 多线程( 进程VS线程 | 线程控制 )

文章目录Linux进程VS线程进程的多个线程共享进程和线程的关系线程创建pthread_create获取线程IDpthread_self线程等待pthread_join终止线程进程分离线程ID及进程地址空间布局Linux进程VS线程进程是资源分配的基本单位。线程是OS调度的基本单位。线程共享进程数据,但也拥有自己的一部

【CSS3】CSS3 3D 转换 ② ( 3D 透视视图 | “ 透视 “ 概念简介 | 视距与成像关系 | CSS3 中 “ 透视 “ 属性设置 | “ 透视 “ 语法设置 | 代码示例 )

文章目录一、"透视"概念简介1、"透视"概念引入2、视距与成像关系二、CSS3中"透视"属性设置1、"透视"语法设置2、代码示例-"透视"语法设置添加了透视后的代码示例执行结果一、"透视"概念简介1、"透视"概念引入在本博客中引入3D效果透视视图Perspective概念;3D视图中产生3D效果,最终要的是有透视效果,

注解、自定义注解、处理自定义注解

注解概述Java注解(Annotation)又称Java标注,是JDK5.0引入的一种注释机制。Java语言中的类、构造器、方法、成员变量、参数等都可以被注解进行标注。例如:publicclassUserServiceTest{@TestpublicvoidtestLogin(){}@Testpublicvoidtes

【网络安全】黑客自学笔记

1️⃣前言🚀作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。计算机各领域的知识水平决定你渗透水平的上限🚀【1】比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;【2】比如:你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的S

ERR_CONNECTION_REFUSED等非标准的HTTP错误状态码原因分析和解决办法

文章目录一、DNSResolutionFailed1,DNS服务器故障2,DNS配置错误3,DNS劫持4,域名过期-5,其他网络问题二、ERR_CONNECTION_REFUSED-"ERR_CONNECTION_REFUSED"错误可能有多种原因三、ERR_SSL_PROTOCOL_ERROR"ERR_SSL_PRO

MySQL日志管理、备份与恢复

绪论备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。而备份、恢复中,日志起到了很重要的作用1、日志1.1日志保存位置MySQL的日志默认保存位置为/usr/local/mysql/data##配置文件vim/etc/my.cnf[mysqld]##错误日志,用来记录当MySQL启动、停

热文推荐