书签 分享 收藏 举报 版权申诉 / 35
上传文档赚钱

类型嵌入式交叉开发环境的搭建课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3021924
  • 上传时间:2022-06-23
  • 格式:PPT
  • 页数:35
  • 大小:1.35MB
  • 【下载声明】
    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)调试器通过某种通信方式与被调试程序运行的开发板建)调试器通过某种通信方式与被调试程序运行的

    15、开发板建立联系,如串口、并口、网络、立联系,如串口、并口、网络、JTAG接口等;接口等;(3)在目标机上一般会具备某种形式的调试代理,它负责与调)在目标机上一般会具备某种形式的调试代理,它负责与调试器通信完成对目标机上运行着的程序的调试。调试代理可能试器通信完成对目标机上运行着的程序的调试。调试代理可能是硬件设备或软件;是硬件设备或软件; 在进行在进行ARM-Linux开发中,开发中,gdbserver运行在目标机,运行在目标机,arm-linux-gdb运行在宿主机,双方通过网络进行交叉调试通讯。运行在宿主机,双方通过网络进行交叉调试通讯。北华航天工业学院 房好帅 1.2.3 ARM-Lin

    16、ux交叉开发软件环境构建交叉开发软件环境构建1、PC机安装机安装LinuxPC安装的安装的Linux有多个发行版本,如有多个发行版本,如Red Hat,Suse,Ubuntu,FreeBSD,选择任意都可以;,选择任意都可以;Linux可以直接安装在计算机上,推荐在可以直接安装在计算机上,推荐在Windows操作系操作系统下通过统下通过Vmware虚拟机进行安装;虚拟机进行安装;实验室的安装环境:实验室的安装环境: Vmware + Ubuntu10.04;虚拟机中的虚拟机中的Linux系统可以和系统可以和Windows系统进行配置共享目录系统进行配置共享目录来交换数据,安装了来交换数据,安装

    17、了vmware tools也可以进行直接拷贝;也可以进行直接拷贝;这样在这样在windows系统下就可以使用系统下就可以使用Linux,在虚拟机的,在虚拟机的Linux系系统中可以安装交叉开发工具统中可以安装交叉开发工具北华航天工业学院 房好帅 北华航天工业学院 房好帅 2、Linux系统中安装交叉工具链系统中安装交叉工具链开发板的厂商提供了开发板的厂商提供了EABI-4.3.3_EmbedSky_20100610.tar.bz2文文件为已经制作好的件为已经制作好的4.3.3版本的工具链,拷贝到虚拟机版本的工具链,拷贝到虚拟机Linux系统执系统执行行tar命令解压缩即可;命令解压缩即可;安装

    18、执行解压把编译器放在:安装执行解压把编译器放在:/opt/EmbedSky/4.3.3目录;目录;可以使用开源项目可以使用开源项目Binutils制作交叉编译器,初学者不建议,制作交叉编译器,初学者不建议,直接使用厂商提供的交叉编译器即可;直接使用厂商提供的交叉编译器即可;北华航天工业学院 房好帅 可以在可以在/etc/bash.bashrc文件中加入:文件中加入:export PATH=$PATH:/opt/EmbedSky/4.3.3/bin即将交叉工具链加入到即将交叉工具链加入到PATH,就可以直接使用,就可以直接使用arm-linux-gcc、arm-linux-g+ 等一些命令;等一

    19、些命令;输入输入arm-linux-gcc v可查看编译器版本:可查看编译器版本:北华航天工业学院 房好帅 arm-linux交叉工具链包含了多种交叉编译工具:交叉工具链包含了多种交叉编译工具:名称名称作用作用arm-linux-as编译编译ARM汇编程序汇编程序arm-linux-ar把多个把多个.o合并成一个合并成一个.o或静态库或静态库(.a)arm-linuxran-lib为库文件建立索引,相当于为库文件建立索引,相当于arm-linux-ar-sarm-linux-ld连接器连接器(Linker), 把多个把多个.o或库文件连接成可执行文件或库文件连接成可执行文件arm-linux-

    20、objdump查看目标文件查看目标文件(.o)和库和库(.a)的信息的信息arm-linux-objcopy转换可执行文件的格式转换可执行文件的格式arm-linux-strip去掉去掉elf可执行文件的信息可执行文件的信息. 使可执行文件变小使可执行文件变小arm-linux-readelf读读elf可执行文件的信息可执行文件的信息arm-linux-gcc编译编译.c或或.S开头的开头的C程序或汇编程序程序或汇编程序arm-linux-g+编译编译c+程序程序交叉工具链多种交叉工具链多种工具组合可以生工具组合可以生成目标平台的可成目标平台的可执行文件执行文件北华航天工业学院 房好帅 北华航

    21、天工业学院 房好帅 采用采用arm-linux-gcc编译示例:编译示例:helloworld.c#include int main()printf(helloworld, im running on arm_linux !);return 0;命令:命令:arm-linux-gcc -o helloworld helloworld.c生成名为生成名为helloworld的可执行文件的可执行文件采用采用file命令可以查看文件类型,采用交叉编译器编译的命令可以查看文件类型,采用交叉编译器编译的helloworld:北华航天工业学院 房好帅 采用采用gcc -o helloworld hello

    22、world.c编译的编译的helloworld:1.3 串口工具在串口工具在ARM-Linux平台开发中的使用平台开发中的使用嵌入式嵌入式Linux开发中,串口作为开发板的控制台,开发板将信开发中,串口作为开发板的控制台,开发板将信息输出到串口,同时也从串口读取命令,故通过宿主机息输出到串口,同时也从串口读取命令,故通过宿主机PC与与开发板串口连接,利用开发板串口连接,利用windows下的超级终端、或下的超级终端、或Linux的的minicom软件即可操作开发板;软件即可操作开发板;便携式笔记本计算机一般没有串口,便携式笔记本计算机一般没有串口,USB转串口线,正确安转串口线,正确安装驱动后

    23、计算机中会发现此串口设备,和真实的串口使用起装驱动后计算机中会发现此串口设备,和真实的串口使用起来一样;来一样;北华航天工业学院 房好帅 1、超级终端的使用、超级终端的使用Window XP菜单的附件通讯工具中,或是更改版本可拷贝菜单的附件通讯工具中,或是更改版本可拷贝超级终端软件,启动后出现新建连接:超级终端软件,启动后出现新建连接:北华航天工业学院 房好帅 选择使用的串口参数:选择使用的串口参数:北华航天工业学院 房好帅 连接连接ARM开发板,启动开发板即可看到信息,开发板完全启动开发板,启动开发板即可看到信息,开发板完全启动后即可看到开发后即可看到开发linux命令行:命令行:这样在超级

    24、终端中即可通过输入命令操作嵌入式开发板这样在超级终端中即可通过输入命令操作嵌入式开发板北华航天工业学院 房好帅 也可以使用虚拟机中的也可以使用虚拟机中的Linux的的minicom操作串口,首先需要操作串口,首先需要将串口加入到虚拟机设备中:将串口加入到虚拟机设备中:北华航天工业学院 房好帅 在虚拟机的命令行中输入在虚拟机的命令行中输入minicom s,即可启动相关参,即可启动相关参数设置,设置参数完成后,启动开发板,即可看到同样效数设置,设置参数完成后,启动开发板,即可看到同样效果:果:北华航天工业学院 房好帅 1.4 搭建搭建NFS调试环境调试环境北华航天工业学院 房好帅 1、 NFS的

    25、作用的作用NFS ServerNFS ClientNFS ClientNFS Server中配置中配置NFS主机分享的目录主机分享的目录A;NFS Client将将NFS主机分享的目录挂载到本机某目录主机分享的目录挂载到本机某目录B;则可以在则可以在NFS Client中访问目录中访问目录B即可达到访问即可达到访问NFS主机的主机的目录目录A的目的,可对其进行任何操作;的目的,可对其进行任何操作;北华航天工业学院 房好帅 2、NFS的配置的配置在嵌入式在嵌入式Linux开发中,宿主机开发中,宿主机PC安装的安装的Linux可作为可作为NFS Server, 开发板可作为开发板可作为NFS Cl

    26、ient;(1)PC机配置作为机配置作为NFS Server如把如把“/work/mynfs”作为分享目录,在作为分享目录,在/etc/exports文件中增加:文件中增加:/work/mynfs *(rw,sync,no_root_squash)之后使用以下两条命令重启之后使用以下两条命令重启NFS服务服务sudo /etc/init.d/portmap restartsudo /etc/init.d/nfs-kernel-server restart* :允许所有的网段访问:允许所有的网段访问 rw :读写权限:读写权限sync:同步写入:同步写入 no_root_squash:nfs客户

    27、端共享目录使用者权限客户端共享目录使用者权限北华航天工业学院 房好帅 (2)开发板配置作为)开发板配置作为NFS Client连接好串口、网线,启动超级终端软件,超级终端中待开连接好串口、网线,启动超级终端软件,超级终端中待开发板命令行提示符出现后,输入命令:发板命令行提示符出现后,输入命令:mount -t nfs -o nolock 192.168.0.201:/work/mynfs /mnt/myworkNFS Server的的IP地址地址NFS Server的分享目录的分享目录挂载到开发板挂载到开发板的目录的目录若挂载成功,则对于开发板访问若挂载成功,则对于开发板访问“/mnt/myw

    28、ork”即访即访问问PC的的“/work/mynfs” 目录的内容;目录的内容;设置开发板设置开发板192.168.0.203,虚拟机的,虚拟机的Linux192.168.0.201,windows 192.168.0.202,同一网段,虚拟机网卡为桥接模式,同一网段,虚拟机网卡为桥接模式其中其中-o nolock 客户端不使用文件锁客户端不使用文件锁若发现不稳定可使用若发现不稳定可使用TCP方式:方式:北华航天工业学院 房好帅 mount -t nfs -o nolock 192.168.0.201:/work/mynfs /mnt/myworkmount -t nfs -o nolock -o proto=tcp 192.168.0.201:/work/mynfs /mnt/mywork北华航天工业学院 房好帅 (3)测试)测试Linux中将之前编译中将之前编译helloworld.c生成名为生成名为helloworld的的可执行文件拷贝到可执行文件拷贝到/work/mynfs中;中;通过超级终端来操作开发板通过超级终端来操作开发板首先切换到首先切换到/mnt/mywork目录:目录: cd /mnt/mywork运行运行helloworld: ./helloworld即可在超级终端下看到输出:即可在超级终端下看到输出:

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:嵌入式交叉开发环境的搭建课件.ppt
    链接地址:https://www.163wenku.com/p-3021924.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库