{环境管理}第2章嵌入式系统开发环境

上传人:精****库 文档编号:140427350 上传时间:2020-07-29 格式:PPTX 页数:60 大小:2.65MB
返回 下载 相关 举报
{环境管理}第2章嵌入式系统开发环境_第1页
第1页 / 共60页
{环境管理}第2章嵌入式系统开发环境_第2页
第2页 / 共60页
{环境管理}第2章嵌入式系统开发环境_第3页
第3页 / 共60页
{环境管理}第2章嵌入式系统开发环境_第4页
第4页 / 共60页
{环境管理}第2章嵌入式系统开发环境_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《{环境管理}第2章嵌入式系统开发环境》由会员分享,可在线阅读,更多相关《{环境管理}第2章嵌入式系统开发环境(60页珍藏版)》请在金锄头文库上搜索。

1、第2章 嵌入式系统开发环境,了解交叉编译的基本知识 了解SkyEye的起源和发展、目标和意义 掌握SkyEye的配置文件skyeye.conf 掌握交叉编译环境的创建 掌握QEMU、GDB的安装及简单使用 掌握SkyEye的安装及简单使用 掌握TFTP、NFS服务器的搭建,本章学习目标,2.1 嵌入式系统开发环境简介,交叉编译环境 交叉开发环境是由开发主机和目标板两套计算机系统构成的。,文本编译器,交叉编译器,仿真器,远程调试器,链接器,目标对象查看器,shell,下载器,交叉编译环境组成,2.2 OK2440-II开发平台介绍,OK2440II开发套件包含: 1)一块已测试好的OK2440I

2、I开发板(包括OK2440II核心板与OK2440II底板) 2)OK2440II用户光盘 3)3.5 TFT Sumsang LCD一块,带触摸屏 4)一个JTAG板(带20芯排线) 5)一条串口线(一头针一头孔,串口线) 6)一条网线(交叉网线) 7)一条USB线 8)一支触摸笔 9)一个5V直流电源适配器 10)一个包装盒,使用步骤: 外部硬件连接; Windows下驱动的安装; 1)安装USB驱动 2)安装并口驱动程序 3)调试终端的使用 4)BootLoader的使用,DNW软件是三星公司为S3C2440芯片配置的一款专用软件,可以在Windows下通过USB烧写Flash。在PC机

3、上打开DNW(v0.50A),依次选择“Configuration”“Options”, 如图所示,具体设置为:COM1、波特率为115200、Download Address设置为0 x3200 0000(此参数为下载到内存的地址。,DNW调试终端的使用,DNW调试终端的使用,Windows超级终端的使用,Windows超级终端的使用,Windows超级终端的使用,本地编译器,2.3 交叉编译的基本知识,编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器叫做本地编译器。,交叉编译器,编译器也可以生成用来在其他平台上运行的目标代码,这种编译器叫

4、做交叉编译器,Software Development Kit,是ARM公司为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具。 最新版本是2.5.2,被ARM ADS取代。,2.3.1 ARM编译环境,1.SDT,ARM ADS(ARM Developer Suite)在1993年由Metrowerks公司开发,是ARM处理器最主要的开发工具。,2.ADS,MDK-ARM也称KEIL MDK-ARM、KEIL ARM、Realview MDK、I-MDK、uVision4 等,系为同一产品。 MDK-ARM有四个可用版本,分别是MDK-Lite、MDK-Basic、MDK-S

5、tandard、MDK-Professional。,3.MARK-ARM,主要采用ARM+Linux开发环境。,4.arm-linux-toolchain,GNU提供的编译工具包括汇编器as、C编译器gcc、C+编译器g+、链接器ld和二进制转换工具objcopy 。 交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境,主要由binutils、gcc和glibc 3个部分组成。 基于ARM平台的交叉编译工具链主要有:arm-linux-*和arm-elf-*。,2.3.2 ARM交叉编译工具链,使用不同的C库文件。 前者使用GNU的Glibc, 后者使用uClibc/uC-libc

6、。 针对的开发环境不一样。 前者针对ARM+Linux的开发环境的,OS使用Linux,不是uclinux,ARM有硬件MMU。后者针对no MMU ARM+Linux的开发环境,OS使用uclinux,硬件是廉价的无MMU的ARM芯片。,arm-linux-*和arm-elf-*区别,1. 编写C语言或汇编语言源程序 这里介绍用vi编辑器进行源码编码。 在终端中输入vi hello.c,然后按键“i”则可进行代码编写。,2.3.3 嵌入式软件开发流程,退出源码编写。 按“ESC”; 输入“:wq”,退出并保存源码,如果不保存,就直接输入“:q”则可。,2. 生成目标文件 在终端中输入 #ar

7、m-linux-gcc -c -O2 -o hello.o hello.c,源文件,源文件和目标文件,3. 编写连接脚本文件 gcc等编译器内置有缺省的链接脚本。 为了能在嵌入式系统上直接运行,需要编写自己的链接脚本文件。 GNU编译器生成的目标文件缺省为ELF格式。,4. 用链接器生成最终的目标文件 在终端输入 arm-linux-ld -n ostadlib -o bootstrap.elf -T link.lds hello.o,最后是需要链接的目标文件列表。,表示不链接系统的运行库,而是直接从_start入口,指明目标文件的名称,指明采用的链接脚本文件,5. 生成二进制代码 在终端输入

8、 arm-linux-objcopy -O binary bootstrap.elf bootstrap.bin,链接生成的ELF文件还不能直接下载执行,通过objcopy工具可生成最终的二进制文件,指定生成为二进制格式文件,6. 反汇编目标代码 在终端输入 arm-linux-objdump -D bootstrap.elf,用objdump工具将生成的目标代码反汇编,,建立交叉编译工具链有两种方法: 自己编译生成交叉编译工具链; 从网上下载或使用开发板光盘提供的的交叉编译工具链。,2.4 实例创建交叉编译环境,1.从网上下载或者光盘提供的交叉编译工具链,(1)从网上下载arm-linux-

9、gcc或arm-linux-tools压缩包 (2)解压arm-linux-gcc-2.95.3.tar.bz2到/usr/local/arm/中,# mkdir /usr/local/arm # tar -tvf arm-linux-gcc-2.95.3.tar.bz2 # tar -xjvf arm-linux-gcc-2.95.3.tar.bz2 -C /usr/local/arm/ # ls -F /usr/local/arm/2.95.3/,(3)解压arm-linux-gcc-3.4.1.tar.bz2到/usr/local/arm/中,#tar -tvf arm-linux-gc

10、c-3.4.1.tar.bz2 # tar -xjvf arm-linux-gcc-3.4.1.tar.bz2 -C / # ls -F /usr/local/arm/3.4.1/,注:arm-linux-gcc-2.95.3版本的交叉编译器用于编译 Linux2.4内核。 arm-linux-gcc-3.4.1及其以后版本的交叉编译器用于编译Linux2.6内核。,(4)解压arm-linux-tools-20070808.tar.gz(4.2.1版本),# tar -tvf arm-linux-tools-20070808.tar.gz # tar -xzvf arm-linux-tool

11、s-20070808.tar.gz -C / # arm-linux- # which arm-linux-gcc # ll /usr/local/bin/arm-linux-*,(5)安装arm-elf-tools-20040427.sh工具包,# less arm-elf-tools-20040427.sh # chmod +x arm-elf-tools-20040427.sh # ./arm-elf-tools-20040427.sh # ll /usr/local/bin/arm-elf-* # which arm-elf-gcc,2.自己生成交叉编译器,(1)下载源文件、补丁和建立

12、编译目录 (2)建立内核头文件 (3)建立二进制工具(binutils) (4)建立初始编译器(bootstrap gcc) (5)建立C库(glibc) (6)建立全套编译器(full gcc),QEMU是一套由Fabrice Bellard编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。,QEMU有两种主要运作模式: User mode是使用者模式。 System mode是系统模式。,2.5 实例QEMUGDB的安装及简单使用,2.6 SkyEye的安装及简单使用,2.6.1 SkyEye简介,1SkyEye的起源和发展 2002年11月,清华大学计算机系的

13、博士后陈渝提出 2002年12月,SkyEye项目正式建立 目前,SkyEye的主要开发人员还有韩超、康烁等。,2SkyEye的目标和意义 目标: 在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统; 可在SkyEye上运行CLinux以及C/OS-II等多种嵌入式操作系统和各种系统软件,并可对他们进行源码级的分析和测试。,2SkyEye的目标和意义 SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板; 可支持多种CPU指令集; SkyEye的目标不是验证硬件逻辑,而是协助开发、调试和学习系统软件。,2SkyEye的目标和意义 意义: 可以很方

14、便地进行嵌入式系统软件的学习和开发; 可以有效地提高工作效率; SkyEye本身作为一个开放式的项目体系,可以划分为多个独立的子项目系统。,3SkyEye模拟硬件介绍 (1)CPU和开发板系列 SkyEye可以模拟的CPU主要是基于ARM内核的CPU,包括ARM7TDMI、ARM720T、ARM9TDMI、ARM9xx、ARM10 xx、StrongARM、XScale等。,SkyEye模拟的开发板包括: 基于Atmel 91X40/AT91RM92 CPU的开发板、基于Crirus Logic ep7312的开发板、 基于StrongARM CPU的ADSBITSY开发板, 基于XScale

15、 PXA250 CPU的LUBBOCK开发板、基于SAMSUNG S3C4510B/S3C44B0 CPU的开发板、 基于SHARP LH7A400 CPU的开发板、基于Philip LPC22xx CPU的开发板等。,(2)存储器管理单元和缓存单元 MMU、CACHE。 (3)网络芯片 目前SkyEye模拟了网络芯片8019AS。,1、安装SkyEye (1)解压源码包 # tar -xjvf skyeye-1.2.6_rc1.tar.bz2 -C ./ (2)编译skyeye-1.2.6 # cd skyeye-1.2.6_rc1 # ls /INSTALL文件包含安装帮助信息 # ged

16、it INSTALL,2.6.2 实例安装SkyEye-1.2.6,/配置,-prefix设置skyeye1.2.6的安装位置 # ./configure -prefix=/opt/skyeye1.2.6 # make/编译 /将skyeye安装到/opt/skyeye1.2.6/bin/ # make install # ll /opt/skyeye1.2.6/bin/skyeye,2、SkyEye配置选项 查看SkyEye的配置文件skyeye.conf。 SkyEye模拟的硬件配置和模拟执行行为由配置文件skyeye.conf中的选项确定。,skyeye.conf文件:,单参数选项行,多参数选项行,SkyEye的配置文件skyeye.conf和要模拟的硬件有关,配置定义如下: (1)基本CPU核配置选项,格式为: cpu: cpuname,表示 CPU名字的字符串,(2)具体的开发板(包括CPU扩展)配置选项 格式为: mach: machinename,(3)内存组配置选项,一个内存组内的地址是连续的,类型分为:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号