IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> zyn7000 uboot -> 正文阅读

[嵌入式]zyn7000 uboot

一、u-boot 原理及实现
u-boot是德国DENX小组开发的用于多种嵌入式CPU的bootloader程序。当前,u-boot不仅支持嵌入式 Linux 系统的引导,它还支持 NetBSD、VxWorks、QNX、RTEMS、ARTOS、
LynxOS 嵌入式操作系统。u-boot 除了支持 ARM 系列的处理器外,还支持 MIPS、x86、PowerPC、XSale 等诸多常用系列的处理器。在 Zynq7000 系统中,u-boot 主要是用于引导Ubuntu 操作系统。

首先下载合适的uboot版本 , 我用的是2016-07版

二、uboot的文件结构
在uboot的文件夹下由很多子文件夹构成,其中每个文件夹都实现一个对应的功能。
1.api:相关的api函数,如输出字符函数。
2.arch:与特定的CPU架构相关的目录。在该目录下,uboot所支持的不同的CPU架构都有一个单独的子目录对应。典型的,arch文件夹下名字为arm的子目录就是Zynq7000 soc所对应的CPU架构目录。
3.board:和一些已有开发板有关的文件。每一个开发板都以一个子目录出现在当前目录下。
4.common:实现uboot命令行下所支持的命令。在该目录下,每条命令对应一个独立的文件。
5.disk:提供对磁盘的支持。
6.doc:文档目录,uboot有非常完整的文档。
7.drivers:在该目录下保存着uboot所支持的设备驱动程序。典型的如各种网卡、支持的CFI的Flash存储器,串口和USB等。
8.fs:对于Ubuntu所支持的文件系统,在该目录下面都有一个对应的文件夹。典型的,uboot现在支持cramfs,jffs2和ext4等文件系统。
9.include:该目录下保存着uboot所使用的头文件,对各种硬件平台支持的汇编文件、系统的配置文件以及对文件系统支持的文件。该目录下configs目录有与开发板相关的配置头文件,如zynq_common.h是于zynq开发板相关的配置文件。
10.lib:该目录下保存着体系结构相关的库文件。
11.net:该目录下保存着与网络协议相关的代码。比如BOOTP协议、TFIP协议、RARP协议和NFS文件系统的实现。
12.tools: 该目录下保存着用于生成uboot的工具,包括mkimage、crc、Makefile和boards.cfg配置文件。

三、uboot工作模式
uboot的工作模式有启动加载模式和下载模式
1.启动加载模式
该模式是Bootloader的正常工作模式,嵌入式产品发布时,Bootloader必须工作在这种模式下,Bootloader将嵌入式操作系统从flash中加载到SDRAM中运行,整个过程是自动得。
2.下载模式
该模式就是Bootloader通过某些通信手段将内核映像或根文件系统映像等从PC机中下载到目标版得flash中。用户可以利用Bootloader提供的一些命令接口来完成自己想要得操作。

四、uboot启动流程
uboot启动内核的过程可以分为两个阶段,两个阶段的功能如下:
1.第一阶段功能 :
硬件设备初始化
加载uboot第二阶段代码到RAM空间
设置好栈
跳转到第二阶段代码入口
2.第二阶段的功能
初始化本阶段使用的硬件设备
检测系统内核映射
将内核从flash读取到RAM中
微内核设置启动参数
调用内核
第一阶段对应的文件是/arch/arm/cpu/armv7目录下得start.S和lowlevel_init.S文件。
第二阶段对应得文件是common/board_r.c
————————————————
版权声明:本文为CSDN博主「皮皮猪o」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43216826/article/details/106893270

从0移植uboot (二) _启动流程分析
添加链接描述

【Linux】U-Boot启动文件start.S详解(超详细讲解,上篇)
添加链接描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 11:54:30  更:2021-08-16 11:56:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:16:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码