嵌入式系统设计流程概述
关键词解释:
1.Glibc
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万有。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个作业系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。 详见:http://baike.baidu.com/view/1323132.htm#4
2.Binutils
GNU binutils是一组二进制工具集。
主要的工具有:
-
ld - GNU 连接器:由汇编器产生的目标代码必须经过链接器的处理才能生成可执行代码,ld可以将多个目标文件链接
成为可执行程序,同时指定了程序在运行时是如何执行的。 - as - GNU 汇编器:as工具主要用来将汇编语言编写的源程序转换成二进制形式的目标代码
还包括其他的工具:
- addr2line - 将地址转换成文件名或行号对,以便调试程序
- ar - 主要用于创建C库文件
- c++filt - 链接器ld使用该命令可以过滤 C++符号和 Java 符号,防止重载函数冲突
- nm - 从目标代码文件中列举所有变量(包括变量值和变量类型),如果没有指定目标文件,则默认是a.out文件
- objcopy - objcopy工具使用GNU BSD 库,它可以把目标文件的内容从一种文件格式复制到另一种格式的目标文件中
- objdump - 显示目标文件信息。objdump工具可以反编译二进制文件,也可以对对象文件进行反汇编,并查看机器代码。
- ranlib -生成索引以加快对归档文件的访问,并将其保存到这个归档文件中 在索引中列出了归档文件各成员所定义的可重分配目标文件。
- size - 列出目标模块或文件的代码尺寸
- strip -放弃所有符号连接。删除目标文件中的全部或者特定符号。
3. Cross.tar.bz2:解压之后即得到交叉编译工具;
4. patch: 补丁;
5.MKFS工具:
使用权限 : 超级使用者
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks] [-L Lable]
说明 : 建立 linux 档案系统在特定的 partition 上
参数 :
-device : 预备检查的硬盘 partition,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
-block : 给定 block 的大小
-L:建立lable
例子 :
在 /dev/hda5 上建一个 msdos 的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来 :
mkfs -V -t msdos -c /dev/hda5
6.BusyBox:
busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux应用中,busybox有非常广的应用,另外,大多数linux发行版的安装程序中都有busybox的身影,安装linux的时候案ctrl+alt+F2就能得到一个控制台,而这个控制台中的所有命令都是指向busybox的链接.
Busybox的小身材大作用的特性,给制作一张软盘的linux带来了及大方便.
Busybox的小身材大作用的特性,给制作一张软盘的linux带来了及大方便.
7.Rootfs,img:开发板自带的文件系统