系统移植简介

系统移植涉及在ARM硬件平台上安装Linux,包括内核、驱动和应用软件的适配。学习过程中注重配置、编译和安装的整体思路,通过Uboot初始化环境,加载内核和根文件系统。文章强调了由于硬件差异,需要定制化Linux系统以匹配硬件设备,且介绍了Uboot在启动和引导操作系统中的关键作用。

  • 系统移植基础知识
  1. 嵌入式系统分层

硬件(ARM)、操作系统(Linux)、应用软件

  1. 硬件层:是基础的硬件模块、比如我们用到的ARM、IIC、LED灯等都属于硬件层的东西。具体被软件控制的单元。
  2. 操作系统:我们使用的Linux系统、Windous等。在硬件层的基础上实现进程管理、内存管理、设备管理等,并且可以给应用软件层提供API接口。
  3. 应用软件:操作系统之上的应用程序。IO编程、网络编程、QT设计的软件,需要调用操作系统提供的API进行程序设计、设计完成之后在操作系统上运行。
  1. 课程内容

系统移植课程可以简单的理解为,在ARM处理器的开发板上(硬件平台),安装Linux系统。就像我们平时在电脑主板上安装Windous系统一样。

  1. 移植的目的

学ARM课程时,讲过我们使用的不同处理器,他的指令集是不兼容的,即便我们使用相同的处理器,不同产品的板卡所使用的驱动代码也不兼容,比如你使用A型号声卡、我使用B型号的声卡,那我们的驱动程序也会有区别。这就导致我们不能够像Windous一样直接安装通用系统就行了,嵌入式开发中,我们需要对Linux系统进行定制化处理,换句话说就是匹配我们使用的硬件层设备。

Linux是一个通用的内核但不是某个特定处理器或者说板卡专用系统,所以我们从官网获取到的Linux源码需要我们结合自己实际硬件设备(板卡)进行配置,才能够编译和安装。

  1. 课程特点及如何学习

特点:应用广泛(像医疗、军事、航空航天等,生活中随处可见嵌入式系统)

学习:

思维方式:配置、编译、安装(结合我们自己实际的硬件设备进行配置、配置好之后进行编译、编译完成进行安装)

学习方法:重方法、轻细节。把握整体思路、建立通用思维。(重点学会移植的方法、建立通用思维之后在以后的工作中再扣细节的东西)

原则:最短的时间学习最有用的东西。

  1. 系统移植过程

  1.准备Linux内核镜像、SD卡启动盘

  2.通过拨码开关选择启动方式(SD启动)

  3.通过SD卡中的引导程序安装系统

  4.安装Linux驱动程序

  5.安装Linux应用程序

  1. 开发板启动过程

开发板上电(复位)之后,首先运行SOC内部的IROM中固化好的代码(BL0),这段代码对基本的软硬件环境(时钟、堆栈等)进行初始化,之后检测拨码开关的位置(不同的硬件设备表现形式不一样,但是目的都是对不同的引脚进行配置)获取启动方式,之后将对应存储器中的Uboot搬移到内存中,然后跳转到Uboot运行。

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

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

  1. 总结-(系统移植步骤)

uboot移植

linux内核移植(包含设备树)

根文件系统移植

  • Uboot概述

Bootloader简介

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

 基本功能:

  初始化软硬件环境

引导加载Linux内核

给Linux内核传参

执行用户命令

 

为什么使用Uboot

Uboot需要解决的问题

  1. 自己能开机启动
  2. 能引导操作系统内核启动并给内核传参
  3. 供系统部署功能
  4. 能进行SOC级和板级硬件
  5. Uboot生命周期

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值