内核裁剪,arm_mini2440开发板中增删自己写的驱动

2020-05-22来源: eefocus关键字:内核裁剪  arm_mini2440  驱动

1、把编译通过的buttons1711.c文件放入


/home/mini2440/linux-2.6.32.2/drivers/char/

2、修改Makefile


在同一个目录下(第1步中放入.c文件的目录/home/mini2440/linux-2.6.32.2/drivers/char/)打开Makefile:


(法1)(不推荐):在obj-y       += 后面加上buttons1711.o


然后重新在/home/mini2440/linux-2.6.32.2/中make zImage,再把生成的zImage烧写进开发板就可以用了。


(法2)在底下添加(可找原来类似的位置)


obj-$(CONFIG_BUTTONS1711)      += buttons1711.o

3、修改配置项


在同一个目录下(第1步中的/home/mini2440/linux-2.6.32.2/drivers/char/)打开Kconfig:


添加配置项: (可找原来类似的位置)


config BUTTONS1711

     tristate "Buttons driver for FriendlyARM Mini1711 development boards"

     depends on MACH_MINI2440

     default y if MACH_MINI2440

     help

       this is buttons driver for FriendlyARM Mini1711 development boards

解析:


config BUTTONS1711

    // tristate为类型,三态(Y,N,M),其他类型如bool等

    //双引号中为菜单的解释、提示符

    tristate "Buttons driver for FriendlyARM Mini1711 development boards"

    //依赖

    depends on MACH_MINI2440

    //y表默认编译进内核

    default y if MACH_MINI2440

    //菜单中的帮助提示

    help

    this is buttons driver for FriendlyARM Mini1711 development boards

单选:


choice


。。。。。。


endchoice


4、查看配置项是否更改成功


在/home/mini2440/linux-2.6.32.2/目录下输入:


make menuconfig(若之前修改语法错误则敲完命令会提示出错)


进入Device DriversàCharacter devices可以看到刚才添加的配置项


注:修改了菜单实际上是修改了/mini2440/linux-2.6.32.2/.config


5、生成镜像文件


回到.config目录(/home/mini2440/linux-2.6.32.2/)输入make zImage


会在/home/mini2440/linux-2.6.32.2/arch/arm/boot/中生成zImage


注:如果是输入make则是全部重新编译,若make成功则make zImage一定成功,make zImage只是产生镜像文件。


注:cp  config_mini2440_x35  .config则是重新更改配置为config_mini2440_x35的配置,原来的修改也被改回来。


6、把上一步生成的(/home/mini2440/linux-2.6.32.2/arch/arm/boot/zImage)zImage通过minitool(开发板左边开关拨到nor)烧写进开发板即可。


7、查找文件位置


    1.先找到Makefile中的obj-$(CONFIG_BUTTONS1711)名字


    2.在make menuconfig中按"/"输入BUTTONS1711查找位置


    3.通过grep查找

关键字:内核裁剪  arm_mini2440  驱动 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic497980.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:【重温经典】mini2440驱动程序之LED驱动(基于Linux-2.6.32.2)
下一篇:友善之臂 MINI2440开发板与SecureCRT之间的通信

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

arm linux内核移植裁剪过程概览
的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。  1 嵌入式linux操作系统     Linux为嵌入操作系统提供了一个极有吸引力的选择,它是个和Unix相似、以核心为基础、全内存保护、多任务、多进程的操作系统。可以支持广泛的计算机硬件,包括X86、Alpha、Sparc、MIPS、PPC、ARM、NEC、MOTOROLA等现有的大部分芯片。Linux的程序源码全部公开,任何人都可以根据自己的需要裁剪内核,以适应自己的系统。文章以将linux移植到ARM920T内核的s3c2410处理器芯片为例,介绍了嵌入式linux内核的裁剪以及移植过程,文中介绍的基本原理与方法技巧也可用于其它芯片
发表于 2016-04-08
ARM在嵌入式linux内核裁剪与移植的应用
根据自己的需要裁剪内核,以适应自己的系统。文章以将linux移植到ARM920T内核的s3c2410处理器芯片为例,介绍了嵌入式linux内核的裁剪以及移植过程,文中介绍的基本原理与方法技巧也可用于其它芯片。 2 内核移植过程 2.1 建立交叉编译环境 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统
发表于 2012-01-16
基于ARM的嵌入式linux 内核的裁剪与移植
各种设备的操作系统。嵌入式linux是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。  1 嵌入式linux操作系统    Linux为嵌入操作系统提供了一个极有吸引力的选择,它是个和Unix相似、以核心为基础、全内存保护、多任务、多进程的操作系统。可以支持广泛的计算机硬件,包括X86、Alpha、Sparc、MIPS、PPC、ARM、NEC、MOTOROLA等现有的大部分芯片。Linux的程序源码全部公开,任何人都可以根据自己的需要裁剪内核,以适应自己的系统。文章以将linux移植到ARM920T内核的s3c2410处理器芯片为例,介绍了嵌入式linux内核的裁剪
发表于 2011-06-17
谈谈手机GPU驱动升级
       GPU驱动能够独立升级,对于用户体验来说,无疑是一件好事情。通过独立的驱动更新,手机能够更迅速便捷地获得新驱动带来的性能提升、问题修复。这样的好事情,在别的安卓上也会有吗?这是独门科技还是大势所趋?这就来谈谈吧。  安卓为何没法单独升级驱动?  安卓之所以长时间以来,没法像Windows那样灵活升级驱动,是和系统架构息息相关的。安卓基于Linux,而Linux使用的是宏内核,系统内核和驱动等模块紧密结合。而Windows的架构更接近于微内核,系统各模块之间分离度较高。  宏内核和微内核(类微内核)的特性,会反映到驱动的更新推送的体验上。由于宏内核将驱动和系统内核耦合
发表于 2020-04-30
Trinamic全新三相BLDC/PMSM电池供电电机高效驱动器问市
Trinamic的TMC6300是一款高效低压驱动器,适用于峰值电流高达2A的BLDC和PMSM电机。该驱动器待机电流为零,非常适合电池供电的设备。 汉堡,2020年4月20日– TRINAMIC运动控制有限公司宣布推出最新的电池驱动解决方案电机驱动器IC。带有集成功率MOSFET和电荷泵的微型三相电机驱动器IC非常适用于BLDC和PMSM电机,它们仅需一个锂离子电池或双节AA电池即可提供高达2A峰值和2V(1.8V)…11V DC的电压。 它具有很高的功率密度和效率,待机功耗小于50nA(典型值),RDSon低,从而可以延长电池寿命。该驱动器芯片以纤巧的QFN20(3x3 mm)封装,涵盖了广泛的应用,包括
发表于 2020-04-29
Trinamic全新三相BLDC/PMSM电池供电电机高效驱动器问市
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved