欢迎来到天天文库
浏览记录
ID:51590436
大小:2.17 MB
页数:75页
时间:2020-03-24
《应用程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、113245嵌入式Linux交叉编译环境的建立Linux开发环境的建立67嵌入式Linux应用程序设计Linux开发步骤Linux开发环境的选择交叉编译过程GNU工具的使用及开发流程Linux常用命令2开发环境的建立在进行项目开发前,首先要做的就是搭建一套基于Linux操作系统的应用开发环境,一般由目标板和宿主机所构成。目标板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主机来完成。开发环境对硬件没有特殊的要求,但是为了双方之间建立连接关系,关键的几种接口电路如
2、串口、以太网接口和USB接口是必不可少的。用于开发和调试目标板上所用到的操作系统、应用程序等所有软件。这种在宿主机上开发程序、在目标板上运行程序的方式,通常就叫做交叉开发。3开发环境的建立4目标板(Target)可以是嵌入式应用软件的实际运行环境,当然也可以是替代实际环境的仿真系统(如软件模拟器)。宿主机(Host)通过串口、网络连接或调试接口(如JTAG仿真器)与目标机通信。宿主机的软硬件资源比较丰富,其操作系统主要有Windows和Linux两种,其上用于开发程序的那套软件工具,通常叫做开发工具链。开发环境的建
3、立5嵌入式Linux的组成最基本的嵌入式Linux系统需要3个基本元素:系统引导程序:用于完成机器加电后的系统定位引导;Linux系统内核:为嵌入式应用提供一个软件环境,为应用程序完成基本的底层资源管理工作;初始化过程:完成基本的初始化。为使这个最小嵌入式系统具有一定的实用性,还需加上硬件的驱动程序及—个或几个应用进程以提供必要的应用功能支持。如果应用比较复杂,可能还需要添加一个可以在ROM或RAM中使用的文件系统、TCP/IP网络协议栈等。在PDA领域,还需要加上—个GUl支持。6Linux开发步骤Linux操作
4、系统作为一种多任务、稳定可靠、内核可裁剪的系统,是开发嵌入式软硬件产品的优秀软件平台。嵌入式Linux是一种开放源码、软实时、多任务的嵌入式操作系统。通常它是在标准Linux的基础上针对嵌入式系统进行裁剪和优化后形成的。裁剪和优化后的Linux体积更小,性能更加稳定,而且源代码本身是免费的。这将大大减少开发商的成本,更具市场竞争力具体进行Linux开发的步骤如下:BOOTLOADER开发;Linux开发环境建立;Linux内核移植;应用程序开发。7嵌入式Linux的开发环境个人用Linux开发嵌入式应用程序,可以在
5、自己的PC机上安装一套Linux操作系统,使用Linux中的XWindows打开若干个窗口进行编译、下载和调试等。当多名工程师共同来开发一个系统时,可以用1台PC机运行Linux作为服务器,每个开发工程师都通过局域网用Telnet登录到这台服务器上,被开发的目标板也挂在网上。然后在服务器的Linux环境下用GNUgcc编译成生目标代码,再用FTP传回到自己的PC机上,最后通过串口或网络下载到目标机上即可完成整个嵌入式系统的开发。8交叉编译环境的建立所谓交叉编译,就是在一个平台上生成可以在另一个平台上执行的代码。采用
6、交叉编译的主要原因在于,多数嵌入式目标机不能提供足够的资源供编译过程使用,因而只好将编译工作转移到高性能的宿主机中进行。交叉编译环境是一个由编译器、连接器和解释器组成的综合开发环境。交叉编译工具主要包括针对目标系统的编译器gcc、目标系统的二进制工具binutils、目标系统的标准c库glibc和目标系统的Linux内核头文件。9GNU交叉编译Linux采用GNU交叉编译器。GNU的交叉编译器,包括以下组件:1.gcc交叉编译器,即在宿主机上开发编译目标上可运行的二进制文件;2.binutils辅助工具,包括obj
7、dump、objcopy等;3.gdb调试器。对于ARM可以采用如下两个版本的编译器:arm-elf-arm-linux-10arm-elf-交叉编译器arm-elf-gccarm-elf-ldarm-elf-asarm-elf-objdumparm-elf-objcopyarm-elf-gdb11arm-linux-交叉编译器arm-linux-gccarm-linux-ldarm-linux-asarm-linux-objdumparm-linux-objcopyarm-linux-gdb12选择Linux开发
8、环境Windows环境+Cygwin;Windows环境+VMWare虚拟机(安装RedHat9.0)。Linux环境,推荐RedHat9.0;单机模式(一台计算机)双机模式(两台计算机)Windows+Linux。13在linux环境下进行Linux开发必须采用支持GDB的调试器(如ADT1000A)才能进行调试,否则只能通过BOOTLOADER进行简单的
此文档下载收益归作者所有