嵌入式交叉开发环境的搭建课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式交叉开发环境的搭建课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 交叉 开发 环境 搭建 课件
- 资源描述:
-
1、主要内容:主要内容:(1)嵌入式)嵌入式ARM-Linux平台的体系结构;平台的体系结构;(2)交叉开发的相关概念与工具软件;)交叉开发的相关概念与工具软件;(3)嵌入式)嵌入式Linux开发的开发的NFS配置;配置;北华航天工业学院 房好帅 第第1部分部分 嵌入式交叉开发环境的搭建(嵌入式交叉开发环境的搭建(1)能够正确编译嵌入式能够正确编译嵌入式ARM-Linux版本的版本的“helloworld”程序并运行程序并运行能力目标:能力目标:1.1 嵌入式嵌入式ARM-Linux平台的体系结构平台的体系结构嵌入式嵌入式ARM-Linux系统的硬件构成以处理器为核心,扩展系统的硬件构成以处理器为
2、核心,扩展内存、外存、接口电路、电源电路、外部设备构成:内存、外存、接口电路、电源电路、外部设备构成:北华航天工业学院 房好帅 S3C2440处理器处理器SoC芯片,包括芯片,包括ARM9 CPU、一些外设接、一些外设接口,通过芯片内部总线口,通过芯片内部总线AHB、APB总线连接:总线连接:北华航天工业学院 房好帅 比如实验室采用的开发板,主要硬件构成为:比如实验室采用的开发板,主要硬件构成为:(1)S3C2440片上片上SDRAM控制器接口连接控制器接口连接2片内存芯片,片内存芯片,H57V2562GTR-60C,共计,共计128MB(4)由于处理器芯片没有集成网卡接口,故需要扩展连)由于
3、处理器芯片没有集成网卡接口,故需要扩展连接接DM9000芯片,该芯片片选直接接在芯片,该芯片片选直接接在nGCS4,故可通过,故可通过0 x20000000和和0 x20000004地址访问其中的数据、命令寄地址访问其中的数据、命令寄存器;(处理器没有集成的接口需要扩展)存器;(处理器没有集成的接口需要扩展)(2)S3C2440片上片上NandFlash控制器接口连接控制器接口连接1片片K9F2G08U0B作为外存,作为外存,256MB容量;容量;(3)片上)片上LCD、TS控制器接口连接控制器接口连接4.3寸寸 TFT LCD,分辨,分辨率率480272(外部设备);(外部设备);北华航天工
4、业学院 房好帅 S3C2440芯片集成了芯片集成了ARM920T核的核的CPU,需要关注其主要,需要关注其主要特性为:特性为:(1)5级指令流水线,指令、数据高速缓存都为级指令流水线,指令、数据高速缓存都为16KB;(4)具备响应中断能力及其)具备响应中断能力及其Tick时钟;时钟;鉴于以上特点,该芯片支持现代操作系统的特性,故可以移鉴于以上特点,该芯片支持现代操作系统的特性,故可以移植植Linux操作系统在其硬件运行。操作系统在其硬件运行。(2)具备)具备MMU,支持页表及内存访问权限;,支持页表及内存访问权限;(3)不同的工作状态:用户模式、特权模式;)不同的工作状态:用户模式、特权模式;
5、北华航天工业学院 房好帅 (5)具备相关指令实现多任务互斥;)具备相关指令实现多任务互斥;对于对于ARM9系列的处理器:系列的处理器:(1)ARM公司负责设计公司负责设计CPU核心,不生产芯片,官方网核心,不生产芯片,官方网站可以下载站可以下载ARM920T Technical Reference Manual文档,文档,详细描述了详细描述了ARM9 CPU的特征;的特征;(2)S3C2440是是SAMSUNG生产的生产的ARM9处理器,购买处理器,购买了了ARM9的设计,在的设计,在CPU基础上增加了一些常见外设接口,基础上增加了一些常见外设接口,集成在一个芯片上形成集成在一个芯片上形成So
6、C,芯片的,芯片的Data Sheet可以从可以从SAMSUNG官网得到;官网得到;要想深入获取某个要想深入获取某个ARM芯片的详细信息,这两个文档是权芯片的详细信息,这两个文档是权威资料!威资料!北华航天工业学院 房好帅 硬件平台上运行的软件系统存储在外存,包括硬件平台上运行的软件系统存储在外存,包括3部分:部分:(1)bootloader(引导加载程序)(引导加载程序)系统加电启动运行的一段程序,初始化设置处理器工作状系统加电启动运行的一段程序,初始化设置处理器工作状态、系统时钟、内存、外存、串口、网口等必要的部件,态、系统时钟、内存、外存、串口、网口等必要的部件,将将Linux内核从外存
7、拷贝到内存,传递参数并启动内核;内核从外存拷贝到内存,传递参数并启动内核;u-boot是现阶段最著名的开源是现阶段最著名的开源bootloader,必须根据嵌入,必须根据嵌入式硬件平台修改代码并编译才能运行,这个过程称为软件式硬件平台修改代码并编译才能运行,这个过程称为软件移植;移植;北华航天工业学院 房好帅 (2)linux kernel (内核)(内核)内核实现了操作系统的核心功能,包括进程管理,存储管理,内核实现了操作系统的核心功能,包括进程管理,存储管理,虚拟文件系统,网络协议等;虚拟文件系统,网络协议等;北华航天工业学院 房好帅 Linux内核源代码可以从内核源代码可以从www.ke
8、rnel.org下载,不能直接应下载,不能直接应用于用于ARM平台,必须经过移植:平台,必须经过移植:(1)与体系结构相关的代码,大多数是采用汇编语言编写,)与体系结构相关的代码,大多数是采用汇编语言编写,需要按照目标平台进行修改;需要按照目标平台进行修改;(2)内核中大量的代码为设备驱动程序,需要根据开发)内核中大量的代码为设备驱动程序,需要根据开发的系统进行修改与剪裁;的系统进行修改与剪裁;所幸的是,所幸的是,u-boot、kernel中已经有了目标平台的参照,比中已经有了目标平台的参照,比如如samsung官方的开发板相关的代码,对比其中的不同,可官方的开发板相关的代码,对比其中的不同,
9、可以进行修改。以进行修改。北华航天工业学院 房好帅 (3)file system (文件系统)(文件系统)Linux文件系统即用户可以操作的目录结构与文件,嵌入文件系统即用户可以操作的目录结构与文件,嵌入式系统需要根据具体情况进行文件系统的剪裁;式系统需要根据具体情况进行文件系统的剪裁;(2)内核模块:)内核模块:Linux内核为单体结构,但提供了加载内核为单体结构,但提供了加载内核模块的机制,一些设备驱动以模块的形式视具体情况内核模块的机制,一些设备驱动以模块的形式视具体情况添加到文件系统中;添加到文件系统中;文件系统中需要剪裁的项目:文件系统中需要剪裁的项目:(1)共享库:)共享库:gli
10、bc库一般是必须的,比如系统需要用库一般是必须的,比如系统需要用户界面,需要将户界面,需要将Qt界面库加入进来;界面库加入进来;北华航天工业学院 房好帅 开源项目开源项目busybox可以进行编译生成供嵌入式可以进行编译生成供嵌入式Linux使用的使用的文件系统。文件系统。1.2 交叉工具链与交叉开发环境交叉工具链与交叉开发环境北华航天工业学院 房好帅 PC机软件开发从机软件开发从“源码程序源码程序”到到“机器码文件机器码文件”的过程,一般的过程,一般在本机编写代码,本机调试,本机运行;在本机编写代码,本机调试,本机运行;北华航天工业学院 房好帅 嵌入式开发软件从嵌入式开发软件从“源码程序源码
11、程序”到到“机器码文件机器码文件”的过程则明的过程则明显不同,嵌入式平台由于资源所限一般不会安装开发调试环境,显不同,嵌入式平台由于资源所限一般不会安装开发调试环境,则需要在则需要在PC中进行编写代码与编译,在嵌入式平台上运行:中进行编写代码与编译,在嵌入式平台上运行:北华航天工业学院 房好帅 交叉开发环境交叉开发环境建立交叉开发环境(建立交叉开发环境(Cross Development Environment)是)是嵌入式软件开发时的显著特点,交叉开发环境是指编译、链接嵌入式软件开发时的显著特点,交叉开发环境是指编译、链接和调试嵌入式软件的环境,通常采用宿主机目标机模式。和调试嵌入式软件的环
12、境,通常采用宿主机目标机模式。1.2.1 交叉开发环境交叉开发环境北华航天工业学院 房好帅 交叉开发环境的组成要素:交叉开发环境的组成要素:(1)宿主机()宿主机(host):普通的):普通的PC机,要求具备串口、并口、机,要求具备串口、并口、USB接口、网络接口;接口、网络接口;(2)目标机()目标机(target):):ARM开发板,要求具备串口、开发板,要求具备串口、USB接接口、网络接口;口、网络接口;(3)交叉工具链()交叉工具链(cross tools chain):包括交叉编译器、交):包括交叉编译器、交叉汇编器、交叉链接器,能够在宿主机上运行,并且能够生成在叉汇编器、交叉链接器
13、,能够在宿主机上运行,并且能够生成在目标机上直接运行的二进制代码的编译器和链接器;目标机上直接运行的二进制代码的编译器和链接器;比如:比如:ARM体系结构的体系结构的gcc交叉开发工具链,至少要包括:交叉开发工具链,至少要包括:arm-linux-gcc是交叉编译器,是交叉编译器,arm-linux-as是交叉汇编器,是交叉汇编器,arm-linux-ld是交叉链接器;是交叉链接器;北华航天工业学院 房好帅 1.2.2 交叉调试交叉调试交叉调试(交叉调试(Cross Debug)又称为远程调试()又称为远程调试(Remote Debug),),采用调试器控制目标机上被调试程序的运行,并具有查看
14、和修改目采用调试器控制目标机上被调试程序的运行,并具有查看和修改目标机上内存单元、寄存器以及被调试进程中变量值等各种调试功能标机上内存单元、寄存器以及被调试进程中变量值等各种调试功能的调试方法。的调试方法。北华航天工业学院 房好帅 交叉调试一般具有如下特点:交叉调试一般具有如下特点:(1)调试器连接在宿主机与目标机之间,宿主机中的调试软)调试器连接在宿主机与目标机之间,宿主机中的调试软件可操作调试器,而被调试的程序则运行在开发板上(目标件可操作调试器,而被调试的程序则运行在开发板上(目标机);机);(2)调试器通过某种通信方式与被调试程序运行的开发板建)调试器通过某种通信方式与被调试程序运行的
展开阅读全文