嵌入式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时,该该文件被读取.

原文地址:https://www.cnblogs.com/yingfang18/p/1984650.html