驱动
追风忆梦
和大家一起学linux嵌入式!
展开
-
驱动第一天
linux驱动学习的第一天,是一个框架!陆续会有10天的驱动学习笔记!给大家共享一下,也算是自己的一个总结和笔记!原创 2014-01-04 09:49:32 · 1692 阅读 · 1 评论 -
驱动第十一天
驱动第十一天/*****************************网络设备驱动***********************************//* *基础知识: *(1)linux内核中的网络子系统被设计成完全与协议无关,该思想应用于网络协议(IP、IPX及其他协议) * 和硬件协议中(以太网、令牌环等),内核与网络驱动程序之的交互,可能每次处理的是一个转载 2014-01-19 16:41:34 · 4414 阅读 · 0 评论 -
驱动第七天
驱动第七天【内存管理子系统】1. 四大地址:物理地址、虚拟地址(线性地址)和逻辑地址 物理地址:出现在CPU地址总线上 的寻址物理内存的地址信号,是地址变换的最终结果。 虚拟地址:又叫线性地址,,在32位 CPU架构下,可以表示4G的地址空间,用16进制 表示就是0x00000000到0xffffffff。 逻辑地址:程序代码原创 2014-01-19 15:07:49 · 2076 阅读 · 0 评论 -
驱动第八天
驱动第八天操作IO内存步骤:1. 申请IO内存2. 物理地址和虚拟地址映射3. 操作IO内存4. 解映射5. 释放IO内存关于private_date私有数据:我想在ioctl中获取led的结构地址,可以用下面的路径找到:1. led -> cdev2. cdev -> inode3. inode -> open4. led ->原创 2014-01-19 15:16:43 · 1056 阅读 · 0 评论 -
驱动第九天
驱动第九天1. 基本上,linux驱动中的所有设备都是挂载在总线上的。2. 字符设备的作用是将文件当作字符设备处理。【ADC指导手册】一、 原理&作用1. 作用模拟电压信号转换为数字信号(1) 原理(2) 积分型(3) 逐次比较型(4) 并行比较型二、 数据手原创 2014-01-19 16:03:04 · 1806 阅读 · 0 评论 -
驱动第六天
驱动第六天【异步通知】 实现图例: 解释: * 应用程序要收到设备发送的信号,必须要完成3步骤: * 1. 应用程序和设备绑定(把应用程序设置成设备的所有者) * 2. 应用程序通知驱动,绑定异步消息队列到设备 * 3. 发送消息到异步消息队列 * 4. 取消绑定异步消息队列和设备 【中断机制】[1]. 裸机中断执行步骤:原创 2014-01-14 00:18:50 · 1774 阅读 · 1 评论 -
驱动第五天
驱动第五天【自旋锁】 1. 原理 PV操作原理 记录一个锁定状态(就是一个共享资源,基于原子操作) 2. 适用 1. 解决多cpu之间的竞态 2. 可以解决中断程序和普通程序之间的竞态(自旋锁可以用于中断上下文) 3. 加锁时间不宜过原创 2014-01-11 10:51:59 · 1709 阅读 · 1 评论 -
驱动第四天
驱动第四天【file_operations和cdev的区别和联系】cdev是用来描述字符设备的,而file_operations是用来描述字符设备的操作的。本来cdev是可以直接用来描述字符设备的所有情况的,但是由于在C语言中,结构体是不能有函数的,即字符设备的操作。所以,我们把这个字符设备的操作单独拿出来,装在一个叫做file_operations结构体中,结构体中装的是所有应用程序要操原创 2014-01-11 10:10:27 · 902 阅读 · 0 评论 -
驱动第三天
驱动第三天【字符设备和块设备的区别】1. 传输速度大小:字符设备是一个字节一个字节传输的,传输速度慢;块设备是以块为单位进行操作的,传输速度快。2. 响应速度:字符设备响应速度快,块设备必须经过系统的快速缓冲,所以响应速度慢。3. 访问顺序:字符设备只能按顺序依次访问设备,块设备则可以随机访问设备。字符设备和块设备之间没有明显的界限,它们之间仅限于驱动与内核的接口不同。原创 2014-01-04 20:57:29 · 1689 阅读 · 1 评论 -
驱动第二天
驱动第二天[1] 划分模块(模块化的编程思想) 把大的任务划分成功能比较独立的模块,模块一般都包含三大部分: 1. 初始化(函数) 2. 功能 3. 退出(函数) [2] 使用面向对象的编程思想实现模块 一般一个模块就是实现一类对象,面向对象的编程思想,需要: 1. 描述对象 1. 静态特征描述(类/结原创 2014-01-04 20:48:27 · 1181 阅读 · 0 评论 -
我的项目总结
我的项目总结 经过近一个月的时间,我们的最后一个项目《基于Linux B/S架构的物联网仓库管理系统》最终得以实现。基于Cortex-A8三星s5pc100平台构建核心服务器,通过低功耗的ZigBee技术将多个仓库中CortexM0采集到的数据发送到控制平台,并利用Internel、WiFi、GPRS等手段实现物联网,最终实现物联网仓库管理系统。项目的具体时间是2月24号到3原创 2014-03-16 12:58:51 · 1604 阅读 · 1 评论