LV.10 系统移植
2022-01-01 18:28:53 0 举报
AI智能生成
系统移植
作者其他创作
大纲/内容
嵌入式系统分层
安装系统:在基于ARM处理器的开发板上安装Linux系统
课程内容
(软件和硬件的匹配)不同架构的处理器指令不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容
移植的目的
1.知识面广
2.应用广泛
3.实验性强
课程特点
配置、编译、安装
思维方式
重实验、轻细节。把握整体思路,建立通用思维
学习方法
在最短的时间内学会最有用的东西
课程实际原则
系统移植课程
1.准备Windouws系统镜像、U盘启动盘
2.进入BIOS选择启动方式(U盘启动)
3.通过U盘中的引导程序安装系统
4.安装Windows驱动程序
5.安装Windows应用程序
Windows装机
系统移植过程
开发板启动过程
uboot移植
Linux内核移植(包含设备树)
根文件系统移植
D1 嵌入式系统移植导学
实验1 ubuntu网络环境配置.pdf
ubuntu网络环境配置
实验2 tftp服务器环境搭建.pdf
tftp网络服务器环境搭建
实验3 nfs服务器环境搭建.pdf
nfs服务器环境搭建
D2 交叉编译环境搭建
在操作系统运行之前运行的一小段代码,用于将软硬件环境初始化到一个合适的状态,为操作系统的加载和运行做准备(其本身不是操作系统)
Bootloader
初始化软硬件环境
引导加载linux内核
给linux内核传参
执行用户命令
Bootloader基本功能
常见的Bootloader
uboot概述
SD卡存储结构
SD卡启动盘制作
自启动模式:uboot启动后若没有用户介入,倒计时结束后会自动执行自启动 环境变量(bootcmd)中设置的命令(一般作加载和启动内核)
交互模式:倒计时结束之前按下任意按键uboot会进入交互模式,交互模式下 用户可输入uboot命令
uboot模式
help:查看uboot支持的所有命令
help [命令]:查看当前命令的使用方法
uboot帮助命令
printenv:打印uboot中所有的环境变量
setenv:设置指定的环境变量(保存在RAM中)setenv 环境变量 环境变量的值
saveenv:保存所有环境变量到EMMC中
uboot环境变量命令
ipaddr:uboot的IP地址
serverip:服务器的IP地址(即ubuntu的IP)
bootdelay:进入自启动模式之前倒计时的秒数
uboot常用环境变量
loadb:通过Kermit协议下载文件到指定的内存地址 loadb 地址
tftp:通过tftp协议下载文件到指定的内存地址 tftp 地址 文件名
uboot网络传输命令
mmc read:将EMMC中指定扇区中的内容读取到内存中指定的地址
mmc write:将内存中指定地址中的内容写入到EMMC中指定的扇区
uboot存储器访问命令
bootcmd:自启动的环境变量 该环境变量可以设置成一到多个uboot命令的集合(若有多个使用\\;分割)
uboot自启动环境变量
uboot的使用
D3 uboot的烧写及使用
tftp加载Linux内核及rootfs
EMMC加载Linux内核及rootfs
tftp加载Linux内核挂载rootfs
EMMC加载uboot
实验5 Linux内核的安装与加载.pdf
D4 Linux内核的安装与加载
编译原理
GCC编译过程
程序的编译和运行不在同一台机器上
交叉编译
交叉编译工具链的获取
交叉编译工具链的内容
交叉编译工具链
介绍
ELF文件格式
file + 文件名 查看文件的详细信息
file
readelf -h + 文件名 列出elf文件的头部信息readelf -a + 文件名 列出elf文件的所有信息
readelf
ELF文件相关命令
简介
BIN文件格式
size + 文件名列出目标文件每一段的大小以及总体的大小
size
nm + 文件名列出目标文件中的符号表(标示符)
nm
strip + 文件名丢弃目标文件中的符号
strip
从目标文件中显示信息eg:objdump -d + 文件名 将目标文件反汇编(机器码->汇编)
objdump
对目标文件进行复制和转换eg:objcopy --gap-fill=0xff -O binary a.out a.bin 将目标文件转换为bin格式
objcopy
交叉编译工具链常用工具
D5 交叉编译工具链
uboot源码获取
uboot特点
平台相关代码
平台无关代码
配置文件、帮助文档、示例程序、工具等
uboot源码结构
1.指定当前使用的硬件平台
2.指定编译uboot源码使用的编译器
uboot配置
1.编译uboot
2.清除编译过程中生成的中间文件
uboot编译
uboot的配置与编译
实验6 u-boot-2013.01移植.pdf
D6 uboot移植
内核是一个操作系统的核心,提供了操作系统最基本的功能,是操作系统工作的基础,决定着整个系统的性能和稳定性
内核
操作系统是在内核的基础上添加了各种工具集、桌面管理器、库、shell、应用程序等
操作系统
Linux层次结构
LInux内核特点
Linux内核概述
Linux内核源码获取
帮助文档、示例程序、工具等
Linux内核源码结构
LInux内核源码结构
1. 指定处理器架构及编译工具
2. 导入当前处理器的默认配置
3. 修改配置
配置
修改配置
make menuconfig
make uImage :编译内核(编译选为“*”的选项到内核)
make modules :编译内核模块(编译选为“M”的选项为独立模块)
make dtbs:编译设备树(将设备树源文件dts编译为二进制文件dtb)
make clean:删除编译过程中产生的中间文件
内核编译
实验7 Linux内核移植.pdf
Linux内核的配置与编译
D7 Linux内核移植
设备树
设备树文件
设备树语法
实验8 网卡驱动移植.pdf
网卡驱动移植
D8 Linux设备驱动移植
内容
根文件系统
获取
BusyBox
实验9 根文件系统移植.pdf
D9 根文件系统移植
LV.10 系统移植
0 条评论
回复 删除
下一页