嵌入式开发之Linux系统移植1-引导启动过程

举报
神龙居市 发表于 2022/03/08 22:58:01 2022/03/08
【摘要】 1.移植目的不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容。Linux是一个通用的内核并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取Linux源码后我们要先经过相应的配置使其与我们当前的硬件平台相匹配后才能进行编译和安装。 2.Windows系统和嵌入式Linux系统移植比较 2.1.Windows系统安装1.准备Windows系统镜像、U盘启动...

1.移植目的

不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容。
Linux是一个通用的内核并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取Linux源码后我们要先经过相应的配置使其与我们当前的硬件平台相匹配后才能进行编译和安装。

2.Windows系统和嵌入式Linux系统移植比较

2.1.Windows系统安装

1.准备Windows系统镜像、U盘启动盘
2.进入BIOS选择启动方式(U盘启动)
3.通过U盘中的引导程序安装系统
4.安装Windows驱动程序
5.安装Windows应用程序

2.2.嵌入式Linux移植

1.准备Linux内核镜像、SD卡启动盘
2.通过拨码开关选择启动方式(SD启动)
3.通过SD卡中的引导程序安装系统
4.安装Linux驱动程序
5.安装Linux应用程序

3.嵌入式开发板启动过程

image.png

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

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

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

系统移植步骤

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

环境准备

  • Windows PC 安装Ubuntu虚拟机
  • SD卡一张
  • 有EMMC和SD卡扩展的ARM开发板一个,有网线

具体操作步骤,待续

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200