驱动的两种编译方法

本文详细介绍了Linux驱动的静态编译和动态加载方法。在静态编译中,驱动源代码被整合进内核,通过修改Kconfig和Makefile文件,然后进行make menuconfig和make zImage来编译内核。而在动态加载中,驱动编译为.ko文件,通过insmod加载。测试驱动时,可以通过cat /proc/devices检查驱动,使用mknod创建设备节点并进行读写操作。
摘要由CSDN通过智能技术生成

静态编译

        就是直接把驱动放到内核中,成为内核中的一部分。把写好的驱动源代码(led.c文件)放到,内核的字符驱动中(路径为:linux-2.6.32.2/drivers/char ),然后修改下配置;

第一部分要修改的是:

        修改文件Kconfig(vim linux-2.6.32.2/drivers/char/Kconfig)

        往里面添加:

        config MY2440_LEDS
           tristate "Leds driver yzh"(在make  menuconfig时显示的驱动模块名称)

          depends on ARCH_S3C2440  (如果选择了这个配置,表示只有在s3c2440系统上才会出现这个选项)
          default y
           ---help---
               myLeds yuzhihui  

        修改上面一部分只是在make menuconfig时能够有相应的选项来给用户选择是否加载这个驱动模块;

    

        选择模块步骤(也就是编译内核步骤):

        make menuconfig(在这之前要把开发板内核对应的屏幕配置文件修改成.config文件,比如:cp config_mini2440_x35 .config)

       1、如果在Kconfig中添加配置时选择了depends on  ARCH_S3C2440,那么这里要先进入:system ty

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值