嵌入式系统及其操作系统移植
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
File System Networking
Kernel
Application
Browser / GUI
Application
Java Advanced Interconnect
Windows API
Advanced Networking
Networking Utility Memory Management
创建帐号及密码文件 创建profile文件 创建fstab文件
。。。
THANKS
谢谢!
件件,它之是间嵌的入中式间系层统次(。包括硬、软件
Boot Loader
I/O System系硬统件)抽极象为层重通要过的特组RT定成O部S l分ibr,ar通ies常 包的括上与层硬接件口相与关操的作底系层驱动软件、
系统统进内行核交、互设,备向驱操动作接口、通信协
File SystemHardware AbstracRtiToOn SLaKyeer议Brn:er系信、olBw统息图SsP提,形e&r供并D等界e底根面vic层据、e 的操标Dr硬作准ivTe件系化Cr P浏/IP览S器tack
所有的智能手 机 PAD 小米手环
四旋翼飞机 扫地机器人 机械义肢
Chapter
2
硬件构成及运行原理
2.0
CPU
01
INTERFACE
WORKING PRINCIPLE
03
05
02
04
MEM
DEVICE
2.1 CPU
CPU是一个嵌入式系统的 核心,对系统的性能有很 大的影响。
ARM/MIPS: S3C24xx,STM32,Raspberry Pi
•Skyeye skyeye-1.2-RC8-3.tar.bz2
•toolchain cross-2.95.3.tar.bz2,也可以使用gcc,gdb,glibc,binutils等工具自己编译产生。 •binuils binutils-2.16.tar.gz
•gcc gcc-3.4.4.tar.bz2
每种不同的CPU体系结构都有不同的BootLoader。 启动加载(Boot loading)模式 下载(Downloading)模式
BootLoader 01
02 Kernel
rootFS 03
• 修改Makefile • 设置PATH环境变量,使其可以找到交叉编译工具链 • 设置flash分区 • 。。。
Linux 内核
设备驱动的编写
BLOB 引导程序
嵌入式Linux系统软件平台结构图
Linux内核的组成
虚拟文件系统 逻辑文件系统 硬件驱动程序
内存管理 硬件无关 硬件相关
进程调度
网络 网络协议 硬件驱动程序
进程间通讯
图示符号 子系统 子系统层 依赖关系
用户应用程序(GUI)
QT图形界面的建立
Rootfs 根文件系统
嵌入式系统及其操作系统移植
目录
1
嵌入式系统定义
2
硬件构成及工作原理
3
软件构成
4
移植概述
Chapter
1
嵌入式系统
什么是嵌入式系统?
• 嵌入到特定对象体系中 的专用计算机系统
集成度高 非标准化 接口复杂多样
典型应用 工控
服务 业
PDA
机器 人
飞控 机控 监测
导航终端 Smarthom e 远程呼叫
配置内核产生.config文件 。。。
make menuconfig 。。。 编译内核,生成zImage
。。。
下载zImage到开发板
BootLoader 01
02 Kernel
rootFS 03
• 建立一个目标板的空根目录 • 建立Linux目录树 • 创建linuxrc文件
挂载/etc为ramfs, 并从/mnt/etc下拷贝文件到/etc目录当中 挂载/proc为proc文件系统 挂载/sys为sysfs文件系统 。。。 挂载其他文件系统 。。。 • 相关配置文件的创建
•
t-linux.diff 作用:修改gcc一处bug
•其他工具 busybox-1.1.3.tar.gz
4.2 移植三部曲
BootLoader 01
02 Kernel
rootFS 03
•BootLoader是系统加电启运行的第一段软件代码,PC机中的引导加载程序由BIOS(其本质就是一段固件 程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导 程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上 读到RAM中 然后跳转到内核的入口点去运行,也即开始启动操作系统。
SCSI Driver
Flash Driver
MMU Driver
Cache 统的要Se求ria完l 成对E硬the件rnet
Driver
D的ri直ve接r 操作Driver
Device Drivers
2021/1/27
3.2嵌入式操作系统的演变
Application Kernel
10%*
Application
MCU: AT89xx,STC89xx FPGA: Cyclone
DSP: EPM7128
运算器
控制器 CPU 寄存器
数据总线 地址总线
ROM
RAM
2.2 MEM
RAM: SRAM,DRAM
ROM: EPROM,EEPROM
FLASH: Nor FLASH,Nand FLASH
运算器
控制器 CPU 寄存器
流程是解释任务的;
程序(高级语言)是解释 流程的;
指令是解释程序的;
微程序是解释指令的; 而门电路直接反映了微程序的意志。
2.5.3 接口技术/三总线的应用
这是一个8086利用3-8译码器控制DA芯片输出特定波形的系统。从图中可以看出,74LS138对 于8086来说,端口地址是C0H~C3H(地址线)。
控制线IO/M参与地址译码,地址线A0,A1悬空,导致 地址复用。(C0H~C3H都对应74LS138)
将74LS138的地址改为C0H
A1 A0
Chapter
3
软件构成
嵌入式应用程序运行于操作系统之上,利用操作系统提供的机制完
3.1 嵌入式系统结构成特定功能的嵌入式应用,不同的系统需要设计不同的嵌入式应用
免费,实时性 好,方便移植
双内核改进方案
Red-Linux KURT
MV-Linux
RTAI-Linux
RT-Linux
开源 免费 支持剪裁
用户应用程序(GUI)
QT图形界面的建立
Rootfs 根文件系统
JFFS2,YAFFS,TMPFS
Linux 内核
设备驱动的编写
BLOB 引导程序
嵌入式Linux系统软件平台结构图
运算器
控制器 CPU 寄存器
数据总线 地址总线
ROM
RAM
SRAM接口电路 ——IS61LV25616
➢ 容量:512K字节; ➢ 数据宽度:16位; ➢ 工作电压:3.3V;
IS61LV25616
2.4 DEVICE
传感器是直接与物理世界接触的感知器件,连接了片内数字世界与外部的 物理世界。是嵌入式系统的“感官”。
3.4主流嵌入式操作系统
价格较贵,实 时性一般
嵌入式操作系统的选择
价格昂贵,实 时性好
免费,实时性较差
性能稳定,硬件
需求小 ,可剪裁 免费,实时性 好,过于简单
WinCE
Vxworks
价格较贵,实时性 好,不方便移植
单内核改进方案
Linux
µ C/OS-Ⅱ
进行实时性改进
不免费,实时性 好,方便移植
3.3嵌入式操作系统分类
➢ 从应用领域来分 实时嵌入式操作系统的种类繁多,大体上可分为两种:
面向信息家电的嵌入商式用型操和作免系费型统。
面向智能手机的嵌入式操作系统,如SymbianOS、MS 操作系M统 ob的 ile分O类 S、:P按al实 ml时 O商S性用、分 型E的m实b时e操dd作e系d统L功in能u稳 x等定、可靠,有完善的技术支持
和售后服务,但往往价格昂贵。
按实➢时从性 面面的 实向向强汽工时弱车业性分电控的类子制:角的的度嵌嵌来入入目、式式分前Pa商l操操m用作作O型S、系系的O操S统统-作9、系L统yn主xO要S、有QVNxXW、orLkYsN、X等Wi;ndows CE 、Psos
Ø 强 机(床硬)); 实 实N时u时系c…l统 嵌ea…, 入r、其 式…O系 操.S统作E响 、系应 D统F 且e时优:l提t间 a点具供O在:了 S有毫 功 、如强秒 能各图实或 稳形 种时微 定用IT特、 秒户R点可 级 O界靠 N,( 面,O数 如和有 S控 网 V等完 x络W。善支o的持rk技等s术 、高支Q端持 N嵌X和入、售式后系服统务要,求而的
从嵌入式系统的商业模式来分类 Ø 一 , 询般 其 )➢实 实 。时 时 非系 性实统 的要 , 时求 其 嵌比 系 入强 统 式实 响操时 应作系 时系许 F统 间缺统多要 在点:高差 毫:级 一一 秒 价功般些 - 格能只( 几 昂; 具电 秒 贵有且 子 的弱源 菜 数代 实谱 量码的 级 时封查 上 特闭点性,,如这W大i大nC限E制、了版开发者的积
数据总线 地址总线
ROM
RAM
寄存器
高速缓存 SRAM
主存储器 DRAM
本地存储器 Flash、 ROM、磁盘
网络存储器 Flash、 ROM、磁盘
0
时
钟 周
1—10
期
50—100
20000000
2.3 INTERFACE/BUS
BUS三总线解构: Dbus:数据总线 Abus:地址总线 Cbus:控制总线
•glibc glibc-2.3.5.tar.gz glibc-linuxthreads-2.3.5.tar.gz
•gdb gdb-5.2.tar.bz2
•u-boot u-boot1.1.4.tar.bz2 •Batch(补丁)
•
ioperm.c.diff 作用:打修正ioperm()函数
•
flow.c.diff 作用:该补丁用于产生crti.o和crtn.o文件
程序。它是整个系统功能中的间体件现位,于系操统作的系能统力和总应是用通软过件应之用间程,序表
现出来。一个嵌入式系统屏可蔽简了单各的种没操有作支系撑统软提件供,不甚同至应没用有程操序作系
统,但却不能没有应用软接件口,的否事则实它,就向不应能用成程为序一提个供系统统一。的接
Hardw口也ar,使e I从应nd而用ep便程en于序支de有是用具持nt时一户有嵌S也o个开跨入ft叫介发平w式a板于应台系re级硬用的统支件程特应持与序性用包软,。的,同操时作系统软
Ø 弱 程(机软械)) 实 本商时众系 用统 多型, 的:其 嵌功系 入统能式响L稳i应n极定u时x性间 、、。约P可a为l靠m数O,十S秒 有等或。完更善长的(工技术支持和售后服
1
务,开发费用+版税。
开源型:开放源码,只收服务费,没有版税。 如 Embedded linux,RTEMS,eCOS。 1
BootLoade r
Vivi
Uboot
Redboot
Blob
支持串口下 载功能,代
码量小
支持串口,网 络下载功能,
代码量大
支持串口,网 络下载功能, 代码量最大
支持串口, 网络下载功 能,代码量
小
用户应用程Fra Baidu bibliotek(GUI)
QT图形界面的建立
Rootfs 根文件系统
JFFS2,YAFFS,TMPFS
地磁传感器
温度传感器
湿度度传感器 加速度传感器
2.5运行原理
2.5.1 cpu内部运行原理
注意: (1)这幅图使用于 CISC解构的冯·洛伊 曼机。 (2)此时的程序是 编译后的机器码,可 以理解为汇编指令。 (3)微程序控制方 式
2.5.2 微程序控制的指令运行
微程序是计算机里 面的“第一推动力”。
JFFS2,YAFFS,TMPFS
Linux 内核
设备驱动的编写
BLOB 引导程序
嵌入式Linux系统软件平台结构图
ARM上Linux的文件系统设计
根文件系统:CRAMFS 用户文件系统:YAFFS 临时文件系统:Ramfs
Chapter
4
移植概述
4.1准备阶段
•linux kernel linux-2.6.14.1.tar.gz
Distributed Objects Fault Tolerance
90%*
Multiprocessing 75%* Multiprocessing
30%*
File System Networking
File System Networking
Kernel
Kernel
*Percent of total software supplied by RTOS vendor in a typical embedded device
Kernel
Application
Browser / GUI
Application
Java Advanced Interconnect
Windows API
Advanced Networking
Networking Utility Memory Management
创建帐号及密码文件 创建profile文件 创建fstab文件
。。。
THANKS
谢谢!
件件,它之是间嵌的入中式间系层统次(。包括硬、软件
Boot Loader
I/O System系硬统件)抽极象为层重通要过的特组RT定成O部S l分ibr,ar通ies常 包的括上与层硬接件口相与关操的作底系层驱动软件、
系统统进内行核交、互设,备向驱操动作接口、通信协
File SystemHardware AbstracRtiToOn SLaKyeer议Brn:er系信、olBw统息图SsP提,形e&r供并D等界e底根面vic层据、e 的操标Dr硬作准ivTe件系化Cr P浏/IP览S器tack
所有的智能手 机 PAD 小米手环
四旋翼飞机 扫地机器人 机械义肢
Chapter
2
硬件构成及运行原理
2.0
CPU
01
INTERFACE
WORKING PRINCIPLE
03
05
02
04
MEM
DEVICE
2.1 CPU
CPU是一个嵌入式系统的 核心,对系统的性能有很 大的影响。
ARM/MIPS: S3C24xx,STM32,Raspberry Pi
•Skyeye skyeye-1.2-RC8-3.tar.bz2
•toolchain cross-2.95.3.tar.bz2,也可以使用gcc,gdb,glibc,binutils等工具自己编译产生。 •binuils binutils-2.16.tar.gz
•gcc gcc-3.4.4.tar.bz2
每种不同的CPU体系结构都有不同的BootLoader。 启动加载(Boot loading)模式 下载(Downloading)模式
BootLoader 01
02 Kernel
rootFS 03
• 修改Makefile • 设置PATH环境变量,使其可以找到交叉编译工具链 • 设置flash分区 • 。。。
Linux 内核
设备驱动的编写
BLOB 引导程序
嵌入式Linux系统软件平台结构图
Linux内核的组成
虚拟文件系统 逻辑文件系统 硬件驱动程序
内存管理 硬件无关 硬件相关
进程调度
网络 网络协议 硬件驱动程序
进程间通讯
图示符号 子系统 子系统层 依赖关系
用户应用程序(GUI)
QT图形界面的建立
Rootfs 根文件系统
嵌入式系统及其操作系统移植
目录
1
嵌入式系统定义
2
硬件构成及工作原理
3
软件构成
4
移植概述
Chapter
1
嵌入式系统
什么是嵌入式系统?
• 嵌入到特定对象体系中 的专用计算机系统
集成度高 非标准化 接口复杂多样
典型应用 工控
服务 业
PDA
机器 人
飞控 机控 监测
导航终端 Smarthom e 远程呼叫
配置内核产生.config文件 。。。
make menuconfig 。。。 编译内核,生成zImage
。。。
下载zImage到开发板
BootLoader 01
02 Kernel
rootFS 03
• 建立一个目标板的空根目录 • 建立Linux目录树 • 创建linuxrc文件
挂载/etc为ramfs, 并从/mnt/etc下拷贝文件到/etc目录当中 挂载/proc为proc文件系统 挂载/sys为sysfs文件系统 。。。 挂载其他文件系统 。。。 • 相关配置文件的创建
•
t-linux.diff 作用:修改gcc一处bug
•其他工具 busybox-1.1.3.tar.gz
4.2 移植三部曲
BootLoader 01
02 Kernel
rootFS 03
•BootLoader是系统加电启运行的第一段软件代码,PC机中的引导加载程序由BIOS(其本质就是一段固件 程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导 程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上 读到RAM中 然后跳转到内核的入口点去运行,也即开始启动操作系统。
SCSI Driver
Flash Driver
MMU Driver
Cache 统的要Se求ria完l 成对E硬the件rnet
Driver
D的ri直ve接r 操作Driver
Device Drivers
2021/1/27
3.2嵌入式操作系统的演变
Application Kernel
10%*
Application
MCU: AT89xx,STC89xx FPGA: Cyclone
DSP: EPM7128
运算器
控制器 CPU 寄存器
数据总线 地址总线
ROM
RAM
2.2 MEM
RAM: SRAM,DRAM
ROM: EPROM,EEPROM
FLASH: Nor FLASH,Nand FLASH
运算器
控制器 CPU 寄存器
流程是解释任务的;
程序(高级语言)是解释 流程的;
指令是解释程序的;
微程序是解释指令的; 而门电路直接反映了微程序的意志。
2.5.3 接口技术/三总线的应用
这是一个8086利用3-8译码器控制DA芯片输出特定波形的系统。从图中可以看出,74LS138对 于8086来说,端口地址是C0H~C3H(地址线)。
控制线IO/M参与地址译码,地址线A0,A1悬空,导致 地址复用。(C0H~C3H都对应74LS138)
将74LS138的地址改为C0H
A1 A0
Chapter
3
软件构成
嵌入式应用程序运行于操作系统之上,利用操作系统提供的机制完
3.1 嵌入式系统结构成特定功能的嵌入式应用,不同的系统需要设计不同的嵌入式应用
免费,实时性 好,方便移植
双内核改进方案
Red-Linux KURT
MV-Linux
RTAI-Linux
RT-Linux
开源 免费 支持剪裁
用户应用程序(GUI)
QT图形界面的建立
Rootfs 根文件系统
JFFS2,YAFFS,TMPFS
Linux 内核
设备驱动的编写
BLOB 引导程序
嵌入式Linux系统软件平台结构图
运算器
控制器 CPU 寄存器
数据总线 地址总线
ROM
RAM
SRAM接口电路 ——IS61LV25616
➢ 容量:512K字节; ➢ 数据宽度:16位; ➢ 工作电压:3.3V;
IS61LV25616
2.4 DEVICE
传感器是直接与物理世界接触的感知器件,连接了片内数字世界与外部的 物理世界。是嵌入式系统的“感官”。
3.4主流嵌入式操作系统
价格较贵,实 时性一般
嵌入式操作系统的选择
价格昂贵,实 时性好
免费,实时性较差
性能稳定,硬件
需求小 ,可剪裁 免费,实时性 好,过于简单
WinCE
Vxworks
价格较贵,实时性 好,不方便移植
单内核改进方案
Linux
µ C/OS-Ⅱ
进行实时性改进
不免费,实时性 好,方便移植
3.3嵌入式操作系统分类
➢ 从应用领域来分 实时嵌入式操作系统的种类繁多,大体上可分为两种:
面向信息家电的嵌入商式用型操和作免系费型统。
面向智能手机的嵌入式操作系统,如SymbianOS、MS 操作系M统 ob的 ile分O类 S、:P按al实 ml时 O商S性用、分 型E的m实b时e操dd作e系d统L功in能u稳 x等定、可靠,有完善的技术支持
和售后服务,但往往价格昂贵。
按实➢时从性 面面的 实向向强汽工时弱车业性分电控的类子制:角的的度嵌嵌来入入目、式式分前Pa商l操操m用作作O型S、系系的O操S统统-作9、系L统yn主xO要S、有QVNxXW、orLkYsN、X等Wi;ndows CE 、Psos
Ø 强 机(床硬)); 实 实N时u时系c…l统 嵌ea…, 入r、其 式…O系 操.S统作E响 、系应 D统F 且e时优:l提t间 a点具供O在:了 S有毫 功 、如强秒 能各图实或 稳形 种时微 定用IT特、 秒户R点可 级 O界靠 N,( 面,O数 如和有 S控 网 V等完 x络W。善支o的持rk技等s术 、高支Q端持 N嵌X和入、售式后系服统务要,求而的
从嵌入式系统的商业模式来分类 Ø 一 , 询般 其 )➢实 实 。时 时 非系 性实统 的要 , 时求 其 嵌比 系 入强 统 式实 响操时 应作系 时系许 F统 间缺统多要 在点:高差 毫:级 一一 秒 价功般些 - 格能只( 几 昂; 具电 秒 贵有且 子 的弱源 菜 数代 实谱 量码的 级 时封查 上 特闭点性,,如这W大i大nC限E制、了版开发者的积
数据总线 地址总线
ROM
RAM
寄存器
高速缓存 SRAM
主存储器 DRAM
本地存储器 Flash、 ROM、磁盘
网络存储器 Flash、 ROM、磁盘
0
时
钟 周
1—10
期
50—100
20000000
2.3 INTERFACE/BUS
BUS三总线解构: Dbus:数据总线 Abus:地址总线 Cbus:控制总线
•glibc glibc-2.3.5.tar.gz glibc-linuxthreads-2.3.5.tar.gz
•gdb gdb-5.2.tar.bz2
•u-boot u-boot1.1.4.tar.bz2 •Batch(补丁)
•
ioperm.c.diff 作用:打修正ioperm()函数
•
flow.c.diff 作用:该补丁用于产生crti.o和crtn.o文件
程序。它是整个系统功能中的间体件现位,于系操统作的系能统力和总应是用通软过件应之用间程,序表
现出来。一个嵌入式系统屏可蔽简了单各的种没操有作支系撑统软提件供,不甚同至应没用有程操序作系
统,但却不能没有应用软接件口,的否事则实它,就向不应能用成程为序一提个供系统统一。的接
Hardw口也ar,使e I从应nd而用ep便程en于序支de有是用具持nt时一户有嵌S也o个开跨入ft叫介发平w式a板于应台系re级硬用的统支件程特应持与序性用包软,。的,同操时作系统软
Ø 弱 程(机软械)) 实 本商时众系 用统 多型, 的:其 嵌功系 入统能式响L稳i应n极定u时x性间 、、。约P可a为l靠m数O,十S秒 有等或。完更善长的(工技术支持和售后服
1
务,开发费用+版税。
开源型:开放源码,只收服务费,没有版税。 如 Embedded linux,RTEMS,eCOS。 1
BootLoade r
Vivi
Uboot
Redboot
Blob
支持串口下 载功能,代
码量小
支持串口,网 络下载功能,
代码量大
支持串口,网 络下载功能, 代码量最大
支持串口, 网络下载功 能,代码量
小
用户应用程Fra Baidu bibliotek(GUI)
QT图形界面的建立
Rootfs 根文件系统
JFFS2,YAFFS,TMPFS
地磁传感器
温度传感器
湿度度传感器 加速度传感器
2.5运行原理
2.5.1 cpu内部运行原理
注意: (1)这幅图使用于 CISC解构的冯·洛伊 曼机。 (2)此时的程序是 编译后的机器码,可 以理解为汇编指令。 (3)微程序控制方 式
2.5.2 微程序控制的指令运行
微程序是计算机里 面的“第一推动力”。
JFFS2,YAFFS,TMPFS
Linux 内核
设备驱动的编写
BLOB 引导程序
嵌入式Linux系统软件平台结构图
ARM上Linux的文件系统设计
根文件系统:CRAMFS 用户文件系统:YAFFS 临时文件系统:Ramfs
Chapter
4
移植概述
4.1准备阶段
•linux kernel linux-2.6.14.1.tar.gz
Distributed Objects Fault Tolerance
90%*
Multiprocessing 75%* Multiprocessing
30%*
File System Networking
File System Networking
Kernel
Kernel
*Percent of total software supplied by RTOS vendor in a typical embedded device