当前位置: 首页 > news >正文

百问网(100ask)提供的烧写工具的原理和详解;将自己编译生成的u-boot镜像文件烧写到eMMC中

百问网(100ask)提供的烧写工具的原理

具体的实现原理见链接 http://wiki.100ask.org/100ask_imx6ull_tool
为了防止上面这个链接失效,我还对上面这个链接指向的页面保存成了mhtml文件,这个mhtml文件的百度网盘下载链接:
https://pan.baidu.com/s/1DCNVMu5hjsedasyMGM35gA?pwd=t6sx

视频讲解链接 https://www.bilibili.com/video/BV1zV411U7H9/?p=14&vd_source=8fb767d1739ea6b35c7177ba909eed36

大致的实现原理我梳理一下如下:
NXP公司给IMX6ULL提供的烧写工具mfgtools缺点多:既不能单独烧写bootloader、内核、设备树,烧写速度还慢,所以有必要另外开发一个烧写工具。

百问网开发的烧写工具的原理概括如下:

借助IMX6ULL本身支持USB启动的特点,将IMX6ULL设置为USB启动后,首先它会运行固化在芯片内部的程序imx6ull boot ROM,我们可以借助这个程序通过SDP协议把某个特制程序发送到IMX6ULL中,然后开始运行这个特制程序,这个特制程序就可以通过FB协议实现我们理想中的烧写工具的各种功能,示意图如下:
在这里插入图片描述
NXP官方已经开发了一个名叫uuu的工具来实现上面这段话的功能了。所以百问网就在工具uuu的基础上进行二次开发,实现了我们理想中的烧写工具的各个功能。

百问网(100ask)提供的这个烧写工具的界面分为基础版和专业版。
“基础版”是专为100ASK_IMX6ULL设计的,点击一下即可完成某项烧写。

专业版则更强大、更灵活、适合所有开发板,专业版的强大在于烧写文件时可以选择任意文件,上传文件时可以指定分区、分区格式、目标路径。

百问网的IMX6ULL开发板的zImage和设备树是放在第2分区的,而有些厂家的开发板,zImage和设备树是在第1个分区里的,所以这些厂家的开发板就无法使用基础版来烧写,需要使用专业版,指定分区、指定分区格式、指定路径,然后再上传文件。

关于什么叫开发板上的第1分区和第2分区,请参见我的另一篇博文:
https://blog.csdn.net/wenhao_ir/article/details/145653766

基础版的使用说明如下:
在这里插入图片描述
专业版的说明如下:
在这里插入图片描述
有些开发板厂家把内核zImage、设备树放在第1个分区里,它通常是FAT分区。那么可以使用专业版来更新内核、更新设备树。
比如:
在这里插入图片描述
几乎所有的开发板的第2个分区都是EXT4格式,我们可以上传文件到它的任意目录下,比如:
在这里插入图片描述
关于什么叫开发板上的第1分区和第2分区,请参见我的另一篇博文:
https://blog.csdn.net/wenhao_ir/article/details/145653766

下载百问网(100ask)提供的烧写工具

在百度网盘中下载下面这个压缩包:
在这里插入图片描述
上面这个截图红框中的压缩包百度网盘下载链接:
https://pan.baidu.com/s/1f6VPeq25LoEo5_zPjFC8Xg?pwd=a2g5

这里有说明下为什么这个压缩包快1GB,因为里面包含开发板的各种镜像文件。

下载完成后解压:
在这里插入图片描述
这里先不忙运行这个工具。

工具files目录下的文件说明

在这里插入图片描述
在这里插入图片描述
你需要烧写哪个文件,就把哪个文件用你要写的文件覆盖掉就行了,注意是覆盖,也就是文件名不能变。

烧写SD卡时要特别注意的地方

在这里插入图片描述
当然,咱们这篇博文中是烧到eMMC中,而不是SD卡中,不过为了为了不必要的麻烦,建议先把SD卡取出放到读卡器中,排除它的干扰。

将烧写工具配置好以便能写入镜像

设置开发板为USB启动

说明一下,为了不必要的麻烦,建议先把SD卡取出放到读卡器,根据教程,就算是要烧写SD卡,也得上电后再插SD卡。

把板子设置为USB启动的方式如下:
在这里插入图片描述

连接USB-OTG接口并安装两个驱动

拿另一根USB线连接USB-OTG接口(注意:这里串口其实可以不连哈):
在这里插入图片描述
连接好后,上电…

上电后请及时让选择连接到主机,而不要连接到虚拟机,然后通常就会自动安装第一个驱动,并获得设备“SE Blank 6ULL”,如下图所示:
在这里插入图片描述
在这里插入图片描述
如果没有自动安装驱动,请参考嵌入式Linux应用开发完全手册V5.2_IMX6ULL_Pro开发板的第136页,这个手册的百度网盘下载链接 https://pan.baidu.com/s/1gB9o–jN0NYhR66gKNzgHg?pwd=9bkp

接下来打开百问网提供的烧写工具,即运行文件100ask_imx6ull_flashing_tool_v4.0.exe
在这里插入图片描述
绿灯亮起,说明连接成功了:
在这里插入图片描述
这样,第一个驱动安装完成,但是“固件未运行”前的绿灯还没有亮,所以需要安装第二个驱动:

切换到专业版界面上,然后点击运行按钮:
在这里插入图片描述
这个按钮的作用相当于是往IMX6ULL里写入原理介绍里说的“特制程序”。“特制程序”写入完成后,这时电脑会识别出“USB download gadget”设备(注意:不要连到虚拟机上了),并且一般情况下都会自动给它安装驱动程序。安装了驱动程序后,如下面的截图所示:
在这里插入图片描述
此时“固件未运行”变成了“固件已运行”,它前面的绿灯也亮了:
在这里插入图片描述
不妨切换到“基础版”界面,因为后面要对百问网的IMX6ULL_PRO开发板作操作嘛。

接下来就可以开始烧写镜像了。

烧写u-boot镜像文件到eMMC

在后续过程中为了不必要的麻烦,建议先把SD卡取出放到读卡器,根据教程,就算是要烧写SD卡,也得上电后再插SD卡。

把目录100ask_imx6ull_pro开发板系统烧写工具\files下的文件u-boot-dtb.imx替换为前面编译u-boot时生成的镜像文件u-boot-dtb.imx

注意:镜像文件u-boot-dtb.imx的位置就是在u-boot的根目录下:
在这里插入图片描述
替换之后files目录的截图如下(我把原来的文件加了个bak的后缀,哈哈):
在这里插入图片描述
按上面的步骤将开发板设置为USB启动,并用数据线连接好PC与开发板上的USB-OTG接口。

然后按照上面的步骤配置好烧写工具(100ask_imx6ull_flashing_tool_v4.0.exe):
在这里插入图片描述
设置那里选择EMMC,然后点击按钮“更新 Uboot”,烧写成功后的截图如下:
在这里插入图片描述

烧写完成后关闭开发板电源,烧写完成后关闭开发板电源,烧写完成后关闭开发板电源,然后设置开发板为eMMC启动方式,打开串口即可看到终端有u-boot的运行信息了。

相关文章:

百问网(100ask)提供的烧写工具的原理和详解;将自己编译生成的u-boot镜像文件烧写到eMMC中

百问网(100ask)提供的烧写工具的原理 具体的实现原理见链接 http://wiki.100ask.org/100ask_imx6ull_tool 为了防止上面这个链接失效,我还对上面这个链接指向的页面保存成了mhtml文件,这个mhtml文件的百度网盘下载链接: https://pan.baidu.c…...

doris:异步物化视图概述

物化视图作为一种高效的解决方案,兼具了视图的灵活性和物理表的高性能优势。 它能够预先计算并存储查询的结果集,从而在查询请求到达时,直接从已存储的物化视图中快速获取结果,避免了重新执行复杂的查询语句所带来的开销。 使用场…...

图像缩放的双线性插值实现方式

1、双线性插值概念 双线性插值是一种用于在二维网格上进行插值的方法,适用于图像处理、计算机图形学等领域。它通过利用四个邻近点的已知值,估算出任意点的值。双线性插值在两个方向(通常是水平和垂直)上分别进行线性插值&#x…...

深入剖析 Vue 的响应式原理:构建高效 Web 应用的基石

深入剖析 Vue 的响应式原理:构建高效 Web 应用的基石 在前端开发的广阔天地里,Vue.js 凭借其简洁易用的特性和强大的功能,成为众多开发者的心头好。其中,响应式原理作为 Vue 的核心亮点之一,让数据与视图之间实现了高…...

40.日常算法

1.无重复字符的最长子串 题目来源 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 class Solution { public:int lengthOfL…...

CAS单点登录(第7版)11.SSO SLO

如有疑问,请看视频:CAS单点登录(第7版) SSO & SLO 安装IDEA Download IntelliJ IDEA – The IDE for Professional Development in Java and Kotlin 安装Maven Download Apache Maven – Maven MAVEN_HOMED:\apache-maven…...

Bob the Canadian

1:around the house Hi! Bob the Canadian here! Let’s learn English around the house. Come on in! Hi, Bob the Canadian here. Welcome to this video. If this is your first time here, don’t forget to click the subscribe button below, and give…...

CAS单点登录(第7版)16.模仿

如有疑问,请看视频:CAS单点登录(第7版) 模仿 概述 代理身份验证 代理身份验证(模拟),有时称为 Web 的 sudo,是代表其他用户进行身份验证的能力。 在这种情况下,两个参…...

预留:大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

传送门目录 前期准备 一、JDK的安装 1、安装jdk 2、配置Java环境变量 3、加载环境变量 4、进行校验 二、hadoop的集群搭建 1、hadoop的下载安装 2、配置文件设置 2.1. 配置 hadoop-env.sh 2.2. 配置 core-site.xml 2.3. 配置hdfs-site.xml 2.4. 配置 yarn-site.xm…...

RabbitMQ介绍以及基本使用

文章目录 一、什么是消息队列? 二、消息队列的作用(优点) 1、解耦 2、流量削峰 3、异步 4、顺序性 三、RabbitMQ基本结构 四、RabbitMQ队列模式 1、简单队列模式 2、工作队列模式 3、发布/订阅模式 4、路由模式 5、主题模式 6、…...

C++演示中介模式

避免两个模块之间的耦合&#xff0c;使用中介模式解决。下面是C代码 #include <iostream> #include <vector>using namespace std;class client;//中介 class mediator { public:void addclient(client* client) {clientVec.push_back(client);}void send(const s…...

Vue的简单入门 一

声明&#xff1a;本版块根据B站学习&#xff0c;创建的是vue3项目&#xff0c;用的是vue2语法风格&#xff0c;仅供初学者学习。 目录 一、Vue项目的创建 1.已安装15.0或更高版本的Node.js 2.创建项目 二、 简单认识目录结构 三、模块语法中的指令 1.v-html 1.文本插值…...

【免费送书活动】《MySQL 9从入门到性能优化(视频教学版)》

本博主免费赠送读者3本书&#xff0c;书名为《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》。 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 这本书已经公开…...

export default与export区别

1.定义&#xff1a; export default‌&#xff1a;用于导出模块中的默认成员。一个模块中只能有一个export default&#xff0c;通常用于导出模块的主要功能或对象。导入时可以使用任意名称&#xff0c;因为它没有具体的名称‌ ‌export‌&#xff1a;用于导出模块中的多个成…...

最佳的出牌方法

最佳的出牌方法 真题目录: 点击去查看 E 卷 200分题型 题目描述 手上有一副扑克牌,每张牌按牌面数字记分(J=11,Q=12,K=13,没有大小王),出牌时按照以下规则记分: 出单张,记牌面分数,例如出一张2,得分为2出对或3张,记牌面分数总和再x2,例如出3张3,得分为(3+3+3)x2=1…...

Kotlin 2.1.0 入门教程(二十一)数据类

数据类 数据类主要用于存储数据。 对于每个数据类&#xff0c;编译器会自动生成一些额外的成员函数&#xff0c;这些函数支持将实例打印为易读的输出、比较实例、复制实例等操作。 数据类使用 data 关键字标记&#xff1a; data class User(val name: String, val age: Int…...

30天开发操作系统 第 20 天 -- API

前言 大家早上好&#xff0c;今天我们继续努力哦。 昨天我们已经实现了应用程序的运行, 今天我们来实现由应用程序对操作系统功能的调用(即API, 也叫系统调用)。 为什么这样的功能称为“系统调用”(system call)呢&#xff1f;因为它是由应用程序来调用(操作)系统中的功能来完…...

WEB安全--SQL注入--floor报错注入

一、原理&#xff1a; floor()报错注入需要组合count()、rand()、group by()等函数使用&#xff0c;通过一些手段使数据库在处理语句时产生主键重复的报错&#xff0c;从而达到爆出信息的目的 二、内容&#xff1a; ?id-1 or (select 1 from (select count(*),concat(databa…...

【java面向对象的三大特性】封装、继承和多态

目录标题 一、封装&#xff08;Encapsulation&#xff09;&#xff1a;二、继承&#xff08;Inheritance&#xff09;&#xff1a;三、多态&#xff08;Polymorphism&#xff09;&#xff1a;1. 多态的三个必要条件&#xff1a;2.多态的具体实现&#xff1a;3.多态的使用场景&a…...

Hermite 插值

Hermite 插值 不少实际问题不但要求在节点上函数值相等&#xff0c;而且还要求它的导数值相等&#xff0c;甚至要求高阶导数值也相等。满足这种要求的插值多项式就是 Hermite 插值多项式。 下面只讨论函数值与导数值个数相等的情况。设在节点 a ≤ x 0 < x 1 < ⋯ <…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了&#xff0c;很多小伙伴想体验鸿蒙电脑版操作系统&#xff0c;可惜&#xff0c;鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机&#xff0c;来体验大家心心念念的鸿蒙系统啦&#xff01;注意&#xff1a;虚拟…...