
嵌入式LINUX驱动开发
文章平均质量分 55
八点之前
这个作者很懒,什么都没留下…
展开
-
scullpipe驱动程序测试(使用x86平台)
scullpipe驱动程序测试打开两个终端:1. cat /dev/scull_pipe02. ls -l > /dev/scull_pipe0非阻塞测试:/**************************** * function nbtest * 测试非阻塞操作 * 用非阻塞性I/O把输入复制到输出,并在其间稍作延迟,延时时间由命令行传递原创 2016-05-10 15:11:47 · 474 阅读 · 0 评论 -
深入理解SPI总线协议
单片机模拟SPI接口—加深理解SPI总线协议标签: 扩展c通讯存储工作2011-11-01 00:01 33827人阅读 评论(6)收藏举报本文章已收录于:分类: SPI总线学习(7) 作者同类文章X版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[转载 2017-03-21 10:38:21 · 399 阅读 · 0 评论 -
SPI总线协议介绍
SPI总线协议介绍一、技术性能 SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平转载 2017-03-21 10:34:15 · 409 阅读 · 0 评论 -
uart自动流控制
1.流控制在串行通讯中的作用这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在我们在网络上通过MODEM进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可转载 2017-01-08 15:38:39 · 332 阅读 · 0 评论 -
kobject引用计数
**************************************************************创建一个平台设备:static struct platform_device xxx = {.name = xxx.resourse =.dev = {.release = xxx_release,}原创 2016-08-23 08:36:22 · 325 阅读 · 0 评论 -
Makefile中“=”与“:=”与“?=”区别
1. B := $(A) :在这句语句之前找A的值;2. B = $(A) :在Makefile 文件最后往前找A的值;3. B ?= $(A) :如果没定义B,则给B赋值;例子:1.#exampleA = befor1A = befor2B := $(A)A = laterall: @echo $(B)执行make 输出be原创 2016-06-22 18:55:02 · 242 阅读 · 0 评论 -
LINUX驱动编写技巧(1)
驱动程序编写过程遇到的问题:1.为驱动程序增加编译可选项#ifdef MY_DEBUGprintk("my debug")//操作#endif2. 在Makefile中添加 1 DEBUG = y 2 3 ifeq ($(DEBUG), y) 4 MYDEBFLAGS = -O -g -DSMY_DEBUG 5 else 6原创 2016-04-23 16:52:55 · 212 阅读 · 0 评论 -
ldd(linux设备驱动程序)scull驱动
1. 下载源代码:http://download.youkuaiyun.com/detail/wjf201003050643/94942652. 参考书中第三章:linux设备驱动程序3. 下面将附上驱动源代码。(该驱动使用内存模拟出4个硬盘,可以实现对其读写操作)4. 调试过程出现的问题: 执行命令# ls –l > /dev/scull0 :该命令将输出重定向到设原创 2016-04-21 15:26:08 · 425 阅读 · 0 评论 -
wait_event_interruptible() 分析
1. 关于 wait_event_interruptible() 和 wake_up()的使用 读一下wait_event_interruptible()的源码,不难发现这个函数先将 当前进程的状态设置成TASK_INTERRUPTIBLE,然后调用schedule(), 而schedule()会将位于TASK_INTERRUPTIBLE状态的当前进程从runqueue 队列转载 2016-04-30 08:49:50 · 300 阅读 · 0 评论 -
驱动中的poll机制分析
-------------------------------------------------------------------------------------------------APP: 调用poll----------------------------------------------------------------------------------------原创 2016-05-11 15:07:50 · 247 阅读 · 0 评论 -
驱动模块编译平台的选择
编译平台的选择arm平台:DEBUG = yifeq ($(DEBUG), y) MYDEBFLAGS = -O -g -DSCULL_DEBUG else MYDEBFLAGS = -O2endifEXTRA_CFLAGS += $(MYDEBFLAGS)KERN_DIR = ../linux-mini2440all:make原创 2016-05-10 15:10:11 · 248 阅读 · 0 评论