自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux中select函数用法

1、为了解决阻塞问题,select方法从多个文件描述符中,获取文件描述符的状态消息。 int select(int nfds , fd_set *readfds, fd_set *writefds , fd_set *exceptfds ,struct timeval *timeout) int nfds 需要检测文件的描述符,使用select时,nfds的值应为 fd(需检测的描述符

2017-11-10 11:49:24 338

转载 linux设备驱动归纳总结

前言: (总结已经基本写完,这段时间我会从新排版和修正。错误总会有的,望能指正!) 前段时间学习了嵌入式驱动,趁着没开始找工作,这段时间我会每天抽出时间来复习。  我的总结是根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一版来归纳的。文章中涉及一些自己的想法,并不能保证所说的一定正确。 我也

2016-03-09 17:37:31 288

转载 数据挖掘十大经典算法

国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. 不仅仅是选中的十大算法,其实参加评选的18种算法,

2016-01-05 15:12:07 1549

转载 内核编程(1)

第一步: 首先我们来看一下程序的头文件 #include #include #include 这三个头文件是编写内核模块程序所必须的 3 个头文件 。 Tiger-John 说明: 1> 由于内核编程和用户层编程所用的库函数不一样,所以它的头文件也和我们在用户层编写程序时所用的头文件也不一样。 2> 我们在来看看在 L inux 中又是在那块存放它们的

2016-01-05 15:07:15 252

原创 Linux 设备节点

1)按照上节的最简单Linux驱动框架,写的程序。在应用层调用时,发现文件打开失败。出现的问题是没有创建设备文件。     通过 cat/proc/devices 可以查看你的设备节点是否创建成功。可以看到主设备号,和设备名。   通过 ls /dev/  可以看到设备文件是否存在。如果没有,需要手动进行创建,创建方法如下:  mknod   /dev/设备名  设备类型(c、b) 主设备号

2015-12-21 10:31:41 699

原创 Linux简单驱动框架

1、驱动理解 Linux下的驱动,主要是符合Linux驱动的框架,满足Linux函数要求。通过对驱动的学习,简单字符驱动整体框架如下: #include #include #include #include #include #include #include #include #include #include #include #include

2015-12-19 12:41:27 273

原创 module_param

1、作用:向内核模块传递参数。 2、样式: static char *name = "ff"; static int age=31; module_param(age, int ,S_IRUGO); module_param(name, charp ,S_IRUGO); static int __init hello_init(void) { printk("Name:%s\n

2015-12-18 11:09:55 429

原创 c语言中内存管理

内存主要分为3部分: 1)静态存储区:这块内存在整个程序运行时都存在,主要存放全局变量,和static变量 2)在栈上创建,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自 动被释放。栈内存分配运算,内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 3)从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序

2015-12-16 11:27:56 277

原创 copy from user函数 和copy to user 函数分析

1、copy from user函数 copy from user函数是从用户空间的数据拷贝到内核空间,成功返回0,失败返回没有被拷贝的字节数。如下面函数 s32 drv_rf_ioctl_w_parma(unsigned long arg) {     PARAM  param;     if(copy_from_user((uint8_t *)&param, (void __us

2015-12-08 09:29:48 1716 1

Linux设备驱动程序设计入门

Linux设备驱动程序设计入门,里面有很详细的介绍,对新手来说很有用!

2016-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除