- 博客(45)
- 资源 (4)
- 收藏
- 关注
转载 memalign和valloc
memalign在GNU系统中,malloc或realloc返回的内存块地址都是8的倍数(如果是64位系统,则为16的倍数)。如果你需要更大的粒度,请使用 memalign或valloc。这些函数在头文件“stdlib.h”中声明。在GNU库中,可以使用函数free释放memalign和valloc 返回的内存块。但无法在BSD系统中使用,而且BSD系统中并未提供释放这样的内存块的途径。
2012-09-25 10:18:56 2644
转载 Ubuntu 10.4 下安装gSOAP安装过程和问题解决
本文转自: http://www.cnblogs.com/skyme/archive/2011/01/04/1925676.html 客户端http://blog.csdn.net/yui/archive/2010/07/08/5721877.aspx服务端http://blog.csdn.net/yui/archive/2010/07/19/5747433.aspx进阶
2012-09-17 10:19:55 1099
转载 linux下gsoap的初次使用
这两天,接到一个项目,需要在linux程序中调用远程的web应用,通过soap协议。开始上网查了下资料,发现了gsoap库这个好东东^_^。继续在网上搜索例子代码,发现基本都不可编译通过,于是便一边学习一边写了这个最简单的例子,希望对后来者起到一点帮助。对gsoap的简单介绍,请自己参阅http://gsoap2.sourceforge.net/ 下载相应的包,主要有
2012-09-17 10:01:08 903
转载 gSOAP中文文档
1、背景 转贴 2 gSOAP文档翻译计划 2.1 gSOAP文档翻译计划(序)前一阵子需要在unix c平台下创建一个webservice应用。头痛之余,上网查询相关资料,偶然发现了gSOAP开发包。于是乎立即下载试用了一下,效果很好。在它的帮助下,我很快完成了webservice应用的设计开发工作。今天,心里突然升起一个念头:为何不把整个gSOAP的帮助文档翻译一
2012-09-17 09:53:24 2690
转载 Flash 存储器接口标准:CFI和JEDEC
Flash 存储器接口标准:CFI和JEDEC。 CFI为公共Flash接口[Common FlashInterface],用来帮助程序从Flash芯片中获取操作方式信息,而不用在程序中硬编码Flash的ID。编辑本段CFI Flash 自从Intel公司于1988年推出了可快速擦写的非易失性存储器Flash Memory以来,快速擦写存储器FlashM
2012-09-12 10:46:17 4397
原创 主分区,扩展分区,逻辑分区的由来
linux设备驱动交流:qq群:257970754 其实本来一个硬盘分区中是没有什么主分区,扩展分区和逻辑分区的概念的,每个分区的类型呢都是所谓的主分区。但是,由于硬盘仅仅为分区表预留了64个字节的存储空间,而每个主分区的参数占据16个字节,这个意思就是说总共只能存储4个分区的数据,意思就是,一块儿物理硬盘只能划分为4个主分区磁盘。做为21世界的三俗青年,闭着 眼睛也知道 ,这必
2012-09-12 10:25:36 1121
转载 基于MTD的NANDFLASH设备驱动底层实现原理分析(七)
上接:基于MTD的NANDFLASH设备驱动底层实现原理分析(六)初始化基本的硬件配置后probe函数就会开始与NAND芯片进行交互了,它要做的事情主要包括这几个方面:读取NAND芯片的ID,然后查表得到这片NAND芯片的如厂商,page size,erase size以及chip size等信息,接着,根据struct nand_chip中options的值的不同,或者在NAND
2012-09-11 18:26:46 1128
转载 基于MTD的NANDFLASH设备驱动底层实现原理分析(六)
实在写不下去了,仔细的想了一想还是把mtd/nand/s3c2410.c好好的分析分析在Linux中NANDFLASH设备驱动是被注册成平台驱动的。我还是从函数的入口出发一步一个脚印的分析。突然间发现这些代码真的很经典由于这一次CPU是S3C2440所以分析过程中会把其他的CPU去掉七、mtd/nand/s3c2410.c函数的解析1、函数中出现的几个结构体struct s
2012-09-11 18:26:03 1494
转载 基于MTD的NANDFLASH设备驱动底层实现原理分析(五)
Linux内核在MTD的下层实现了通用的NAND驱动(/driver/mtd/nand/nand_base.c)因此芯片级的驱动实现不再需要我们关心mtd中的那些成员函数了主题转移到nand_chip数据结构中先了解了解nand_chip结构体struct nand_chip { void __iomem *IO_ADDR_R; //读8位I/O线的地址
2012-09-11 18:25:09 1158
转载 基于MTD的NANDFLASH设备驱动底层实现原理分析(四)
进过前面3篇文章对NANDFLASH的一些硬件特性以及MTD的上层操作已经有了一个大体概念,这些东西的重要性就像你要吃饭那么你首先得学会拿筷子道理一样吧,应该一样的。五、MTD原始设备层和硬件驱动层的桥梁: 熟悉这几个重要的结构体:linux/mtd/mtd.hstruct mtd_info { u_char type; /**内存技
2012-09-11 18:24:12 1377
转载 基于MTD的NANDFLASH设备驱动底层实现原理分析(三)
非常的说:我突然发现在写这些关于NAND驱动的文章的时候,原来我一直是在改写别人的博客。。。。。其实这并不要紧的,我也觉得这不仅仅是一种比较好的学习方法了,为什么呢,因为当我在看他的博客的时候,我明白了一点,然后当我自己要写的时候。。对这个东东又进一步了解一点了。。呵呵Copy也分档次了五、硬件时序到软件代码的演变过程对nand_base.c部分代码的分析该文件位于还是把那个读NA
2012-09-11 18:22:09 2149
转载 基于MTD的NANDFLASH设备驱动底层实现原理分析(二)
四、常见的NANDFLASH的操作 1、要实现对 Nand Flash 的操作,比如读取一页的数据,写入一页的数据等,都要发送对应的命令,而且要符合硬件的规定,如图: 比如说要实现读一页的数据,就要发送Read命令,而且分两个周期发送,即分两次发送对应的命令,第一次是 0x00h,第二次是 0x30h,而两次命令中间,需要发送对应的你所要读取的页的地址,对应地,
2012-09-11 18:08:59 1227
转载 基于MTD的NANDFLASH设备驱动底层实现原理分析(一)
经过UBOOT初步的移植,Linux内核初步的移植,Linux内核总线设备模型的分析,等一系列痛苦的折腾,目的就是想更好的来分析下NANDFLASH的驱动。。大概一共历经了半个月的时间,慢慢的对NANDFLASH驱动程序有感觉了。。。一、MTD体系结构:Linux内核提供MTD子系统来建立FLASH针对Linux的统一、抽象接口。MTD将文件系统与底层的FLASH存储器进行
2012-09-11 17:56:57 1464
转载 NandFlash系列之二:S3C2410读写Nand Flash分析
一、结构分析S3C2410处理器集成了8位NandFlash控制器。目前市场上常见的8位NandFlash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述NandF
2012-09-11 16:43:08 1176
转载 DM9000AEP调试的时候注意事项:
DM9000AEP调试的时候注意事项:1.首先要判断芯片的真假。常见的方法是读取芯片的ID号。当然有些工程师朋友的寄存器设置,以及时序设置有问题,读取芯片的ID号就会错。读取ID是最基本的操作。2.其次确认芯片无质量问题后,再确定是硬件,还是软件方面的问题。一般软件方面,问题很容易解决。硬件问题,需要注意:网络变压器的CT端,一般要接DM9000AEP的管脚2,9脚输出的2.5V,输出
2012-09-11 11:58:18 3389
转载 DM9000AEP调试经历
DM9000AEP调试经历:操作系统Wince6.0 ,硬件平台S3C6410,网卡芯片DM9000AEP....... 调试DM9000AEP调试了近两个礼拜了,今天终于好了。郁闷死了。最开始调试的时候,把主要的经历放在了驱动程序上了。其实不是这样的。经过两个礼拜的调试,发现最重要的就是接收和发送端得那四个电阻了。先说说我的调试现象,然后在给出解决方法。 1.第一次调试
2012-09-11 11:56:48 3052
转载 I2C温度传感器应用
需求: 读嵌入式温度传感器的值。已知条件:*温度传感器已经在主板上焊好了。*温度传感器型号为lm75*linux自带驱动,在linux-2.6.20.21/drivers/hwmon/lm75.c*温度传感器的电路 问题与解答:*linux自带的驱动怎么用的?看lm75.c的代码,发现此温度传感器用的是I2C的总线。代码中看到i2c
2012-09-10 10:58:50 3852
转载 gsensor架构和原理分析
本文主要描述了在android2.3平台G-sensor相关软硬件的体系架构和实现原理,按照Applications、Framework、HAL、Driver和Hardware五大层次分别介绍。1.系统架构 (Architecture)1.1 Android体系架构图1.2 Sensor子系统架构图 · Applicati
2012-09-10 10:54:46 1362
转载 I2C设备没有响应的可能的原因
1. SCL/SDA没有,2. i2c地址不对;有些平台的i2c地址需要右移一位,有些不需要。例如如果IO芯片的地址是0xEA, 那么你的函数里面可能需要使用使用(0xEA>>1)作为设备的地址3. 时钟速率不匹配,有的芯片支持的是SMBus协议,和I2C有点差异。一般出错是主机SCK过快。 4.I2C设备工作不正常,如电压不正常,时钟不正常
2012-09-08 22:59:04 7479
转载 linux块儿设备驱动实例
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.
2012-09-08 21:20:49 1491
转载 MMC/SD卡驱动实例开发讲解(二)
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.
2012-09-08 20:37:47 3574
转载 MMC/SD卡驱动实例开发讲解(一)
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.
2012-09-08 20:36:29 8203 1
转载 SD卡的初始化流程
当host上电后,使所有的卡设备处于卡识别模式,完成设置有效操作电压范围,卡识别和请求卡相对地址等操作。1、 发送指令CMD0使卡设备处于idle状态;2、 发送指令CMD8,如果卡设备有response,说明此卡为SD2.0以上;3、 发送指令CMD55+ACMD41,该指令是用来探测卡设备的工作电压是否符合host端的要求;在发送ACMD41这类指令之前需要先发送C
2012-09-08 19:13:15 11222 1
转载 sd调试
SD卡初始化及读写流程 SD卡调试关键点:1. 上电时要延时足够长的时间给SD卡一个准备过程,在我的程序里是5秒,根据不同的卡设置不同的延时时间。SD卡初始化第一步在发送CMD命令之前,在片选有效的情况下首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。2. SD卡发送复位命令CMD0后,要发送版本查询命
2012-09-08 18:49:13 1979
转载 SD卡驱动理论篇
一.SD/MMC卡介绍 1.1.什么是MMC卡 MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。 1.2.什么是SD卡 SD:SD卡为Secure Digital Memory Card, 即安全
2012-09-08 12:25:36 2926
转载 SD卡驱动调试经验
做SD/MMC卡驱动的项目也有大半年了,总觉得该总结些什么了。在这里,主要就是记录一些比较常见的问题及解决方法,以免再一次遇到。首先就是SD/MMC卡的初始化错误问题。在找错误之前,先确认:1.用读卡器确认这张SD卡是否损坏;2.用另一套环境(一样的程序)读取同一张卡,是否正常;3.用相同的环境读取另外一张SD卡是否正常。如果是1,那么就直接退出本文章了;如果是2,那么就是该环境上出现虚焊短路
2012-09-08 11:35:39 4678 3
原创 热插拔的工作原理 hotplug机制和udev
设备节点的创建,是通过sysfs接口分析dev文档取得设备节点号,这个很显而易见。那么udevd是通过什么机制来得知内核里模块的变化情况,如何得知设备的插入移除情况呢?当然是通过hotplug机制了,那 hotplug又是怎么实现的?或说内核是如何通知用户空间一个事件的发生的呢?答案是通过netlink socket通讯,在内核和用户空间之间传递信息。内核调用kobject_ueven
2012-09-06 14:18:35 9250
转载 linux内核input子系统解析
作者:刘洪涛,华清远见嵌入式学院讲师。 Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。 因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系
2012-09-06 13:54:58 1314
转载 linux驱动子系统之输入子系统(5)
linux驱动子系统之输入子系统(5)5. 总结5.1 事件信息的上报过程分析l 上报的大致过程:设备驱动层->核心层->事件处理层->应用层l 具体调用的函数(以evdev为例):input_event()->input_handle_event() ->input_pass_event() ->handle->handler->event(handl
2012-09-06 13:54:10 1060
转载 Linux设备模型浅析之uevent篇文字版
Linux设备模型浅析之uevent篇本文属本人原创,欢迎转载,转载请注明出处。由于个人的见识和能力有限,不可能面面俱到,也可能存在谬误,敬请网友指出,本人的邮箱是yzq.seen@gmail.com,博客是http://zhiqiang0071.cublog.cn 。Linux设备模型,仅仅看理论介绍,比如LDD3的第十四章,会感觉太抽象不易理解,而通过阅读内核代码就更具体更
2012-09-06 11:30:18 3923
转载 i2c--2.6.34文档:如何枚举产生i2c_client
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================根据自己的理解翻译了http://lxr.linux.no/li
2012-09-04 15:51:58 796
转载 盘点Linux内核源码中使用宏定义的若干技巧(1)
在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发:1. 类型检查比如module_init的宏定义:点击(此处)折叠或打开#define module_init(initfn) \ static inline in
2012-09-03 17:11:59 1245
转载 Linux I2C驱动分析与实现--例子
====文系本站原创,欢迎转载! 转载请注明出处:http://blog.csdn.net/yyplc====通过上篇《Linux I2C驱动分析与实现(二)》,我们对Linux子系统已经不陌生,那么如何实现I2C驱动呢?编写客户驱动的方法在内核中有两种方式的i2c客户驱动的编写方法,一种叫legacy传统方式,另一种是newstyle方式. 前一种legacy
2012-09-03 14:39:26 5188 2
原创 linux设备驱动程序之时钟管理(4)----原来是孩儿他爹娘
小时候看过一个电视剧叫做《小龙人》,你别说,其实还是挺励志的,为了找到自己的妈妈,费劲千辛万苦,这果断是一部好的电视剧,而现在的孩子们在看什么呢?《轩辕剑》,天天神啊,魔啊,虚幻,华而不实的东东,除了商业价值,能有什么对孩子们有营养的东东? 又想起了那句,人是人他妈生的,妖是妖他妈生的,那么我们前面用clk_get获取的时钟时在哪有的,天然就有?必须不可能啊,凡是得讲个科学道理啊,
2012-09-03 14:08:57 2408 2
原创 linux设备驱动程序之时钟管理(3)----我的那块儿蛋糕
特 别 声 明 本系列文章bingqingsuimeng著作权所有,转载请注明出处 http://blog.csdn.net/bingqingsuimeng/ 21世纪不缺什么了?不缺程序员了,不缺屌丝程序员了,满山遍野的程序员,各种培训机构,每个月都有n多个程序员横空出世,他们一代代的替换着那些远离这个行业的人。话说程序员有很多境界,比如像我这种,就属于比较浮躁的程序员,以
2012-09-03 13:31:27 3296 1
转载 Linux clk 模型
Linux clk 模型 Linux clk模型采用面向对象的思想来设计实现的。在porting层创建一个一个的clk节点对象,然后将所有的clk节点对象连成一个list。当驱动层需要设置时钟的时候,通过porting层与驱动层直接的api函数进行操作。首先通过clk_get函数,根据clk节点的名字,获取clk节点。然后,使用clk_set_rate()函数设置clk节点的时钟。
2012-09-03 12:36:43 12038
原创 linux设备驱动程序之时钟管理(2)----又见结构
特 别 声 明 本系列文章bingqingsuimeng著作权所有,转载请注明出处 http://blog.csdn.net/bingqingsuimeng/ 其实,既然说到时钟管理这块儿了,必然必然是跟设备相关的, 既然如此,正好甘巴拉查的说也没什么意思,干脆就拿三星的时钟做例子分析,正所谓一通百通。/arch/arm/plat-samsung/clock.h。
2012-09-03 11:28:25 2682 1
原创 linux设备驱动程序之时钟管理(1)----最初的印象
特 别 声 明 本系列文章bingqingsuimeng著作权所有,转载请注明出处 http://blog.csdn.net/bingqingsuimeng/ linux设备驱动交流:qq群:257970754 PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使内存能正确的存取资料。PLL用于振荡器中的反馈技术。 许多电子设备
2012-09-03 10:25:28 3331
转载 标准linu休眠和唤醒机制分析(二)
三、pm_test属性文件读写int pm_test_level = TEST_NONE; static const char * const pm_tests[__TEST_AFTER_LAST] = { [TEST_NONE] = "none", [TEST_CORE] = "core", [TEST_CPUS] = "proces
2012-09-02 21:13:01 1923
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人