
Linux内核驱动
张大户
这个作者很懒,什么都没留下…
展开
-
编译内核出错:invalid option `abi=aapcs-linux' 解决办法
出现此问题的原因是由于kernel feature中选中了Use the ARM EABIto compile the kernel引起的,有两各解决办法:1)换编译器,[shiner@localhost linux-2.6.30.4]$ arm-linux-gcc -vUsing built-in specs.Target: arm-none-linux-gnueabiCon转载 2013-10-31 17:56:54 · 763 阅读 · 0 评论 -
initramfs
Linux kernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,转载 2013-10-31 19:23:11 · 578 阅读 · 0 评论 -
MODULE_LICENSE没有写引起的问题
写了一个简单的字符设备驱动,当insmod时出现了下面的错误:create_device: Unknown symbol __class_create (err 0)create_device: Unknown symbol class_destroy (err 0)create_device: Unknown symbol device_create (err 0)creat原创 2014-03-20 10:48:25 · 2102 阅读 · 0 评论 -
物理地址与总线地址
物理地址与总线地址1) 物理地址是与CPU相关的。在CPU的地址信号线上产生的就是物理地址。在程序指令中的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放到CPU的地址线上。2) 总线地址,顾名思义,是与总线相关的,就是总线的地址线或在地址周期上产生的信号。外设使用的是总线地址。3) 物理地址与总线地址之间的关系由系统的设计决定的。在x86平台上,物理地址与PCI总线转载 2014-04-09 19:59:00 · 1439 阅读 · 0 评论 -
class_create(),device_create
从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。提醒一点,udev是应用层的,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用device_create创建对应的设备。大致用法如下:struct class *myc原创 2014-06-24 14:31:42 · 620 阅读 · 0 评论 -
Linux 模块检测
在公司一个项目中,需要提供给原创 2014-06-30 18:01:48 · 925 阅读 · 0 评论 -
设备驱动以及probe的思考
Linux驱动mo不是连接到某种设备。原创 2014-07-03 18:54:28 · 2354 阅读 · 0 评论