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

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

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

瑞芯微开发专栏

上一篇:《RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像》
下一篇:敬请期待…


前言

  编译了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镜像》
下一篇:敬请期待…


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/68962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sentinel 流量控制框架

1. Sentinel 是什么? Sentinel是由阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件。 2. 主要优势和特性 轻量级,核心库无多余依赖,性能损耗小。 方便接入,开源生态广泛。 丰富的流量控制场景。 …

AI篇-chatgpt基本用法(文心一言也适用)

目录 (1)基本规则 (2)例子1-文章摘要 (3)例子2-代码生成 (4)文心一言链接 (1)基本规则 相比于搜索引擎,ChatGPT的优势在于其高效的想法关联和…

《CTFshow-Web入门》09. Web 81~90

Web 入门 索引web81题解 web82题解原理 web83题解 web84题解 web85题解 web86题解 web87题解原理 web88题解 web89题解 web90题解 ctf - web入门 索引 web81:include() 利用,一句话木马之 Nginx 日志利用。web82~86:include() 利用&#xff…

WebSocket--技术文档--基本概念--《快速了解WebSocket协议》

阿丹: 不断学习新技术,丰富自己了解更多才能扩展更多世界可能。 官网 WebSocket首页、文档和下载 - HTML5开发相关 - OSCHINA - 中文开源技术交流社区 软件简介 WebSocket 是 HTML5 开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 WebS…

力扣|找出和所对应的两数的下标

从零开始刷力扣(bushi 题目放在这: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值target的两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一…

linux上vscode中.cpp文件中引入头文件.hpp时报错:找不到头文件(启用错误钵形曲线)

当在.cpp文件中引入系统给定的头文件时&#xff1a;#include < iostream > 或者引入自定义的头文件 &#xff1a;#include <success.hpp> 报错&#xff1a;找不到相应的头文件&#xff0c;即在引入头文件的改行底下标出红波浪线 解决方法为&#xff1a; &#…

linux入门---动静态库的加载

目录标题 为什么会有动态库和静态库静态库的实现动态库的实现动静态库的加载 为什么会有动态库和静态库 我们来模拟一个场景&#xff0c;首先创建两个头文件 根据文件名便可以得知add.h头文件中存放的是加法函数的声明&#xff0c;sub.h头文件中存放的是减法函数的声明&#…

文章预览 安防监控/视频存储/视频汇聚平台EasyCVR播放优化小tips

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成&#xff0c;…

25 Linux可视化-Webmin和bt运维工具

25 Linux可视化-Webmin和bt运维工具 文章目录 25 Linux可视化-Webmin和bt运维工具25.1 Web运行环境简介25.2 Webmin的安装及使用25.2.1 安装webmin25.2.2 Webmin使用演示 25.3 bt(宝塔)的安装及使用25.3.1 安装宝塔25.3.2 宝塔Web登录Linux服务器25.3.3 找回宝塔登录密码 学习视…

Chrome 和 Edge 上出现“status_breakpoint”错误解决办法

文章目录 STATUS_BREAKPOINTSTATUS_BREAKPOINT报错解决办法Chrome浏览器 Status_breakpoint 错误修复- 将 Chrome 浏览器更新到最新版本- 卸载不再使用的扩展程序和应用程序- 安装计算机上可用的任何更新&#xff0c;尤其是 Windows 10- 重启你的电脑。 Edge浏览器 Status_brea…

iOS实时监控与报警器

在现代信息化社会中&#xff0c;即使我们不在电脑前面也能随时获取到最新的数据。而苹果公司提供的iOS推送通知功能为我们带来了一种全新的方式——通过手机接收实时监控和报警信息。 首先让我们了解一下iOS推送通知。它是一个强大且灵活可定制化程度高、适用于各类应用场景&a…

基于沙猫群算法优化的BP神经网络(预测应用) - 附代码

基于沙猫群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于沙猫群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.沙猫群优化BP神经网络2.1 BP神经网络参数设置2.2 沙猫群算法应用 4.测试结果&#xff1a;5.Matlab代…

论文研读|生成式跨模态隐写发展综述

前言&#xff1a;本文介绍近5年来生成式跨模态隐写领域的相关工作。 相关阅读&#xff1a;生成式文本隐写发展综述 不同于文本隐写&#xff0c;跨模态隐写需要考虑不同模态间的相关性&#xff0c;常见的跨模态场景有&#xff1a;Image-to-Text&#xff08;如图像描述&#xff…

【Python】OpenCV安装

安装起来相当简单&#xff0c;但是看到很多博客的安装过程复杂得很。 pip install opencv-python测试代码&#xff1a; import cv2 as cv img cv.imread("f6759b83f3201997fd7ea1c9b9130a44.jpg")cv.imshow("Display window", img) k cv.waitKey(0) # …

ROS 2官方文档(基于humble版本)学习笔记(二)

ROS 2官方文档&#xff08;基于humble版本&#xff09;学习笔记&#xff08;二&#xff09; 理解节点&#xff08;node&#xff09;ros2 runros2 node list重映射&#xff08;remap&#xff09;ros2 node info 理解话题&#xff08;topic&#xff09;rqt_graphros2 topic listr…

数据库基础

目录 一、数据库是什么&#xff1f; 二、目前主流的数据库 三、数据库基本使用 1.连接服务器 2.服务器、数据库、表关系 3.使用案例 4、数据逻辑存储 四、MySQL基本知识 1、MySQL架构 2、SQL语句分类 3、存储引擎 总结 一、数据库是什么&#xff1f; 数据库是按照数据结构来组…

Spring源码解析-构造函数

1、构造函数概述 构造函数中&#xff0c;主要创建两个对象分别用来读取注解参数和classpath下的文件 AnnotatedBeanDefinitionReader 专门读取注解参数的Reader ClassPathBeanDefinitionScanner 专门读取classpath下的文件&#xff0c;例如yml、properties等。 AnnotationC…

Unity 切换场景后场景变暗

问题 Unity版本&#xff1a;2019.4.34f1c1 主场景只有UI&#xff0c;没有灯光&#xff0c;天空盒&#xff1b;其他场景有灯光和天空盒所有场景不烘焙主场景作为启动场景运行&#xff0c;切换到其他场景&#xff0c;场景变暗某一个场景作为启动场景运行&#xff0c;光影效果正…

第P3周:天气识别

一、前期准备 1、设置GPU import torch import torch.nn as nn import torchvision.transforms as transforms import torchvision from torchvision import transforms, datasetsimport os,PIL,pathlibdevice torch.device("cuda" if torch.cuda.is_available() …

【探索Linux】—— 强大的命令行工具 P.7(进程 · 进程的概念)

阅读导航 前言一、冯诺依曼体系结构二、操作系统&#xff08;OS&#xff09;1. 概念 三、进程1. 进程的概念2. PCB&#xff08;Process Control Block&#xff09;3. 查看进程 四、fork函数1. 函数简介2. 调用方式3. 返回值4. 使用示例 五、进程的几种状态1. 状态简介2. 进程状…