文档介绍:嵌入式操作系统
陈香兰
******@ustc.
助教:陈博、李春华
Spring 2009
SkyEye及其安装和使用
SkyEye简介
SkyEye的安装和使用
安装
运行hello
编译并运行Linux
11/14/2017
2
基于arm9的Linux OS
SkyEye简介
SkyEye是一个开源软件项目,中文名字是“天目”。
SkyEye的起源和发展
陈渝:做一个用软件实现的嵌入式开发硬件模拟器,可以在模拟器上运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统
Skyeye的网站:
11/14/2017
3
基于arm9的Linux OS
SkyEye的目标:在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟多种主流的嵌入式计算机系统。
目前可在SkyEye上运行的系统有:
1)多种嵌入式操作系统,如ARM Linux、μClinux、μC/OS-II、elastos2)各种系统软件,如嵌入式TCP/IP协议栈-lwIP,图形子系统-MiniGUI等
可对上述软件系统进行源码级的分析、调试和测试。
11/14/2017
4
基于arm9的Linux OS
SkyEye模拟硬件介绍
目前,SkyEye模拟了大量的硬件,包括CPU内核、存储器、存储器管理单元、缓存单元、串口、网络芯片、时钟等
CPU和开发板系列:
目前SkyEye可以模拟的CPU主要是基于ARM内核的CPU,包括ARM7TDMI,ARM720T, ARM9TDMI,ARM9xx,ARM10xx,StrongARM,XScale等
11/14/2017
5
基于arm9的Linux OS
目前SkyEye模拟的开发板包括
基于Atmel 91X40/AT91RM92 CPU的开发板,基于Crirus Logic ep7312的开发板、基于StrongARM CPU的ADSBITSY开发板,基于XScale PXA250 CPU的LUBBOCK开发板、基于SAMSUNG S3C4510B/S3C44B0 CPU的开发板、基于SHARP LH7A400 CPU的开发板、基于Philip LPC22xx CPU的开发板等。
主要模拟了对应各个开发板的串口、时钟、RAM、ROM、LCD、网络芯片等硬件外设。
11/14/2017
6
基于arm9的Linux OS
11/14/2017
7
基于arm9的Linux OS
存储器管理单元和缓存单元
MMUMemory Management Unit,存储器管理单元,是用来管理虚拟内存系统的硬件。
MMU的两个主要功能是:1)将虚地址转换成物理地址;2)控制存储器的存取权限。
MMU关掉时,虚地址直接输出到物理地址总线
11/14/2017
8
基于arm9的Linux OS
TLB,Translation Lookaside Buffers在MMU中,存放从虚拟地址到物理地址的匹配表
保存的内容包括:虚址及其对应的物理地址,权限,域和映射类型。
当CPU对一虚拟地址进行存取时,首先搜索TLB表以查找对应的物理地址等信息,如果没有查到,则进行查找translation table,称为Translation Table Walk(简称TTW)。经过TTW过程后,将查到的信息保存到TLB。然后根据TLB表项的物理地址进行读写。
11/14/2017
9
基于arm9的Linux OS
CACHE,缓存单元主要用于缓存内存中的数据,其读写速度远快于内存的读写速度,所以可以提高CPU的内存数据的访问效率。
write/read buffer硬件单元write/read buffer硬件单元的作用与CACHE的作用类似。
11/14/2017
10
基于arm9的Linux OS