zoukankan      html  css  js  c++  java
  • 驱动进阶1

     在写简单的字符设备驱动的时候以上内容正是我们编码的思路

    但实际设备驱动开发的工作中驱动程序是分层的,(软件分层的思想)

     linux2.6版本以后建立了设备模型,驱动就越来越采用平台设备驱动机制实现

    内核引入程序框架思想:代码的可重用,可维护,可伸缩。

     内核采用分层架构:(总线设备驱动)也就是平台设备驱动

     

     查看arch/arm/plat-samsung/Dev-i2c0.c中的代码,可以知道:

     里面包含的内容有

     

    在arch/arm/plat-samsuang/mach-s3c2440/mach-smdk2440.c,其中包含的内容有

    其中_initdata函数的功能是设置设备的初始化参数,比方说LCD设备的屏幕大小,类型等等。

    smdk2440_machine_init函数的作用是添加设备,所以移植驱动的时候需要在这里加上内容 ,例如;


    在Drivers/i2c/ic-core.h (核心层)

    在Drivers/i2c/i2c-core.c  (核心层)

    在Drivers/i2c-dev.c (底层)

    在Drivers/boardinfo.c  (底层,板极信息一般代表的是内容)

    在Drivers/buses/下是具体设备的驱动  例如:i2c-gpio.c

     


     当然这个驱动很简单啦,呵呵。


        

  • 相关阅读:
    Codeforces Round #261 (Div. 2) D
    数据类型总结之列表字典
    while +for+字符串
    20150304+JQuery+AJax+插件-02
    20150304+JQuery+AJax+插件-01
    20150303+JQuery选择器-02
    20150303+JQuery选择器-01
    20150302+JQuery-02
    20150302+JQuery-01
    20150228--Ajax2-02
  • 原文地址:https://www.cnblogs.com/God-boy1/p/3708108.html
Copyright © 2011-2022 走看看