预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共70页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第5章嵌入式Linux应用程序开发5.1开发环境的建立利用Cygwin建立模拟环境交叉编译环境的建立(3)第一次编译gcc。configure的运行参数设置: --prefix=$PREFIX --target=arm-linux --disable-threads --disable-shared --enable-languages=c 执行makeinstall,将生成一个最简单的gcc。由于编译整个gcc是需要目标机的glibc库的,它现在还不存在,因此需要首先生成一个最简单的gcc,它只需要具备编译目标机glibc库的能力即可。 (4)交叉编译glibc。 由于这一步骤生成的代码是针对目标机cpu的,因此它属于一个交叉编译过程。又因为该过程要用到Linux内核头文件,默认路径为$PREFIX/arm-linux/sys-linux,因而需要在$PREFIX/arm-linux中建立一个名为sys-linux的软连接,使其指向内核头文件所在的include目录;也可以在接下来要执行的configure命令中使用--with-headers参数指定linux内核头文件的实际路径。 configure的运行参数设置如下,因为是交叉编译,所以要将编译器变量CC设为arm-linux-gcc: CC=arm-linux-gcc./configure --prefix=$PREFIX/arm-linux --host=arm-linux --enable-add-ons 最后,按以上配置执行configure和makeinstall,glibc的交叉编译过程就算完成了,这里需要指出的是,glibc的安装路径设置为$PREFIXARCH=arm/arm-linux,如果此处设置不当,第二次编译gcc时可能找不到glibc的头文件和库。(5)第二次编译gcc。 运行configure,参数设置为 --prefix=$PREFIX--target=arm-linux --enable-languages=c,c++。 运行makeinstall。 到此为止整个交叉编译环境就完全生成了。 建立一个交叉编译工具链是一个相当复杂的过程,为了节省时间,网上有一些编译好的可用的交叉编译工具链可以下载。本书所附光盘也带有编译好的交叉编译工具链arm-linux-toolchains.tgz,只需简单地解压缩即可使用: tarxvzfarm-linux-toolchains.tgz–C/arm9 假设工具链解压缩到目录/arm9。 解压完毕后把工具链目录加入到环境变量PATH中即可。 交叉编译工具做完后,简单验证一下。首先用文字输入软件建立一个helloworld.c文件: #include<stdio.h> intmain(void) { printf("helloworld\n"); return0; } 然后在命令行执行: $arm-linux-gcchelloworld.c-ohelloworld $filehelloworld 如果输出以下信息,说明成功建立了编译工具。 helloworld:ELF32-bitLSBexecutable,ARM,version1,dynamicallylinked(usessharedlibs),notstripped5.2Linux及开发工具的使用Linux常用命令1.登录和退出 Linux启动后,给出login命令,等待用户登录。 Login:<输入用户名> Password:<输入密码> 使用logout命令退出外壳。 2.更改账号密码 使用passwd命令来设置新用户的口令。在设置口令之后,账号即能正常工作。 语法:passwd Oldpassword:<输入旧密码> Newpassword:<输入新密码(最好为6~8字,英文字母与数字混合)> Retypenewpassword:<再输入一次密码> 3.联机帮助 系统上几乎每条命令都带有相关的Manpage。在有困难时,可以立刻找到文件。 语法:man命令 例如,如果使用ls命令时遇到困难,可以输入:manls 4.远程登录 用来连接到其他机器执行工作。在Linux上,由于对TCP/IP协议的完全支持,用户可以很容易的从Linux主机连接其他的计算机系统。 语法:rlogin主机名[-l用户名] 例如: rlogindoc-luser使用user账号登录到工作站doc中。 语法:telnet主机名或telnetIP地址 例如: telnet140.109.20.2515.列出文件或目录 语法:ls[-atFlgR][name] 其中name是文件名或目录名。ls命令用来浏览文件与目录,对于每个目录,该命令将列出其中所有的子目录与文件。 6.改变工