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

上传人(卖家):三亚风情 文档编号:3021924 上传时间:2022-06-23 格式:PPT 页数:35 大小:1.35MB
下载 相关 举报
嵌入式交叉开发环境的搭建课件.ppt_第1页
第1页 / 共35页
嵌入式交叉开发环境的搭建课件.ppt_第2页
第2页 / 共35页
嵌入式交叉开发环境的搭建课件.ppt_第3页
第3页 / 共35页
嵌入式交叉开发环境的搭建课件.ppt_第4页
第4页 / 共35页
嵌入式交叉开发环境的搭建课件.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

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即可在超级终端下看到输出:即可在超级终端下看到输出:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(嵌入式交叉开发环境的搭建课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|