linux驱动学习1---led驱动


1. uboot启动内核,
   内核启动应用程序。

  
2. 应用程序找到相应的驱动程序流程

  -------------------------------------------------
   应用层: open   read   write  poll
         c库                                                    软件
  ---------------------------------------------------------------
   system call interface
   system_open system_read  system_write    --- >> VFS
  
  驱动: led_open led_read led_write  
  -------------------------------------------------
  具体的硬件                                              硬件
  ----------------------------------------------------------------
  
 
3. 驱动程序编写

(1)编写led_open, led_read, led_write
(2)定义一个file_operations,加入定义的函数
(3)入口函数,将驱动注册进内核
       register_chrdev(major, name, &file_operations);
(4)出口函数,卸载驱动函数
       unregister_chrdev(major, name, &file_operations);
   
      
4. 建立主设备号,应用程序和驱动建立连接

(1)驱动程序里可以自动分配主设备号
           手工指定主设备号

(2)应用程序 open("dev/xxx",...)

 手工建立:a. mknod /dev/xxx c, majro, minor
 自动建立:b. udev mdev 根据信息建立设备节点
      -> class
            -> class_device.
 

 

 

 


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值