Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεἈρίσταρχος Χρηστόπουλος Τροποποιήθηκε πριν 9 χρόνια
1
SkyEye 介绍 xlanchen@2006.5.24
2
Embedded Operating Systems2 主要内容 SkyEye 简介 SkyEye 的安装和使用
3
xlanchen@2006.5.24Embedded Operating Systems3 SkyEye 简介 SkyEye 是一个开源软件项目, 中文名字是 “ 天目 ” 。 SkyEye 的起源和发展 陈渝: 做一个用软件实现的嵌入式开发硬件模拟器,可以 在模拟器上运行各种操作系统,这样就可以在没有 开发板的情况下学习和研究操作系统
4
xlanchen@2006.5.24Embedded Operating Systems4 SkyEye 的目标: 在通用的 Linux 和 Windows 平台上实现一个纯 软件集成开发环境,模拟多种主流的嵌入式计 算机系统。 目前可在 SkyEye 上运行的系统有: 1 )多种嵌入式操作系统,如 ARM Linux 、 μClinux 、 μC/OS-II 、 elastos 2 )各种系统软件,如嵌入 式 TCP/IP 协议栈- lwIP , 图形子系统- MiniGUI 等 可对上述软件系统进行源码级的分析、调试和测试。
5
xlanchen@2006.5.24Embedded Operating Systems5 SkyEye 模拟硬件介绍 目前, SkyEye 模拟了大量的硬件,包括 CPU 内核、存储器、存储器管理单元、缓存单 元、串口、网络芯片、时钟等 CPU 和开发板系列: 目前 SkyEye 可以模拟的 CPU 主要是基于 ARM 内核的 CPU ,包括 ARM7TDMI , ARM720T , ARM9TDMI , ARM9xx , ARM10xx , StrongARM , XScale 等
6
xlanchen@2006.5.24Embedded Operating Systems6 目前 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 、网络芯片等硬件外设。
7
xlanchen@2006.5.24Embedded Operating Systems7 存储器管理单元和缓存单元 MMU Memory Management Unit ,存储器管理单元, 是用来管理虚拟内存系统的硬件。 MMU 的两个主要功能是: 1 )将虚地址转换成物理地址; 2 )控制存储器的存取权限。 MMU 关掉时,虚地址直接输出到物理地址总线
8
xlanchen@2006.5.24Embedded Operating Systems8 TLB , Translation Lookaside Buffers 在 MMU 中,存放从虚拟地址到物理地址的匹配表 保存的内容包括: 虚址及其对应的物理地址,权限,域和映射类型。 当 CPU 对一虚拟地址进行存取时, 首先搜索 TLB 表以查找对应的物理 地址等信息, 如果没有查到,则进行查找 translation table ,称为 Translation Table Walk (简称 TTW )。经过 TTW 过程后, 将查到的信息保存到 TLB 。然后根据 TLB 表项的物理地址 进行读写。
9
xlanchen@2006.5.24Embedded Operating Systems9 CACHE ,缓存单元 主要用于缓存内存 中的数据,其读写速度远快 于内存的读写速度,所以可以提高 CPU 的内存 数据的访问效率。 write/read buffer 硬件单元 write/read buffer 硬件单元的作用与 CACHE 的 作用类似。
10
xlanchen@2006.5.24Embedded Operating Systems10 MMU 、 CACHE 、 write/read buffer 一般是高性 能 CPU 的重要组成部分,且不同类型 CPU 的 MMU 、 CACHE 、 write/read buffer 的逻辑行为 也有一定的差异。为了支持模拟多种类型 CPU 的 MMU/CACHE , SkyEye 包含了一个通用的 MMU/CACHE 模拟实现。通 过对一些参数的 调整可以支持模拟多种类型的 MMU/CACHE 物 理结构和逻辑行为。
11
xlanchen@2006.5.24Embedded Operating Systems11 网络芯片 目前 SkyEye 模拟了网络芯片 8019AS , 其特点是: NE2000 兼容,内建 16KRAM 缓冲区, 10MB 传输速率。 虽然目前模拟的开发板上不一定有网络芯片 8019AS , 但可以在模拟的开发板上加上网络芯片 8019AS 的模 拟。
12
xlanchen@2006.5.24Embedded Operating Systems12 SkyEye 的安装 Linux 操作系统 Windows+MingW 或 cygwin
13
xlanchen@2006.5.24Embedded Operating Systems13 在 Kubuntu 上安装 SkyEye 演示使用的 Linux 的版本 uname 命令用于打印系统信息 使用 uname --help 可以看到 uname 命令 的使用说明
14
xlanchen@2006.5.24Embedded Operating Systems14 在 Kubuntu 上安装 SkyEye 有两种安装方法 下载源代码,编译并安装 直接安装二进制代码
15
xlanchen@2006.5.24Embedded Operating Systems15 在 Kubuntu 上 直接安装二进制代码 下载编译好的 SkyEye 的二进制包 到 www.skyeye.org 上找到最合适的版本 www.skyeye.org 例如最新的是 在合适的目录下解压缩 /usr/local/ 或者 /opt/ bz2 格式使用 “tar -xjvf 压缩文件名 ”
16
xlanchen@2006.5.24Embedded Operating Systems16 在 Kubuntu 上直接安装二进制代 码 skyeye 在解压缩得到的目录中的 bin 子目录下 将 skyeye 的路径添加到 PATH 修改 ~/.bashrc 文件:添加 export PATH=$PATH: 所 选目录 /skyeye-insight/bin (如下图)
17
xlanchen@2006.5.24Embedded Operating Systems17
18
xlanchen@2006.5.24Embedded Operating Systems18 为使修改后的.bashrc 有效,必须先退出控制 台,然后重新启动控制台 判断是否设置成功 命令: echo $PATH 对 sky 使用 tab 键功能 OK ? 运行 skyeye ,得到进入 skyeye 的画面,如图:
19
xlanchen@2006.5.24Embedded Operating Systems19
20
xlanchen@2006.5.24Embedded Operating Systems20 SkyEye 的使用 为 μcLinux 安装交叉编译环境,并配置 μcLinux 编译生成 μcLinux 和包含应用程序的文件系统 用 skyeye 运行和调试 μcLinux 内核
21
xlanchen@2006.5.24Embedded Operating Systems21 安装交叉编译环境 www.uclinux.org 为 uclinux 的开发提供相应的交叉编 译工具 如: arm-elf-tools-20030314.sh arm-elf-tools-20030314.sh 安装 在 root 权限下运行 sh./arm-elf-tools-20030314.sh 检查一下 对 arm-elf 运用 shell 的 tab 功能可以看到一系列 arm-elf 打头的 程序,如 binutils 系列、 gcc 、 gdb 等等 也可以使用命令: arm-elf-gcc -v
22
xlanchen@2006.5.24Embedded Operating Systems22
23
xlanchen@2006.5.24Embedded Operating Systems23 测试 arm-elf-gcc 源代码
24
xlanchen@2006.5.24Embedded Operating Systems24 测试 arm-elf-gcc 编译 arm-elf-gcc -Wl,-elf2flt -o hello hello.c 得到的输出文件 hello 和 hello.gdb 检查 hello 的格式 file hello 如何运行 hello ???
25
xlanchen@2006.5.24Embedded Operating Systems25 BFLT 格式: binary FLAT -Wl,-elf2flt 选项让链接器 将 elf 格式转换为 flt 格式小
26
xlanchen@2006.5.24Embedded Operating Systems26 运行 hello hello 必须在 target 环境上,无法在 host 上 如何准备 target 的运行环境 skyeye==== 模拟器 μcLinux==== 操作系统?? 文件系统?? …… ??
27
xlanchen@2006.5.24Embedded Operating Systems27 获得 μcLinux 操作系统 两种方案 1. 使用 skyeye 提供的二进制包 2. 自己动手编译配置 μcLinux
28
xlanchen@2006.5.24Embedded Operating Systems28 编译配置 μcLinux 到 μcLinux 网站的发行页上下载 最新的发行版 uClinux-dist-20051110发行页发行版 uClinux-dist-20051110 使用 ”tar -xzvf” 解压缩,得到 uClinux-dist 目录 在 uClinux-dist 目录下 第一步:配置 μcLinux 命令: make config 在 vendor/product 选贤中选择 GDB/ARMulator Kernel 版本选择 2.4.x 其他选项不变(使用缺省选项)
29
xlanchen@2006.5.24Embedded Operating Systems29 第二步:编译生成 μcLinux 和文件系统 命令: make dep; make 编译成功?
30
xlanchen@2006.5.24Embedded Operating Systems30 用 skyeye 运行 μcLinux 第一步,制作 skyeye 的硬件配置文件 vi skyeye.conf 第二步,提供上面所需的 boot.rom 命令: ln -s images/romfs.img boot.rom
31
xlanchen@2006.5.24Embedded Operating Systems31 第三步,在 skyeye 下运行 μcLinux 命令: sudo skyeye linux-2.4.x/linux 进入 skyeye 后, 命令 1 : target sim 命令 2 : load 命令 3 : run 进入 μcLinux
32
xlanchen@2006.5.24Embedded Operating Systems32 进入画面
33
xlanchen@2006.5.24Embedded Operating Systems33 直接使用 μcLinux 的二进制包 下载 skyeye 的二进制包 skyeye-binary-testutils-1.2.0 使用 “tar -xjvf” 解压缩
34
xlanchen@2006.5.24Embedded Operating Systems34 使用 μcLinux 作为运行操作系统 使用 skyeye 运行 μcLinux skyeye linux target sim load run
35
xlanchen@2006.5.24Embedded Operating Systems35 接下来,将 hello 拷贝到 μcLinux 的文件系统中 将 boot.rom 中的内容在 host 中解开,方法如下: mkdir romfs mkdir /mnt/tmp mount -o loop boot.rom /mnt/tmp cp -r /mnt/tmp/* romfs 将 hello 拷贝到 romfs 中的 bin 目录下 重新生成 boot.rom 映像 genromfs -f boot.rom –d romfs/
36
xlanchen@2006.5.24Embedded Operating Systems36 建立 /mnt/tmp 目录 解开并拷贝到 romfs 目录下
37
xlanchen@2006.5.24Embedded Operating Systems37 拷贝 hello 到 /bin 目录下 重新制作 boot.rom
38
xlanchen@2006.5.24Embedded Operating Systems38 运行 hello 在模拟器上运行 启动模拟器、装载操作系统、装载文件系统 skyeye file linux target sim load run 运行 hello
39
xlanchen@2006.5.24Embedded Operating Systems39 在 μcLinux 界面下,可以得到:
40
xlanchen@2006.5.24Embedded Operating Systems40 第二部分结束 SkyEye 简介 SkyEye 的安装和使用
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.