摘要: 时间编程 一、时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT) Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数”来表 阅读全文
posted @ 2016-03-21 15:25 for_learning 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 库函数系统调用文件方式 基于C函数库的文件编程是独立于具体的操作系统平台的,不管是在Windows、Linux还是其他的操作系统中,都是使用这些函数。使用库函数进行程序设计可提高程序的可移植性。 对于标准的C函数库,它们的操作都是围绕流来进行的。流是一个抽象的概念,当程序需要读取数据的时候,就会开启 阅读全文
posted @ 2016-03-21 14:46 for_learning 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 系统调用方式文件编程 一、文件描述符 在Linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配,我们称之为:文件描述符。 二、函数学习 2.1打开文件 open 2.1.2 函数原形 1).int open(const char *pathname,int flags); 2).int 阅读全文
posted @ 2016-03-21 14:33 for_learning 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 静态/动态函数库设计 Linux应用程序设计中需要的外部函数主要由函数库和系统调用来提供。 两者区别: 一、函数库分类 函数库按照链接方式可分为: 1.静态链接库 对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(libra 阅读全文
posted @ 2016-03-21 14:17 for_learning 阅读(455) 评论(0) 推荐(0) 编辑
摘要: linux应用程序地址布局 在学习Linux应用程序开发时,经常会遇到如下概念:代码段、数据段、BSS段(Block Started by Symbol,又名:未初始化数据段)、堆(heap)和栈(stack)。而这些部分也是构成Linux应用程序的重要组成部分。 一、内存布局 1.从低地址到高地址 阅读全文
posted @ 2016-03-21 14:00 for_learning 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 协处理器 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担。ARM可支持多达16个协处理器,其中CP15是最重要的一个。 CP15提供16组寄存器 通过提供的16组寄存器访问CP15 一、协处理器访问 ARM微处理器可支持多达16个协处理器,用于各种协处理操作,在 阅读全文
posted @ 2016-03-21 13:00 for_learning 阅读(240) 评论(0) 推荐(0) 编辑
摘要: ARM伪指令 在ARM汇编语言程序中里,有一些特殊指令助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在元程序中的作用是为完成汇编程序作各种准备工作,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。 伪指令本身并 阅读全文
posted @ 2016-03-21 12:54 for_learning 阅读(442) 评论(0) 推荐(0) 编辑
摘要: ARM指令学习 一、算数和逻辑指令 1— MOV 数据传送指令 2.— MVN 数据取反传送指令 3.— CMP 比较指令 4.— CMN 反值比较指令 5.— TST 位测试指令 6.— TEQ 相等测试指令 7.— ADD 加法指令 8.— ADC 带进位加法指令 9.— SUB 减法指令 10 阅读全文
posted @ 2016-03-21 11:53 for_learning 阅读(1659) 评论(0) 推荐(0) 编辑
摘要: ARM寻址方式 所谓寻址方式就是处理器根据指令中给出的信息来找到指令所需操作数的方式。 一、立即数寻址 立即数寻址,是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即数寻址。:立即数不能作为指令中的第二操作数。该规定与高级 阅读全文
posted @ 2016-03-21 11:36 for_learning 阅读(462) 评论(0) 推荐(0) 编辑
摘要: ARM寄存器学习 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC、一个状态寄存器都是可访问的。 37个寄存器=7 阅读全文
posted @ 2016-03-21 11:29 for_learning 阅读(445) 评论(0) 推荐(0) 编辑