LV.13 D5 uboot概述及SD卡启动盘制作 学习笔记

一、uboot概述

1.1 开发板启动过程

        开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等...)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储器中的uboot搬移到内存,然后跳转到uboot运行。

        uboot开始运行后首先对开发板上的软硬件环境做进一步初始化,然后将linux内核、设备树(dtb)、根文件系统(rootfs)从外部存储器(或网络)搬移到内存,然后跳转到linux运行。

        linux开始运行后先对系统环境做初始化,当系统启动完成后,Linux再从内存中(或网络)挂载根文件系统 。 

所以首先需要在SD卡中刷一个uboot。

1.2 Bootloader

Bootloader    

        在操作系统运行之前运行的一小段代码,用于将软硬件环境初始化到 一个合适的状态,为操作系统的加载和运行做准备(其本身不是操作系统)  

Bootloader基本功能    

        -> 初始化软硬件环境    

        -> 引导加载linux内核    

        -> 给linux内核传参    

        -> 执行用户命令

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

1.3 常用的Bootloader

二、SD卡启动盘制作

2.1 SD卡存储结构

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

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

2.2 实验步骤

1 、将资料中“ u-boot 镜像”中的 u-boot-fs4412.bin 拷贝到 ubuntu 的家目录下
2 、在终端输入如下命令,制作一个 512 字节的空镜像
$ sudo dd if=/dev/zero of=zero.bin count=1
显示如下信息,则表示制作成功
3 、 执行如下命令,将 uboot 追加到 zero.bin 之后生成 win-u-boot-fs4412.bin
$ cat zero.bin u-boot-fs4412.bin > win-u-boot-fs4412.bin
把zero.bin和u-boot-fs4412.bin输出重定向到win-u-boot-fs4412.bin中。我们希望把uboot烧到1扇区之后,所以前面需要加一个空的zero.bin。
4 、 再执行如下命令,制作一个 1M 的空镜像(用于擦除 SD 卡中原有的数据)
$ sudo dd if=/dev/zero of=clear.bin count=2048
5、 把生成的 win-u-boot-fs4412.bin clear.bin 拷贝到 windows
6 、 将 SD 卡插入到电脑上(卡槽 /USB 读卡器均可),使其在 windows 下识别(若不识别,
可能是已经在 ubuntu 中识别了,在可移动设备中将其断开即可)
7 、双击打开资料中“ ImageWriter ”下的“ Win32DiskImager
8 、 在弹出的界面中先选择要烧写的镜像文件( clear.bin ),然后选择要烧写的设备( SD 卡)
最后单击“ Write ”进行烧写
9 、 在弹出的对话框中单击“ Yes
10 、在弹出的对话框中单击“ OK ”完成烧写
因为 clear.bin 为空镜像,所以写入后 SD 卡中的前 2048 个扇区中的数据被擦除
11 、再选择 uboot 镜像完( win-u-boot-fs4412.bin ),然后单击“ Write ”进行烧写
12 、在弹出的对话框中单击“ Yes
13 、在弹出的对话框中单击“ OK ”完成烧写
14 、将 SD 卡插入开发板的卡槽,调整拨码开关为 SD 卡启动,查看 uboot 是否能正常启动
注: uboot 正常启动后 LED2 灯会点亮且终端上也会打印 uboot 相关的信息

 

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

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

相关文章

配电房环境监测模块

配电房环境监测模块是一个智能系统,依托电易云-智慧电力物联网平台,旨在实时监控配电房内部的环境参数,以确保配电设备的正常运行。该模块包括以下功能: 温度监测:对配电房内的温度进行实时监测,防止因温度…

电子电器架构( E/E) 演化 —— 高速 大算力

电子电器架构( E/E) 演化 —— 高速 & 大算力 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要…

vue3的大致使用

<template><div class"login_wrap"><div class"form_wrap"> <!-- 账号输入--> <el-form ref"formRef" :model"user" class"demo-dynamic" > <!--prop要跟属性名称对应-->…

人工智能强化学习:智能体自我进化的探索与挑战

导言 人工智能强化学习作为一种模仿人类学习方式的技术&#xff0c;近年来在机器学习领域取得了令人瞩目的进展。强化学习作为一种通过智能体与环境的交互学习的技术&#xff0c;与其他模型的融合不仅可以提升学习效果&#xff0c;还能在更广泛的领域中实现智能体的决策。本文将…

2.初始化Server、Common工程

1.初始化项目结构 1.1 工程依赖关系 1.2 根pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

电子元器件-MOS管

MOS管 工作原理NMOS选型封装VgsthRdsonCgs 工作原理 链接: 另类方式讲解晶体管 MOS管的全称&#xff1a; 当给栅极高电平时&#xff0c;这个MOS就会导通&#xff0c;给低电平时就会截止 MOS的构造 纯净的硅是不到点的&#xff0c;因为硅原子的最外层是8个电子&#xff0c;…

紫光FPGA DDR3 IP使用和注意事项(axi4协议)

紫光DDR3 IP使用 对于紫光ddr3 IP核的使用需要注意事情。 阅读ddr ip手册&#xff1a; 1、注意&#xff1a;对于写地址通道&#xff0c;axi_awvalid要一直拉高&#xff0c;axi_awready才会拉高。使用的芯片型号时PG2L100H-6FBG676&#xff0c;不同的型号IP核接口和axi的握手协…

Ubuntu18.04安装ffmpeg

前言 从本章开始我们将要学习嵌入式音视频的学习了 &#xff0c;使用的瑞芯微的开发板 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《Linux C应用编程&#xff08;概念类&#xff09;_C…

Android hilt使用

一&#xff0c;添加依赖库 添加依赖库app build.gradle.kts implementation("com.google.dagger:hilt-android:2.49")annotationProcessor("com.google.dagger:hilt-android:2.49")annotationProcessor("com.google.dagger:hilt-compiler:2.49"…

Mac如何安装stable diffusion

今天跟大家一起在Mac电脑上安装下stable diffusion&#xff0c;在midjourney等模型收费的情况下如何用自己的电脑算力用上免费的画图大模型呢&#xff1f;来吧一起实操起来 一、安装homebrew 官网地址&#xff1a;Homebrew — The Missing Package Manager for macOS (or Lin…

NBA得分数据可视化

简介 这是上学期的一些课外活动内容&#xff0c;将 NBA 得分数据进行可视化&#xff0c;并进行后续的探索性分析和建模&#xff08;本文未介绍&#xff09;。主要研究动机来源于这篇论文&#xff1a; 该论文使用二元的伽马过程来刻画 NBA 主客场得分数据&#xff0c;并且考虑了…

机器学习算法---时间序列

类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统计学检验箱…