嵌入式linux基础知识累积
一、GCC工具
GCC是一个全功能的ANSI C兼容编译器。
例子:gcc –o test test.c 和./test
基本用法是:gcc [options] [filename]
1.1 编译选项
-o 为将产生的可执行文件指定一个文件名。
-c 告诉GCC仅把源代码编译成目标代码而跳过会变和链接的步骤,产生.o的目标代码文件
-s 告诉GCC在为C代码产生了汇编语言文件后,就停止编译,产生.s的扩展名汇编语言文件。
-E 告诉编译器仅对输入文件进行预处理。
-O 告诉GCC对源代码进行基本的优化。
-O2 选项告诉GCC产生尽可能小和尽可能快的代码。
二、GNU Make
在linux环境下使用GNU的Make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、链接以至于最后的执行。
三、GDB
linux包含一个叫GDB的GNU调试程序。GDB是一个用来调试C和C++程序的强大调试器,它使用户能在程序运行时观察程序的内部结构和内存的使用情况。
gdb常见命令:
1、file:装入想要调试的可执行文件
2、kill:终止正在调试的程序
3、list:列出产生执行文件的源代码的一部分
4、next:执行一行源代码但不进入函数内部
5、step:执行一行源代码而且进入函数内部
6、run:执行当前被调试的程序
7、quit:终止gdb
8、watch:能监视一个变量的值而不管它何时被改变
9、print:显示表达式的值
10、break:在代码里设置断点,这将使程序执行到这里时被挂起
11、make:不退出gdb就可以重新产生可执行文件
12、shell:不离开gdb就执行UNIX shell命令
四、交叉编译环境
交叉编译环境就是在一台计算机上编译软件,其生成的软件在另一台不同类型处理器的机器上运行。
总结应用交叉编译环境时,嵌入式linux软件开发的流程如下:
(1)要有一台PC机和一个嵌入式开发板,这是硬件基础。
(2)在PC上安装linux操作系统。
(3)在linux上安装交叉编译工具。
(4)在linux环境编译代码文本,使用交叉编译器编译,调试器调试。
(5)完成挑时候,通过连接PC机的串口、USB口和网口,将程序下载到目标板上。
(6)在目标板上运行和测试程序。
五、NFS方式连接主机(嵌入式uClinux和Ubuntu9.10上NFS实验)
如果每次在开发板上测试程序时,都需要烧写FLASH的话,将是一件十分麻烦的事情(对于我们的嵌入式Linux开发来说,还需要重新生成根文件系统镜像才能烧录)。利用
NFS方式---将主机的硬盘作为开发板的网络硬盘来使用。
NFS是一种网络文件系统。
常见命令集合:
(1)file 命令:查看文件类型
(2)cp命令:cp 源文件名 目标地址
(3)mount:挂载,mount 源地址 目标地址
(4)cat:连接文件并打印到标准输出
例子:cat –b –E .lessrc 显示文件.lessrc的内容
-b参数表示从第一行开始记数,计算所有非空行的输出。 -E表示在每行结尾加上字符'$'。
(5)cd:改变当前目录
(6)clear:清除屏幕
(7)df:报告磁盘剩余空间。
(8)find:用来在大量目录中搜寻特定文件
find [路径] [匹配表达式]
(9)man:显示具有一定格式的在线手册
(10)mkdir:建立目录
(11)passwd:设置用户的密码
(12)pwd:显示正在工作或当前目录名
(13)rm:删除文件或目录
(14)mount,umount:装载/卸下一个文件系统
(15)~/.bashrc和~/.bash_profile的区别
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
posted on 2011-03-15 11:37 yingfang18 阅读(363) 评论(0) 编辑 收藏 举报