- 博客(12)
- 资源 (11)
- 收藏
- 关注
转载 s3c6410的GPIO驱动总结
1、查看gpio状态:头文件中int gpio_request(unsigned gpio, const char *label); ,该函数的功能是通过查看该gpio保存的记录标志是否为NULL来判断GPIO是否被占用,并把此gpio取名为*lable。 例如:if(gpio_request(S3C64XX_GPB(0), "GPB"
2015-11-24 18:37:24 711
转载 error:unknown field ioctl specified in initializer
在linux-2.6.36内核上加载编译驱动时,出现 error:unknown field 'ioctl' specified in initializer原因是:在2.6.36内核上file_operations发生了重大的改变:原先的 int (*ioctl)(struct inode*, struct file*, unsigned int
2015-11-24 17:40:41 352
转载 IS_ERR()函数详解
内核中的函数常常返回指针,问题是如果出错,也希望能够通过返回的指针体现出来。 总体来说,如果内核返回一个指针,那么有三种情况:合法指针,NULL指针和非法指针。1)合法指针:内核返回的指针一般是指向页面的边界(4K边界),即 ptr & 0xfff == 02)非法指针:这样ptr的值不可能落在(0xfffff000,0xffffffff)之
2015-11-23 20:52:33 8258
转载 Linux内核register_chrdev_region()系列函数
内核提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()。其中,register_chrdev_region()是为提前知道设备的主次设备号的设备分配设备编号。alloc_chrdev_region() 是动态分配主次设备号。register_chrd
2015-11-22 18:44:37 488
转载 Linux之dev详解
一.前言以前对于cdev仅仅是知其然,而不知其所以然。在本文中,将深入理解cdev的架构以及具体的实现。二.真实的cdev2.1 设备号搞驱动的都应该知道的东西,在写gpio驱动时,往往会用到以下两个函数。alloc_chrdev_region --自动分配设备号register_chrdev_region --分配以设定的设备号。上面两个函数的调用很
2015-11-21 18:54:55 1549
转载 一步一步写misdevice
对于linux的驱动程序来说,主要分为三种: miscdevice、platform_device、platform_driver 。这三个结构体关系: (基类) kobject -------------------- / \ \ / \ \ device cdev
2015-11-21 18:45:44 840
转载 嵌入式Linux函数之printfk()函数
1概述: printk相当于printf的孪生姐妹,她们一个运行在用户态,另一个则在内核态被人们所熟知。但是根据不同的操作系统也会有不一样的效果,例如编写一个hello word 内核模块,使用这个函数不一定会将内容显示到终端上,但是一定在内核缓冲区里,可以使用dmesg.查看效果。 对于做嵌入式或者熟悉linux内核的人来说,对printk这个函数一定不会感到陌生。printk是
2015-11-19 21:34:09 1982
转载 int类型和char类型的区别
比较下面三个定义式的区别:int i = 1;char i = 1;char i = '1';int用来定义整型变量,char用来定义字符型变量,要清楚的知道三个定义式的区别,可以比较它们在内存中的存储形式。数据在内存中是以二进制形式存放的,而且是以补码表示的。一个正整数的补码和该数的原码(即该数的二进制形式)相同;如果数值是负的,求补码的方法是:将该数的绝对值的二进制形式,按
2015-11-16 21:11:17 24698
转载 如果让我重做一次研究生
王汎森 院士 / 中央研究院历史语言研究所这个题目我非常喜欢,因为这个题目,对大家多少都有实际的帮助。如果下次我必须再登台演讲,我觉得这个题目还可以再发挥一两次。我是台大历史研究所毕业的,所以我的硕士是在台大历史研究所,我的博士是在美国普林斯顿大学取得的。我想在座的各位有硕士、有博士,因此我以这两个阶段为主,把我的经验呈现给各位。我从来不认为我是位有成就的学者,我也必须跟各位坦白,我为了要
2015-11-16 21:08:51 564
原创 嵌入式Linux应用程序常用到的几个函数
sizeof一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于数据类型
2015-11-16 10:40:12 622
原创 嵌入式Linux的几个小问题
帖子中的问题都是一些很基本的问题,是我在学习嵌入式Linux中遇到的一些问题,自己在网上搜到答案并且贴出来。 1 linux驱动和应用程序关系? 驱动程序运行在内核空间,而应用程序运行于用户空间。一般情况下应用程序是不能直接访问硬件的,但最终程序的执行结果必然是要到硬件的,这时就需要驱动程序。打个比方,你要将一段字符写进硬盘,你在应用程序中是以文件的抽象方式进行的,但是在这个层
2015-11-14 18:12:33 583
转载 va_start和va_end的用法详解
本文为转载,转载地址为:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html 主要介绍va_start和va_end的使用及原理。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void
2015-11-03 20:40:33 551
stm32低功耗之待机模式
2016-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人