Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99557
  • 博文数量: 34
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-27 11:21
文章分类
文章存档

2014年(1)

2013年(33)

我的朋友

发布时间:2013-07-12 19:37:15

毫无疑问,这是Linux内核的一个BUG。内核版本是2.6.27.8,将会影响到所有ARM架构。本文所述及的思路、解决方法也都是基于ARM架构的,对其他架构不一定适用!具体表现为,如果在driver目录下创建了一个新目录,然后在该目录下编写好Kconfig,并在drivers/Kconfig文件中添加了source选项。按道理,内核配置中就应.........【阅读全文】

阅读(1339) | 评论(0) | 转发(0)

发布时间:2013-07-12 19:34:22

我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。 Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。 一、动态映射(ioremap)方式.........【阅读全文】

阅读(1273) | 评论(0) | 转发(0)

发布时间:2013-07-12 19:25:23

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑.........【阅读全文】

阅读(874) | 评论(0) | 转发(0)

发布时间:2013-07-12 19:23:47

刚开始学习ldd3时,驱动架构以为是围绕这device,device_driver,bus,等等建立起来的。确实是这样,通过这样在内核建立了一个驱动框架去管理它们。然而却错误的理解为实际的驱动硬件的工作也是在那几个结构上,大错特错。举个例子,像块设备驱动,操作硬件工作是在gendisk结构里面实现的,通过register_disk,则可以根据disk.........【阅读全文】

阅读(1178) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册