嵌入式,uboot基础

简介: 一个嵌入式系统从软件角度划分三个层次:引导加载程序boot和bootloader                                                                   linux内核             ...

一个嵌入式系统从软件角度划分三个层次:引导加载程序boot和bootloader

                                                                  linux内核

                                                                  文件系统

bootloader在操作系统运行之前运行的一段小程序,可以初始化硬件设备,为调用硬件设备做好准备

bootloader启动可以分为单阶段和多阶段,一般多采用两阶段

                 stage1完成硬件初始化,为stage2准备RAM,准备堆栈,跳转到stage入口

                 stage完成本阶段硬件初始化,加载内核文件和跟文件系统,条用内核

bootloader有两种工作模式:下载模式和启动模式

uboot是用于支持嵌入式cpu的bootloader程序,下载地址ftp://ftp.denx.de/pub/u-boot/

uboot目录:board   和开发板有关的文件

                   conmmon实现uboot支持的命令

                   cpu与特定的cpu架构相关的代码

uboot.bin的生成:选择要使用的board       make   smdk6410_config

                            编译                               make   CROSS_COMPILE=arm-linux-

uboot命令:help             查看当前版本支持的命令

                     printenv      查看环境变量

                     setenv   name  value   添加环境变量

                     saveenv       保存环境变量

                     nand  flash  查看flash

                     nand  erase  start   length      擦除flash

                     nand  write  内存  flash           写入flash

                     nand  read  内存  flash           读出flash

                     go  addr                                   执行二进制代码

                     bootm  addr                             执行内存的二进制代码

相关文章
|
安全 算法 编译器
【C++ 泛型编程 入门篇】 C++ 模板元编程之枚举内嵌 实战教程
【C++ 泛型编程 入门篇】 C++ 模板元编程之枚举内嵌 实战教程
438 0
|
Linux Shell 数据安全/隐私保护
使用 useradd 命令创建新用户
在Linux中创建新用户使用`useradd`命令。打开终端,以`sudo`运行`useradd [选项] 用户名`创建用户,如`sudo useradd newuser`。接着,使用`sudo passwd newuser`设置密码。要添加用户到其他组,如`sudo`组,用`sudo usermod -aG sudo newuser`。验证用户创建可执行`id newuser`。更多配置选项可查看`man useradd`或`useradd --help`。
891 3
|
存储 关系型数据库 MySQL
TiDB中的数据类型详解
【2月更文挑战第29天】TiDB支持多种数据类型:整数(TINYINT到BIGINT)、浮点(FLOAT, DOUBLE)、定点(DECIMAL)、字符串(CHAR, VARCHAR, TEXT)、日期时间(DATE, TIME, DATETIME, TIMESTAMP)、二进制(BINARY, VARBINARY, BLOB)以及枚举和集合(ENUM, SET)。正确选择数据类型对存储、查询和性能至关重要。
2188 1
|
弹性计算 开发工具 git
GitLab的安装及使用教程
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目,与Github类似。本篇教程将教你如何安装部署及使用GitLab。
132627 1
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
抖音封号是什么原因造成的?
抖音封号的技术逻辑与风控体系解析
|
传感器 人工智能 自然语言处理
比亚迪座舱接入通义大模型,未来将联合打造更多AI智能座舱场景
比亚迪与阿里云深度合作,将通义大模型应用于智能座舱和营销服务。通过通义万相,腾势推出“AI壁纸”功能;借助通义星尘,实现“心理伴聊”等情感陪伴场景。阿里云Mobile-Agent智能体落地比亚迪座舱,支持复杂语音操作,如查询淘宝物流、订火车票等。该方案基于全视觉解决技术,具有强泛化能力,未来双方将持续拓展更多AI应用。
1542 9
|
8月前
|
人工智能
提示工程:与你AI伙伴高效沟通的艺术
提示工程:与你AI伙伴高效沟通的艺术
376 2
|
10月前
|
存储 Ubuntu Linux
U盘安装Ubuntu20.04系统
以上就是分享的乌班图Ubuntu20.04桌面版安装教程,其实Ubuntu系统和Windows系统安装的方式基本差不多,安装方法大同小异,如果会安装Windows系统,那么Ubuntu系统基本看一遍就可以学会了,希望大家喜欢,请继续关注我的白家号了
|
IDE Java Maven
排查maven 冲突及解决方式
【9月更文挑战第25天】在开发过程中,Maven 冲突可能导致多种问题。本文介绍排查方法:查看错误日志中的提示信息;使用 `mvn dependency:tree` 命令检查依赖树;利用 IDE 工具进行依赖分析。解决冲突的方式包括:排除依赖、手动指定版本、更新依赖以及使用 Maven 插件如 Maven Enforcer Plugin 强制依赖一致性。处理时需确保项目稳定与兼容。
1758 2
|
Ubuntu
ubuntu 安装 virt-manager 虚拟机
ubuntu 安装 virt-manager 虚拟机
1265 1

热门文章

最新文章