系统移植基础

系统移植

开发板启动流程

在这里插入图片描述

  • 开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等…)进行初始化,然后再检测拨码开关位置获取启动方式然后再将对应存储器中的uboot搬移到内存然后跳转到uboot运行
  • uboot开始运行后首先对开发板上的软硬件环境做进一步初始化然后将linux内核、设备树(dtb)、根文件系统(rootfs)从外部存储器(或网络)搬移到内存,然后跳转到linux运行
  • linux开始运行后先对系统环境做初始化,当系统启动完成后,Linux再从内存中(或网络)挂载根文件系统

系统移植步骤

  • uboot移植
  • linux内核移植(包含设备树)
  • 根文件系统移植

网络环境配置

C:\Users\asus\Desktop\新建文件夹\资料\嵌入式\笔记\study\lv9-系统移植\环境搭建

tftp

  • 即简单文件传输协议是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69

nfs

  • 即网络文件系统,其基于UDP/IP使用nfs能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样。

BootLoader

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

  • Bootloader基本功能

    • 初始化软硬件环境
    • 引导加载linux内核
    • 给linux内核传参
    • 执行用户命令
  • bootloader是启动引导程序的统称,嵌入式linux常用的bootloader是uboot

常见的Bootloader

Bootloader Monitor 描述 X86 ARM PowerPC
LILO Linux磁盘引导程序
GRUB GNU的LILO替代程序
Loading 从DOS引导linux
ROLO 从ROM引导linux而不需要BOIS
Etherboot 通过以太网卡启动linux系统的固件
LinuxBOIS 完全替代BUIS的linux引导程序
BLOB LART等硬件平台的引导程序
U-boot 通用引导程序
RedBoot 基于eCos的引导程序
Vivi Mizi公司针对于三星的arm cpu设计的引导程序

SD卡启动盘制作

[C:\Users\asus\Desktop\新建文件夹\资料\嵌入式\笔记\study\lv9-系统移植\环境搭建](实验4 SD卡启动盘制作.pdf)

SD卡存储结构

  • SD卡的存储以扇区为单位,每个扇区的大小为512Byte, 其中零扇区存储分区表(即分区信息),后续的扇区可自行分区和格式化;
  • 若选择SD卡启动,处理器上电后从第一个扇区开始将其中的内容搬移到内存,所以我们把uboot放到从第一个扇区开始之后的空间, 之后的空间根据个人需求可进行分区和格式化

  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值