摘要: 一、 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 二、信号的种类 信号的名称是在头文件signal.h中定义的,信号都以SIG开头 命 阅读全文
posted @ 2017-10-16 17:46 十指紧扣孤独 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 先进先出的文件 写入数据的是管道的尾部,读出数据的是管道的头部。 管道可以分为两种,有名管道FIFO,无名管道pipe。 一、无名管道 只能用于父进程和子进程的通信。只能有 pipe() 创建 使用pipe时,会创建2个文件描述符: pipe_fd[0] 用于读管道 , pipe_fd[1] 用于写 阅读全文
posted @ 2017-10-16 15:30 十指紧扣孤独 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一、socket 一般来说socket有一个别名也叫做套接字。 socket起源于Unix,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、 阅读全文
posted @ 2017-10-07 12:59 十指紧扣孤独 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 串口编程流程:(串口发送部分) 串口的初始化程序,基本上是通用的: 内核中关于串口初始化的结构体 arch/arm/include/asm/termios.h termio 结构体: 串口初始化步骤是: – 读取当前参数 – 修改参数 – 配置参数 tcgetattr 函数 读取当前参数函数 man 阅读全文
posted @ 2017-09-28 20:28 十指紧扣孤独 阅读(304) 评论(0) 推荐(0) 编辑
摘要: -解决竞态的一种操作 >原子操作 解决竞态的途径是“保证对共享资源的互斥访问 原子操作 原子的操作指的就是在执行过程中不会被别的代码所中断的操作。 在Linux中原子操作的方法有很多,有整型原子和位原子,他们在任何情况下操作都是原子的,这些原子操作的实现都是依赖CPU来实现的,因此这些函数都与CPU 阅读全文
posted @ 2017-09-28 11:43 十指紧扣孤独 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 其中一部分从伯乐在线和网络上摘抄的内容,不用于商业用途。 一、linux系统将设备分为3类:字符设备、块设备、网络设备。 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED 阅读全文
posted @ 2017-09-27 18:32 十指紧扣孤独 阅读(2354) 评论(0) 推荐(0) 编辑
摘要: .1 杂项设备驱动的引入 字符设备指那些必须以串行顺序依次进行访问,且没有经过系统快速缓冲的设备,了解了Linux内核中驱动的框架和组成,以及编写的步骤等。但是,当我们写的驱动程序多了之后,就会发现:部分硬件并不符合预先定义的字符设备的范畴,而且普通字符设备的主设备号不管是静态分配还是动态分配,都会 阅读全文
posted @ 2017-09-27 17:56 十指紧扣孤独 阅读(447) 评论(0) 推荐(0) 编辑