uboot的烧写及使用

news2024/12/24 10:01:00

目录

一、uboot概述

Bootloader

Bootloader基本功能

常见的Bootloader

二、SD卡启动盘制作

三、uboot的使用

3.1uboot模式

3.2uboot帮助命令

3.3uboot环境变量命令

3.4常用环境变量

3.5网络传输命令

3.6u-boot访问存储器命令

3.7 u-boot自启动环境变量(bootcmd)


一、uboot概述

uboot和bootloader的区别_吻等离子的博客-CSDN博客_uboot和bootloader有啥区别

bootloader就相当于类,uboot就相当于对象。嵌入式领域常用的bootloader就是uboot

Bootloader

    在操作系统运行之前运行的一小段代码,用于将软硬件环境初始化到

一个合适的状态,为操作系统的加载和运行做准备(其本身不是操作系统)

Bootloader基本功能

    -> 初始化软硬件环境

    -> 引导加载linux内核

    -> 给linux内核传参

    -> 执行用户命令

注:bootloader是启动引导程序的统称,嵌入式linux常用的bootloader是uboot。

常见的Bootloader

Bootloader

Monitor

描述

X86

ARM

PowerPC

LILO

Linux磁盘引导程序

GRUB

GNULILO替代程序

Loading

DOS引导linux

ROLO

ROM引导linux而不需要BOIS

Etherboot

通过以太网卡启动linux系统的固件

LinuxBOIS

完全替代BUISlinux引导程序

BLOB

LART等硬件平台的引导程序

U-boot

通用引导程序

RedBoot

基于eCos的引导程序

Vivi

Mizi公司针对于三星的arm cpu设计的引导程序

二、SD卡启动盘制作

 

    SD卡的存储以扇区为单位,每个扇区的大小为512Byte, 其中零扇区存储分区表(即分区信息),后续的扇区可自行分区和格式化;

   若选择SD卡启动,处理器上电后从第一个扇区开始将其中的内容搬移到内存,所以我们把uboot放到从第一个扇区开始之后的空间, 之后的空间根据个人需求可进行分区和格式化

制作一个 512 字节的空镜像 /dev/zero就是全是0.count=1就是一块扇区

制作一个前面一块是空接下来是uboot的镜像 

制作一个1M的空镜像清除SD卡

 少了一个8,大小不对重新做一个

把clear.bin和win-u-boot这两个文件拿到windows里用工具先把SD卡清零

 

然后再把带有uboot的文件烧写进去

 

友情提醒各位童鞋学嵌入式买电脑 接口一定得多种类一定要丰富。

这两太电脑一起用是真麻烦,还得用3个拓展坞。

接下来把开发板设置为SD卡启动。再Uboot里设置了LED2亮,如果亮了就证明成功了。

软件和uboot程序我上传了,可以在我的资源里找到。

三、uboot的使用

3.1uboot模式

自启动模式

    uboot启动后若没有用户介入,倒计时结束后会自动执行自启动

    环境变量(bootcmd)中设置的命令(一般作加载和启动内核)

 

交互模式

    倒计时结束之前按下任意按键uboot会进入交互模式,交互模式下

    用户可输入uboot命令

 

因为还还没安操作系统所以一直显示超时了

3.2uboot帮助命令

 

 

 

3.3uboot环境变量命令

printenv

    打印uboot中所有的环境变量

 

setenv

    设置指定的环境变量(保存在RAM中)

        setenv 环境变量 环境变量的值 

saveenv

    保存所有环境变量到EMMC中

3.4常用环境变量

ipaddr

    uboot的IP地址

serverip

    服务器的IP地址(即ubuntu的IP) 

bootdelay

    进入自启动模式之前倒计时的秒数

3.5网络传输命令

loadb

    通过Kermit协议下载文件到指定的内存地址

        loadb  地址

 

tftp

    通过tftp协议下载文件到指定的内存地址

        tftp  地址  文件名 

 VMware双网卡配置(ubuntu)_宇努力学习的博客-CSDN博客

 

调试了一下,虽然我的emmc中保存了对的ip但是使用tftp服务器时他那个ip还是以前的,需要重新设置开发板ip服务器ip和网关ip然后

saveenv保存一下

最后在用命令

这次没问题了,还有一个要注意的是ubuntu中的文件夹虽然777了,但是文件夹里的程序没有777权限,需要使用命令:

chmod 777 interface.bin

给文件权限后就不会报下面这个错了

TFTP error: 'Permission denied' (0)
Starting again

注:使用tftp之前要配置好网络及tftp服务器

3.6u-boot访问存储器命令

mmc read

  将EMMC中指定扇区中的内容读取到内存中指定的地址

  mmc read  <addr> <blk#> <cnt>

  addr:  内存地址

  blk#:  EMMC中的扇区编号

  cnt:  读取的扇区的个数

mmc write

  将内存中指定地址中的内容写入到EMMC中指定的扇区

  mmc write <addr> <blk#> <cnt>

 0表示写入emmc

把内存0x41000000写到写到emmc 0x800位置一个扇区

 

断电之后读取emmc中的这个程序写入开发板然后go程序运行成功

3.7 u-boot自启动环境变量(bootcmd)

    自启动的环境变量

    该环境变量可以设置成一到多个uboot命令的集合(若有多个使用\;分割)

    自启动模式下uboot就会按照bootcmd中命令的顺序逐条执行

把printenv命令写进去,开机之后不做干预,倒计时结束就会自动打印环境

  eg:

      setenv bootcmd tftp 40008000 interface.bin\;go 40008000

      saveenv

 

这样重启之后就会自动下载并执行

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

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

相关文章

人工智能趋势——2023 年综述

随着DALLE 2 于 2022 年 4 月的宣布&#xff0c;关于2022 年初第三个 AI 冬天——或 AI 撞墙——的预言过时得很快而且效果不佳&#xff0c;随后出现了更多主要由扩散模型驱动的文本到图像应用程序&#xff0c;这是一个非常多产的领域用于计算机视觉研究及其他领域。AI 的 2022…

SpringCloud五大核心组件

Consul 等&#xff0c;提供了搭建分布式系统及微服务常用的工具&#xff0c;如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性token、全局锁、选主、分布式会话和集群状态等&#xff0c;满足了构建微服务所需的所有解决方案。 服务发现——Netflix Eureka …

六百亿流量、25万出场费,袁树雄身价是《汉川》杨语莲125倍

在文章开始之前&#xff0c;咱们不妨先看两组数据&#xff0c;第一组数据是六百个亿&#xff0c;第二组数据则是二十五万。乍一看并没有什么特别&#xff0c;但是要把这两组数据&#xff0c;和一名音乐人联系起来的话&#xff0c;就会产生非常神奇的效果。 《早安隆回》的创作者…

[oeasy]python0070_ 字体样式_下划线_中划线_闪动效果_反相_取消效果

字体样式 回忆上次内容 m 可以改变字体样式 0-10 之间设置的都是字体效果 0 复原1 变亮2 变暗 从3到10 又是什么效果 呢&#xff1f;&#xff1f;真的可以blink闪烁吗&#xff1f;&#x1f441; 3m 3m 实现斜体字的效果 4m 4m 对应着下划线 控制范围 通过控制字符串的位置…

DNS服务解析与原理笔记

引言DNS介绍DNS原理与解析DNS查询DNS服务搭建DNS劫持和污染计算机面试 or 真题DNS应用扩展参考与推荐引言 我想很多人遇到过这样一种情况&#xff0c;电脑突然上不了网了&#xff0c;或者说可以登陆QQ&#xff0c;但是进不了网页&#xff0c;任何网页都会出现如下的类似截图&a…

Android.mk文件编写

来源&#xff1a;https://www.jianshu.com/p/9aab51f4cd6f 1. Android.mk 介绍 Android.mk 是Android 提供的一种makefile 文件&#xff0c;注意用来编译生成 exe(二进制可执行文件)、so(动态库文件)、a(静态库文件)、jar(jar包) 和 apk 等文件。Android.mk和一个或多个.c的源…

PWN入门程序装载与虚拟内存 小白笔记

1.源代码到执行源代码test.c从磁盘中&#xff0c;通过gcc编译成a.out&#xff08;可执行文件&#xff09;。执行的时候&#xff0c;是将磁盘中的可执行文件&#xff08;a.out&#xff09;映像到内存中。2.节视图和段视图节视图&#xff08;磁盘中的可执行文件&#xff09;不同的…

采用消息中间件实现最终一致性的分布式事务

基于可靠消息服务的方案是通过消息中间件保证上下游应用数据操作的一致性。假设有A和B两个系统&#xff0c;分别可以处理任务A和任务B。此时存在一个业务流程&#xff0c;需要将任务A和任务B在同一个事务中处理。就可以使用消息中间件来实现这种分布式事务。 第一步&#xff…

一篇文章带你了解KendoReact DateRangePicker,让日期选择变得更酷炫!

Kendo UI致力于新的开发&#xff0c;来满足不断变化的需求。现在我们非常自豪地宣布&#xff0c;通过React框架的Kendo UI JavaScript封装来支持React Javascript框架。KendoReact能够为客户提供更好的用户体验&#xff0c;并且能够更快地构建更好的应用程序。理想情况下&#…

python中有哪些运算符,python里的运算符号

大家好&#xff0c;给大家分享一下python中有哪些运算符&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; 1、Python中的算术运算符有哪些呢&#xff1f; 1. 比较运算符&#xff1a; 如果比较式成立&#xff0c;返回True&#xff1b;不成立…

[Linux系列]linux bond详解

目录 背景 简介 bond分类 1. mode0(balance-rr) 2. mode1 (active-backup) 3. mode2&#xff08;balance-xor&#xff09; 4. mode3&#xff08;broadcast&#xff09; 5. mode4&#xff08;802.3ad&#xff09; 6. mode5&#xff08;balance-tlb&#xff09;…

STL模拟实现——stack、queue和priority_queue(适配器、仿函数、反向迭代器)

适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总 结)&#xff0c;该种模式是将一个类的接口转换成客户希望的另外一个接口。下列的这些stack、queue和priority_queue以及反向迭代器都是适配器。 stack介绍 1. sta…

数据结构-第八期——树状数组-原理区间和

目录 1、树状数组 2、基本应用 2.1、前缀和&#xff1a;不修改&#xff0c;只查询 2.2、树状数组&#xff1a;动态修改&#xff0c;求区间和 3、实现数组树状 3.1、神奇的lowbit (x)操作 3.2、tree[ ]数组 3.3、基于tree[ ]的计算 3.4 sum[]的计算 3.5、tree[]的更新…

CD3药物研发进展-销售数据-上市药品前景分析

CD3作为近几年的双抗热门靶点之一&#xff0c;目前在全球登记的CD3相关药物就有470个&#xff0c;上市的CD3药物有8款&#xff0c;Ⅰ期临床到Ⅲ期临床有116种&#xff0c;临床前及药物发现达200多种&#xff0c;其火热程度可想而知&#xff0c;笔者为方便大家更加清晰了解CD3在…

ESP-IDF:冒泡排序和选择排序测试代码

ESP-IDF:冒泡排序和选择排序测试代码 /冒泡排序/ void printarry16 (int arr[],int length) { for(int i0;i<length;i) { cout<<arr[i]<<" “; } cout<<endl; } void test16() { int arr[] {9, 8, 7, 6, 5, 4, 3, 2, 1, 0,9, 8, 7, 6, 5, 4, 3, 2…

【笔记】容器基础-容器与虚拟机

杂记&#xff1a; 容器技术的兴起源于 PaaS 技术的普及Docker 公司发布的 Docker 项目具有里程碑式的意义Docker 项目通过“容器镜像”&#xff0c;解决了应用打包这个根本性难题容器本身没有价值&#xff0c;有价值的是“容器编排”进程&#xff1a; 静态表现&#xff1a;程序…

Java NIO同步非阻塞编程原理解析及案例

Java NIO同步非阻塞编程原理解析及案例 文章目录Java NIO同步非阻塞编程原理解析及案例NIO介绍NIO和 BIO的比较NIO 三大核心原理示意图缓冲区(Buffer)基本介绍Buffer常用API介绍Buffer 类及其子类缓冲区对象创建缓冲区对象添加数据缓冲区对象读取数据通道(Channel)基本介绍Chan…

生物医药校招这么难,怎么锁定高端人才?

“每年招聘压力大&#xff0c;进校太难。”“各个事业部人才选用要求高&#xff0c;很难达到要求。”“企业、事业单位、高校三方‘围剿’&#xff0c;人才竞争实在太大&#xff01;”……人才招聘内卷&#xff0c;在生物医药行业可以说是体现得淋漓尽致。生物医药岗位及学历要…

【小白课程】以openKylin看图软件为例,浅谈图片编解码库—FreeImage

看图软件是openKylin操作系统上一款开源的图像查看软件&#xff0c;支持对图片进行基本操作,如&#xff1a;缩放、翻转、详情查看、复制、打印、重命名等&#xff0c;同时还可以对图片进行裁剪、存储、标注和ocr&#xff08;文字识别&#xff09;。 图1 看图软件界面 作为图像…

信通院联合偶数科技等企业发布《云原生湖仓一体白皮书》

2023年1月9日&#xff0c;云原生产业联盟在今年年会上重磅发布了《云原生湖仓一体白皮书》。该白皮书由中国信通院牵头&#xff0c;偶数科技、中国人寿、中信建投、中国联通等单位共同编写。 本次白皮书从云原生湖仓的发展历程、技术方案、生态现状、实践案例等方面进行了全面深…