- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 linux输入子系统
1.概述 linux的input子系统用来管理所有的输入类设备,对所有的输入类设备进行抽象,以便更简单的编写输入类设备的驱动程序。2.应用/*向内核注册一个只有4键的小键盘*/static int keyboard_init(){ /* 1. 分配一个input_dev结构体 */ buttons_dev = input_allocate_device...
2018-08-10 10:51:46 303
原创 ubuntu14 安装tensorflow
1.概述TensorFlow是谷歌开发的人工智能平台,用于语音识别或图像识别等多项机器学习和深度学习领域。2.安装本文基于python2.7安装。注意:TensorFlow只能安装在64位的ubuntu上。安装pipsudo apt-get install python-pip python-dev更新pipsudo pip install --upgrade p...
2018-08-09 16:14:01 260
原创 linux定时器的使用
1.概述 定时器(Timer)本来是硬件资源,但是由linux接管了所有的CPU资源,并对这些资源进行了抽象,那么我们对Timer的使用就应该按照linux的要求,使用linux提供的接口来使用Timer。2.使用初始化static struct timer_list buttons_timer;//内核定时器结构体static int Timer_init(){ ...
2018-08-09 11:48:13 251
原创 linux的阻塞非阻塞文件读写
1.概述 对于设备文件,我们可以用阻塞和非阻塞的方式读写。在阻塞方式下,若设备不可读写,则该进程休眠,释放CPU资源;若设备文件可读写,则对设备文件进行读写。在非阻塞方式下,若设备不可读写,进程放弃读写,继续向下执行;若设备文件可读写,则对设备文件进行读写。2.使用及实现原理 使用: 要使用非阻塞方式读写设备文件,则在调用open()函数时,添加O_NO...
2018-08-09 10:38:07 7815
原创 linux的同步和异步
1.同步 笔者在本文只分析poll同步机制,首先看poll函数的用法: #include <poll.h> int poll(struct pollfd fds[], nfds_t nfds, int timeout); struct pollfd { int fd; /*文件描述符*/ short ev...
2018-08-08 15:50:04 2133
原创 对linux源码树中arch/arm/目录的理解
1.概述 linux是可以支持很多平台的,比如x86、MIPS、ARM,linux要支持这些不同的架构,就必须有各种架构相关的模块代码,这些不同模块代码的实现了对架构硬件资源的管理,而linux内核本身只关注进程调度、内存管理、网络管理、文件系统、设备驱动等内容,内核实现上述功能需要的数据结构,由arch/xxx目录下的程序来构造和注册到内核,arch/xxx目录下的程序使用标准的...
2018-08-07 17:51:29 7629 2
原创 嵌入式linux中断浅解
本文简单理一下嵌入式linux对于ARM系列SoC的中断管理。 我将嵌入式linux的中断分为了3个级别,分别是: 1. CPU级: 嵌入式linux只使用了ARM的IRQ中断,当发生一个IRQ时,CPU会自动执行0x00000018(低端向量模式)或0xffff0018(高端向量模式)处的指令,此处一般放置了一条跳转指令b add...
2018-08-07 16:03:20 913
去水印小程序源码.rar
2021-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人