107.am40刷机折腾记3-firefly镜像的烧写

1. 平台: rk3399 am40  4g+32g

2.  内核:firefly的内核(整体镜像)

3.  交叉编译工具 :暂时不编译

4. 宿主机:ubuntu18.04

5. 需要的素材和资料:boot-am40-20231113.img(自编译)

准备的情况:

1.am40开发板

2.ttl的usb转串口,波特率是1500000.

3.12V电源输入

4. 两个公头的usb 的线(能插电脑的普通的usb接口)

5. RKDevTool_Release_v2.81(版本可以不同)+DriverAssitant_v4.5.zip

img文件(从网站上下载)

FIREFLY-RK3399_Ubuntu20.04-r240_v2.5.1d_230330.7z

一、下载firefly固件(rk3399)

1.1 找到firefly的官网

Firefly | 让科技更简单,让生活更智能

下载firefly-rk3399的固件

下载后解压出img文件

二、准备刷机

2.1. 电源连接好,准备上电;

2.2. ttl的串口需要连接。(镜像烧录之后,默认波特率是1500000,需注意哈),电脑中把串口软件打开,方便查看调试信息(所需软件在qq群文件中);

2.3. 公头usb连接开发板和电脑;

2.4. 开发板开关拨到ADB模式;

2.5. 上电的时候按住那个板子上的白色按钮(RKDevTool软件会提示loader模式);

2.6. 电脑安装驱动DriverAssitant(只要安装一次就够了);

2.7. 电脑打开RKDevTool_Release软件,点击“升级固件” 那一页;

2.8.点击“固件”按钮,弹出的对话框,选中firefly的img 文件。

  FIREFLY-RK3399_Ubuntu20.04-r240_v2.5.1d_230330.img

        时间不同,可能版本有些差异,但是不影响烧录。

三、烧录运行

3.1 启动时进入maskrom模式 

按住白色的按钮不松,一直等到出现maskrom(或者loader)的设备,再松开。

3.2  直接点击升级按钮

3.3 这个镜像启动不了。

启动到一定的时候,系统就卡死了,串口没有任何打印信息了。但是不用担心,就是要这个效果。

四、解决这个启动问题

4.1 解决一下recovery的问题

其中misc分区它有一个特定的数据结构,决定系统启动时进入的状态,比如revocery模式,loader模式,normal模式等。

刚刚烧完镜像,misc数据记录会让系统进入recovery模式,用于格式化数据分区,恢复出厂设置等。

但是recovery 其实也是启动不成功的,所以没必要进了,直接改为进入正常系统模式。

4.1.1 解决办法

修改misc的数据,其实我就是找一个文件把misc分区的内容覆盖掉,然后系统启动的时候,还是会读取misc分区的内容,但是很明显不符合它特定的数据结构,校验和也会失败,这个时候,它就会使用默认的正常模式启动。

4.1.2 对misc分区烧入uboot.img(仅仅是因为这个文件大小正好合适)

与下面4.2的boot.img一起烧入也是可以的。

只要烧入uboot即可(选择群文件中的uboot.img下载)

烧入之后,它就不会进入revocery,但是仍然是启动的时候卡死。

这个地方为None或者Normal 都是正常启动进入系统。

提示recovery表示进入recovery模式。

4.2 烧入新的boot.img

这个boot.img 是我自己制作的,能启动,但是部分功能还不完善。

只要烧入boot.img 就行。

(也可以把群文件中的uboot-115200中的文件一起烧入,烧入完之后,串口的波特率应该改为115200).

下载位置qq群文件

烧入之后,自动重启就会启动正常了。

串口的打印信息如果消失了,请注意调整波特率为115200.

五、几点说明

5.1 其实就是熟悉一下烧录的流程,整个img镜像的烧录,还有部分img的烧录方法。

5.2 boot.img 是linux5.10的内核编译而成,而且是使用的系统自带的dts文件修改的,源码在后面的文章中跟大家分享。

5.3 uboot和kernel的波特率都调整为了115200,如果串口看不到打印信息的时候,尝试修改波特率试试(只有两种:115200或者1500000).

5.4 内核的波特率由dtb文件决定,uboot的波特率由代码中设置。

5.5 其他问题,可以私聊我了(下载文件的群 Q Q:113下150载393)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

四点定球-克拉默法则

一、原理 使用克拉默法则进行四点定球 - 知乎 二、代码实现 c /// <summary> /// 四个不共面的点 用克拉默法则 计算球心和半径 /// </summary> /// <param name"p1"></param> /// <param name"p2"></param> /// &l…

考前须知-2024年上半年系统集成项目管理工程师

可以看看23年下半年软考集成考试的难度 一、考试时间安排&#xff1a; 集成考试一年会考2次&#xff0c;上半年一次、下半年一次。考试时间4h&#xff0c;分批进行 系统集成项目管理工程师教材共655页&#xff0c;分为23章。其中,前3章为信息化与系统集成基础知识的内容,第4章…

阿里回应多款应用崩了

在11月12日晚间&#xff0c;一场突如其来的故障席卷了阿里云&#xff0c;导致包括淘宝、钉钉、阿里云盘在内的多款应用无法正常使用。这场故障引起了用户和业界的广泛关注&#xff0c;许多用户纷纷在社交媒体上表达了对此的不满和担忧。据用户反馈&#xff0c;当晚突然发现包括…

python中的字符串转字节码

res int.from_bytes(hello.encode(), byteorderlittle)res的结果为478560413032&#xff0c;这个结果怎么计算得到的呢&#xff1f; 将hello的每个字母的ascii码从右往左排列&#xff0c;拼接起来转成十进制就是res的结果。 拼接的结果为&#xff1a;011011110110110001101100…

【Unity插件】2D模拟绳子的插件——Rope 2D Editor

文章目录 前言资源unity商店地址&#xff1a;我这里有一个比较老旧的版本&#xff1a; 使用创建绳子场景使用时效果 参考完结 前言 最近发现一个很有意思的插件Rope 2D Editor&#xff0c;这是一个简单而强大的 2d 绳索编辑器。这是我为我的游戏&#xff08;Dabdob&#xff09…

[WSL] 安装hive3.1.2成功后, 使用datagrip连接失败

org.apache.hadoop.ipc.RemoteException:User: xxx is not allowed to impersonate anonymous 下载driver-hive-jdbc-3.1.2-standalone 解决 修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项 <property><name>hadoop.proxyuser.你的用户名.hosts…

Postgresql数据类型-数组类型

PostgreSQL支持一维数组和多维数组&#xff0c;常用的数组类型为数字类型数组和字符型数组&#xff0c;也支持枚举类型、复合类型数组。 数组类型定义 先来看看数组类型的定义&#xff0c;创建表时在字段数据类型后面加方括号“[]”即可定义数组数据类型&#xff0c;如下所示…

全志R128平台SPI与DBI点屏性能大对比

SPI 与 DBI 性能对比 R128 平台的 SPI 接口参数如下 全双工同步串行接口Master/Slave模式可配置支持最大96MHz时钟频率支持SPI Mode0/1/2/3片选和时钟的极性和相位可配置5个时钟源支持中断或DMA传输支持多片选支持Standard Single/Dual/Quad SPI&#xff0c;FIFO深度64B支持B…

Qt高级--(1)自定义导航栏

好久没有水博客&#xff0c;参考别人的写一个自定义的导航栏吧。用处挺多的&#xff0c;可以用来切换到不同的信息显示界面。 功能点 1.默认情况下&#xff0c;文字居中显示&#xff0c;不显示图标&#xff0c;不显示三角。 2.可设置文字左侧、顶部、右侧、底部边距&#xff…

功率放大器在微流控测试中的应用有哪些

微流控技术是一种在纳米或微米尺度上操作和控制流体的技术&#xff0c;它在生物医学、化学分析和材料科学等领域具有广泛的应用前景。然而&#xff0c;由于微流控系统中涉及到的流体操作和流动过程往往需要较高的电压和电流&#xff0c;因此在微流控测试中常常需要使用功率放大…

网络问题导致pycharm无法提交代码到代码仓库

现象 ssh: Could not resolve hostname github.com: Name or service not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 原因及解决办法 可能不是自己权限有问题&#xff0c;而是…

伦敦银为什么降价

作为贵金属家族中的一员&#xff0c;白银具有一定的金融属性&#xff0c;但它同时也是一种工业金属&#xff0c;在太阳能、汽车、电子工业上有着广泛的用途&#xff0c;所以其价格会受到诸多因素的影响。伦敦银作为紧密跟着国际现货白银价格走势的品种&#xff0c;其降价的原因…

Python高级语法----高级Python函数式编程

文章目录 1. 函数式编程概念2. 使用functools模块3. 深入理解lambda, map, filter, reduce函数a. lambda 函数b. map 函数c. filter 函数d. reduce 函数1. 函数式编程概念 函数式编程是一种编程范式,它将计算视为函数的评估,并避免使用程序状态及可变数据。在Python中,函数…

git 命令行回退版本

git 命令行回退版本 git 命令行回退版本命令: 1.切换到需要回退的分支 git checkout branch-v2.0.02.更新远程分支 git fetch3.找到需要回退版本的版本号git revert a6914da55ff40a09e67ac2426b86f1212e6580eb4.清除工作区缓存git clean -df5.强制提交git push -f

软件外包开发的需求对接

软件外包开发的成功与否很大程度上取决于需求对接的有效性。以下是一些建议&#xff0c;可帮助您在软件外包开发中进行需求对接&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.明确业务目标和需求&…

个推用户运营全新上线用户生命周期管理功能,助力APP快速实现用户精细化运营

近期&#xff0c;个推用户运营上线了APP用户生命周期管理功能。该功能可以帮助APP多维度洞察⽤户所处的⽣命周期分布&#xff0c;旨在帮助运营人员快速全面地了解用户&#xff0c;从而基于用户生命周期针对性地做出用户运营策略调整&#xff0c;提升用户价值和运营指标。 个推如…

数据结构——AVL树

搜索二叉树能够在二叉树情况比较好的情况下&#xff0c;使查找的时间复杂度达到O(logN)。 但是&#xff0c;它的查找的时间复杂度依旧是O(N)&#xff0c;面临的情况是所有的树都只有左/右子树的情况下。 那么今天介绍的AVL树就是解决这一情况的。 但是由于AVL树对我来说有些复杂…

ElementUI表格el-table自适应高度(表头表尾固定不动)

ElementUI表格el-table自适应高度&#xff08;表头表尾固定不动&#xff09;&#xff0c;内容只在中间滚动&#xff0c;效果如图&#xff1a; 实现代码 <div class"mt-10" :style"{height:tableHeight}"><div class"operation-bar">…

算法通关村第八关-黄金挑战

大家好我是苏麟 ...... 路径总和2 描述 : 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 题目 : LeetCode 113.路径总和2 113. 路径总和 II 分析 : 这…

uni-app的下拉搜索选择组合框

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家介绍uni-app中一款可以搜索下拉选择输入框的插件 下拉搜索选择组合框 superwei-combox 组合框 uni-app中可下拉搜索选…