null11.1嵌入式Linux的开发环境11.1嵌入式Linux的开发环境11.1.1交叉开发概述
这种在宿主机上开发程序、在目标板上运行程序的方式,通常就叫做交叉开发
null11.1.2桌面Linux的开发工具链11.1.2桌面Linux的开发工具链GNU 开发工具链( toolchain )主要包括:
GNU Compiler Collection (GCC)编译器
GNU libc C库——用于定义系统调用和其他一些基本的函数调用。
GNU binutils 用来编译、测试和
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
软件的。 11.3 Linux的使用11.3 Linux的使用11.3.1 Linux基本命令
1.adduser
示例:创建pdr帐户
adduser pdr
2. cat
示例:
cat text 在屏幕上显示文件text的内容;参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286aipconfig 命令ipconfig 命令up:如果一个接口不是活动的,该选项将激活它。例如,ifconfig eth0 up会激活eth0。
down:与up相反
netmask [addr]:使用“netmask”选项使得你可以为一个给定接口设置网络掩码。例如,要为eth0设置网络掩码可以通过输入ifconfig eth0 netmask 255.255.255.0来完成。
[addr]:只在接口名称后指定一个地址,比如ifconfig eth0 192.168.2.103,将设置该接口的IP地址。3.切换目录的cd命令3.切换目录的cd命令示例:假设用户当前目录是 /home/xu 现需要更换到/home/xu/pro 目录中
$ cd pro
参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a4.复制文件的cp命令4.复制文件的cp命令示例:
$ cp - r /usr/xu/ /usr/liu/ 表示将/usr/xu 目录中的所有文件及其子目录拷贝到目录/usr/liu中。
参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a5. df5. df示例:列出各文件系统的磁盘空间使用情况。
#df 6.du6.du
示例:显示包含在每个文件以及目录/home/fran的子目录中的磁盘块数。
du -a /home/fran
参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a7. 设置或显示环境变量Export7. 设置或显示环境变量Export示例:显示当前所有环境变量的设置情况
#export
参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a8. 磁盘分区fdisk8. 磁盘分区fdisk
示例:查看当前系统中磁盘的分区状况,包括硬盘、U盘等
fdisk -l
9.搜寻文件locate9.搜寻文件locate
示例:
locate filename: 寻找系统中所有叫filename的文件参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a10.列出目录内容ls10.列出目录内容ls
示例:将 /bin 目录以下所有目录及文件详细资料列出 :
ls -lR /bin参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a11. minicom11. minicom功能:调制解调器通信程序,相当于Linux下的“超级终端”。
示例:开启minicom的配置界面
minicom –s
参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a12. Mkdir12. Mkdir功能:建立目录
示例:要在当前工作目录下创建一个名为 Test 的新目录,请输入:
mkdir Test
参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a13.Mount13.Mount功能:加载指定的文件系统(使文件系统可用 )参考网站:http://study.chyangwa.com/IT/AIX/aixcmds3/mount.htm#a1019286a15.mv15.mv功能:移动文件,mv 命令把文件和目录从一个目录移动到另一个,或者重命名文件或目录。
要移动目录,输入:
mv book manual
如果 manual 存在,该命令把 book 下的所有文件和目录都移动到命名为 manual 的目录。否则,目录 book 重命名为 manual
16.Passwd16.Passwd功能:设置新用户口令
示例:
passwd pengdrnull17. ping
示例:
ping www.sina.com.cn
18.pwd
示例:查看当前工作:
pwd19. reboot19. reboot功能:重新开机
示例:做个重开机的模拟(只有纪录并不会真的重开机)。
reboot –w20. rmdir20. rmdir功能:删除目录
示例:在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
null21. setup
功能说明:设置程序。
语法:setup
22. su
功能说明:变更用户身份。
示例:变更账号为超级用户,并在执行df命令后还原使用者。
su -c df rootnull22. tar
功能说明:备份或解压文件。
24. umount
功能:卸除文件系统。
11.3.2 vi编辑器的使用11.3.2 vi编辑器的使用vi是visual interface 的简称,它在 Linux 上的地位就同Edit 程序在 DOS 上一样,可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。它不是一个排版程序,不象 Word 或 WPS 那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 1. vi的基本模式及模式间转换1. vi的基本模式及模式间转换 vi编辑器的使用按不同的使用方式可以分为3种状态,分别是命令模式(Command Mode)、输入模式(Insert Mode)和末行模式(Last Line Mode),各模式区分如下:
(1)命令模式(1)命令模式这是执行vi后的缺省模式,此时键盘输入当作命令,且命令有大小写之区分。该模式可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。(2)输入模式(2)输入模式只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。 (3)末行模式(3)末行模式在命令行模式按下 : 即可进入该模式。该模式用来进行保存文件、打开文档或环境的设定,书写有大小写之分。比如将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。 null2. vi的基本操作2. vi的基本操作在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
vi myfile
有一点要特别注意,就是进入vi之后,是处于[命令行模式(command mode)],必须要切换到[插入模式(Insert mode)]才能够输入文字。
要离开 vi 可以在指令模式下键入
“:q”(不保存离开);
“:wq ”(保存离开)指令则是 存档后再离开(注意冒号)。null(5)vi的文件操作11.3.3 gcc编译器11.3.3 gcc编译器编译器的作用是将用高级语言或者汇编语言编写的源代码,翻译成处理器上等效的一系列操作命令。针对嵌入式系统来说,其编译器数不胜数,其中gcc 和汇编器 as 是非常优秀的编译工具,而且免费。
编译器的输出被称为目标文件。对于任何嵌入式系统而言,有一个高效的编译器、链接器和调试器是非常重要的,gcc 不仅在桌面领域中表现出色,还可以为嵌入式系统编译出高质量的代码。
使用语法:gcc [ option ] filename... 11.3.3 gcc编译器11.3.3 gcc编译器假设源程序文件名为test.c。
1. 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。
2. 选项 -o 用法:#gcc test.c -o test 作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。11.3.3 gcc编译器11.3.3 gcc编译器3. 无选项链接 用法:#gcc test.o -o test 作用:将编译输出文件test.o链接成最终可执行文件test。
4.-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 11.3.3 gcc编译器11.3.3 gcc编译器如果有多个源文件,基本上有两种编译方法: [假设有两个源文件为test.c和testfun.c]
1. 多个文件一起编译 用法:#gcc testfun.c test.c -o test 作用:将testfun.c和test.c分别编译后链接成test可执行文件。
2. 分别编译各个源文件,之后对编译后输出的目标文件链接。 用法: #gcc -c testfun.c //将testfun.c编译成testfun.o #gcc -c test.c //将test.c编译成test.o #gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test
以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。11.3.4 make工具和Makefile文件11.3.4 make工具和Makefile文件用make构建和管理软件工程。GNU的make能够使整个软件工程的编译、连接只需一个命令就可以完成。
make在执行时需要一个命名为Makefile的文件。Makefile文件描述了整个工程的编译链接等规则,包括:工程中的哪些源文件需要编译及如何编译;需要创建哪些库文件及如何创建库文件、如何最后产生想要得到的可执行文件。