在Linux系统中,文件系统可以根据需要随时装载。mount-text3/dev/hdal/mnt表示把刚才格式化好的IDE硬盘第一个分区挂载到/mnt目录下,并且指定了分区的文件系统类型是ext3。mount命令通过-t参数指定挂载文件系统的类型,还可以使用-o参数指定与文件系统相关的选项,例如数据的处理方式等。为了保证文件系统的完整性,在关闭文件系统之前,所有挂载的文件系统都必须卸载。umount/mnt表示把挂载在/mnt目录下的文件系统卸载。......
2023-11-19
1.使用GNU cc
gcc可以使程序员灵活地控制编译过程。编译过程一般可以分为下面四个阶段,每个阶段分别调用不同的工具进行处理。
2.gcc的版本信息
一般来说,系统安装后就已经安装和设定好了gcc。在shell的提示符下键入gcc v,屏幕上就会显示出目前正在使用的gcc的版本,同时这可以确定系统所支持的是ELF还是a.out可执行文件格式。
Linux系统中可执行文件有两种格式。第一种格式是a.out格式,这种格式用于早期的Linux系统以及Unix系统的原始格式。a.out来自于Unix C编译程序默认的可执行文件名。当使用共享库时,a.out格式就会发生问题。把a.out格式调整为共享库是一种非常复杂的操作,由于这个原因,一种新的文件格式被引入Unix系统5的第四版本和Solaris系统中。它被称为可执行和连接的格式(ELF)。这种格式很容易实现共享库。
ELF格式已经被Linux系统作为标准的格式采用。gcc编译程序产生的所有的二进制文件都是ELF格式的文件(即使可执行文件的默认名仍然是a.out)。较旧的a.out格式的程序仍然可以运行在支持ELF格式的系统上。
gcc的使用格式如下:(www.chuimin.cn)
$gcc[options][filenames]
其中filenames为所要编译的程序源文件。
当使用gcc时,gcc会完成预处理、编译、汇编和连接。前三步分别生成目标文件,连接时,把生成的目标文件链接成可执行文件。gcc可以针对支持不同的源程序文件进行不同处理,文件格式以文件的后缀来识别。
GCC支持数种调试和剖析选项。在这些选项里最常用的是-g和-pg选项。
-g选项告诉gcc产生能被GNU调试器使用的调试信息以便调试程序。gcc提供了一个很多其他C编译器里没有的特性,在gcc里能使-g和-O(产生优化代码)连用。这一点非常有用,因为能在与最终产品尽可能相近的情况下调试代码。同时使用这两个选项时必须清楚所写的某些代码已经在优化时被gcc作了改动。
-pg选项告诉gcc在程序里加入额外的代码,执行时,产生gprof用的剖析信息以显示程序的耗时情况。
有关ARM嵌入式系统原理与应用的文章
在Linux系统中,文件系统可以根据需要随时装载。mount-text3/dev/hdal/mnt表示把刚才格式化好的IDE硬盘第一个分区挂载到/mnt目录下,并且指定了分区的文件系统类型是ext3。mount命令通过-t参数指定挂载文件系统的类型,还可以使用-o参数指定与文件系统相关的选项,例如数据的处理方式等。为了保证文件系统的完整性,在关闭文件系统之前,所有挂载的文件系统都必须卸载。umount/mnt表示把挂载在/mnt目录下的文件系统卸载。......
2023-11-19
以上规定说明了RS-232C标准对逻辑电平的定义。EIA-RS-232C与TTL转换:EIA RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。......
2023-11-19
该标准定义了32位浮点和64位双精度浮点二进制小数。表2.2两种精度浮点数移码以双精度的为例。方括号表示的就是小数点后第24位了,由于单精度浮点数尾数只有23位,所以需要舍入:由于第24位为1,且之后不全为0,所以需要向第23位进1完成上舍入:1.10010001111010111000011×21。综上所述,3.14的单精度浮点数表示为:0 000-1000-0000 1001-0001-1110-1011-1000-011十六进制代码为:0x4048F5C3......
2023-11-19
嵌入式系统的发展大致经历了嵌入式微控制器、嵌入式微处理器和嵌入式数字信号处理器、嵌入式片上系统和以Internet为标志的嵌入式系统等阶段。嵌入式系统的出现最初是基于单片机的,这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。第四阶段是以Internet为标志的嵌入式系统。......
2023-11-19
上面介绍了字符设备驱动程序的重要的数据结构,那么如何设计一个字符设备驱动程序的数据结构?字符设备驱动程序的初始化流程一般可以用如下的过程来表示:定义相关的设备文件结构体[如file_operation()中的相关成员函数的定义]。向内核申请主设备号。内核提供了三个函数来注册一组字符设备编号,这三个函数分别是:alloc_chrdev_region()、register_chrdev_region()和register_chrdev()。所以在一般的字符设备驱动程序中,不会看到对cdev的操作。这里举出字符设备驱动程序的常见的两种编程架构。......
2023-11-19
Linux统按照文件中数据的特点对文件划分不同的类别,称做文件类型。Linux系统提供了一个file命令用来查看文件的类型,执行file<文件名>即可得到指定文件的类型。目录的第一项是目录本身,以“.”作为目录本身的名称。......
2023-11-19
按照惯例,所有的Makefile变量都应该是大写。如果变量的值发生变化,就只需要在一个地方修改,从而简化了Makefile的维护。现在利用变量把前面的Makefile重写一遍:除用户自定义的变量外,make还允许使用环境变量、自动变量和预定义变量。需要注意的是,如果用户在Makefile中定义了同名的变量,用户自定义变量将覆盖同名的环境变量。此外,Makefile中还有一些预定义变量和自动变量,但是看起来并不像自定义变量那样直观。......
2023-11-19
数据处理指令的使用原则:●所有操作数都是32位,可以是寄存器或立即数。后缀S表示指令的操作是否影响标志位。例如:3.ADD指令ADD{cond}{S}
2023-11-19
相关推荐