一、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/archive/2011/03/15/1984650.html

嵌入式linux基础知识累积相关推荐

  1. 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

  2. Day 01嵌入式学习之Linux基础知识和命令操作

    学习嵌入式开发的随堂笔记 Day 01嵌入式学习之linux基础知识和命令操作 1.英文: read:读,r字母 write:写,w字母 execute:执行,运行,x字母 directory:目录, ...

  3. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  4. linux基础知识ppt下载,《Linux基础知识》PPT课件.ppt

    <<Linux基础知识>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<Linux基础知识>PPT课件.ppt(26页珍藏版)>请在装配图网上搜 ...

  5. 免费下载嵌入式Linux基础全套视频教程

    今天给大家分享一个嵌入式Linux基础的全套视频教程,需要的朋友可以看看! 嵌入式Linux作为一个系统学科,具有知识点多,知识难度大,实践操作性强等特点,很多踌躇满志的同学最终倒在了学习嵌入式Lin ...

  6. 尚观linux视频配套教程,尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备...

    尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备 5.jpg (67.09 KB, 下载次数: 0) 2018-4-16 09:34 上传 1.jpg (44.17 ...

  7. linux基础知识-链接列表

    linux基础知识-链接列表 1. 安装centos 7 1.1 Linux的初识 1.2 centOS 7安装教程 1.3 centOS 7配置ip和网络问题排查 1.4 PuTTY和Xshell远 ...

  8. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp

    linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...

  9. 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...

    本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

最新文章

  1. 基于深度学习的花卉图像关键点检测
  2. 笔记本在Win7下使用wubi安装Ubuntu10.04 双系统
  3. 如何选择分布式事务解决方案?
  4. 在GitHub中创建目录
  5. 关于 SET QUOTED_IDENTIFIER ON 和 SET ANSI_NULLS ON
  6. oracle中srv添加监听服务,Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务...
  7. [转]easyui常用控件及样式收藏
  8. 在ubuntu 64位的机器上执行arm-linux-gcc提示 no such file or directory
  9. Windows自带md5校验工具使用说明
  10. android TextView首行缩进两个字符
  11. 分享一款免费在线做图工具:ProcessOn
  12. 【图像算法朝圣之路二】虹膜识别1(K-means算法)
  13. R 语言实战-Part 3 笔记
  14. 知乎APP使用 产品体验报告
  15. open judge 1.7.18
  16. 微信小程序的页面美化
  17. Python:统计正负数个数
  18. 端到端、序列到序列、pipeline理解
  19. HTML onmouseover, onmouseout , onmousemove 事件属性
  20. vxe-table vxe-pager 如何使用分页,自定义分页

热门文章

  1. Js中的style,currentStyle,getComputedStyle()区别
  2. DB2 9 利用启示(733 测验)认证指南,第 7 部分: Java 编程(5)
  3. cxf开发实践(添加SSL支持)
  4. Golang slice原理
  5. leetcode算法题--队列的最大值
  6. OVS datapath主流程分析(二十一)
  7. linux内核网络协议栈--数据包的接收流程(二十三)
  8. leetcode算法题--最后一块石头的重量 II★
  9. 广西大学计算机科学与技术中法,广西大学
  10. Dao设计模式(Data Access Object)