首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
SRAM,SDRAM,网卡
时间:
2015-06-03 17:48:33
阅读:
183
评论:
0
收藏:
0
[点我收藏+]
标签:
SRAM,SDRAM,网卡有地址总线,由cpu统一编址。 NAND flash没有地址总线。 因 此有这两者寻址方式不同。
字符设备驱动程序的框架。
驱动程序 1.有led.read,led.write,led.open 这些函数,2.定义了—个结构体fileoperation,这个结构体包含指向led.read的.read 函数,包含指向led.write的.write函数,包含指向led.open 的.open函数。3.入口函数(把fileoperation结构体告诉内核的函数),通过register_chedev(main,name,fileoperation)。
编译驱动程序要依赖内核。
ioremap把物理地址映射为虚拟地址。
本来主设备号可以手动分配,但驱动程序也可以自动分配主设备号。
应用程序打开一个设备open("/dev/xxx"),这个设备哪里来的。
1.手工建立,
mknod /dev/xxx c 主 次
此时需要知道主设备号
2.自动创建,mdev(mdev是udev的—个简化版本)根据系统信息创建设备节点。所以驱动程序要提前提供上面所需的系统信息,这样才能自动创建。
写一个驱动程序。(用查询方式点亮led灯)
1.写出框架,
a.写出fileoperation结构体,里面有.open,.read,.write 等成员。
b.该结构体通过入口函数注册到内核。同时需要出口函数,修饰入口函数,修饰出口函数。
c.给内核提供系统信息,这样udev机制可以自动创建设备节点。祥细步骤,在入口函数创建class,并创建clasd device 。同时要在出口函数将这些东西卸载掉。
d.最后加上一个lisence。
2.硬件操作,
a.看原理图,确定是哪些引脚接到按键上。
b.看2440手册,确定怎么操作这些引脚,以及操作什么寄存器。
c.编程。
上面三步在单片机里面基本相同,不同之处是单片机直接操作物理地址,而此时驱动程序采用虚拟地址。VA=ioremap(PA,size)。
……………………………………………
写一个驱动程序(用中断方式点亮led灯)
1.在open函数将引脚配置为中断引脚,即request_irq()。
2.右fileoperation结构体里增加成员.release()函数 ( 用来释放中断引脚)。
即. .release()=second_drv_close();
3.实现函数second_drv_close()
4.实现request_irq()函数中的—个参数buttons_irq()。
5.增加头文件irq.h等。
在open函数配置引脚,在read函数读引脚状态(通过copy_to_user()函数将引脚状态传给用户)。在入口函数进行地址映射。在出口函数解除映关系。
top命令相当于任务管理器。
共享中断,中断来源有很多种,共享同一个引脚。
中断是异常的—种。单片机下的中断处理过程:
1.分辨中断源,
2.调用相应的处理程序,
3.清中断。
在linux内核中,这三项由asm_do_IRQ()函数实现。
SRAM,SDRAM,网卡
标签:
原文地址:http://blog.csdn.net/zhangxiangliang2/article/details/46346989
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!