4412 make menuconfig和make

发布者:幸福约定123最新更新时间:2022-01-05 来源: eefocus关键字:make 手机看文章 扫描二维码
随时随地手机看文章

一、Menuconfig的操作 

• Linux编译器通过.config文件确认哪些代码编译进内核,哪些被裁减掉
• menuconfig是生成.config的一个工具
• 在Linux发展过程中,配置内核可以使用一下命令:
– #make config(基于文本的最为传统的配置界面,不推荐使用)
– #make menuconfig(基于文本菜单的配置界面)
– #make xconfig(要求QT被安装)
– #make gconfig(要求GTK+被安装) 

• 在Linux源码目录下输入命令make Menuconfig,可以进入配置界面
– menuconfig实现的代码在源码“scripts”目录下(了解即可)

常用操作

– 上下选择→按键“上下方向键”
– 左右选择→按键“左右方向键”
– 进入下级界面→按键“回车”
– 返回上级界面→选择“Exit”+按键“回车”
– 帮助→选择“help”+按键“回车” 

• 搜索

– 界面输入“/”,输入查找关键词,输入“回车”即可搜索
• 使用“空格”键选择具体驱动配置,有三种状态
– “M”编译成模块(需要在编译文件里面特殊定义,后面介绍)
– “空”不编译状态
– “*”编译进内核

• 退出

– 不保存退出
– 保存退出 

• Kconfig也是通过脚本编写而成,所以学会“仿写”即可
• Kconfig文件在每一级目录下都有,源码下的如下图所示。
– mainmenu菜单可以看到平台“arm”和内核版本“3.0.15” 

 

Kconfig文件——源码目录下的Kconfig 

• Kconfig也是通过脚本编写而成,所以学会“仿写”即可
• Kconfig文件在每一级目录下都有,源码下的如下图所示。
– mainmenu菜单可以看到平台“arm”和内核版本“3.0.15” 

 driver目录下的Kconfig分析 

 

• menu "Device Drivers"菜单类
– source “xxx”
• menu "Character devices"
– source "xxx"
• 最终选项
– Enable LEDS config 

• 看到这么复杂的配置不要慌,记住以下点
– 拿到Linux源代码的时候,已经将基本的配置好了
– 常用的配置基本在drivers目录下
– 所有你想要的配置方式都带有例子
• 千万别花太多精力去学习脚本语法! 

个人感觉,目录下有个Kconfig文件,driver目录下也有Kconig,char目录下也有Kconfig。这些config文件都是为Makfile准备的

 

.config文件 

• 源码中带的config_for_xxx都是针对不同的操作系统或者功能裁减的.config文件 

Linux内核配置裁减

• 在Kconfig中的添加HELLO,然后查看menuconfig

在driver/char目录下,修改Kconfig。在LEDS上插入Hello部分复制代码

config HELLO_CTL
        tristate "Enable Hello config"
        default m
        help
          Enable Hello config
#tristate是三态的,前面用tab


• 配置和裁减HELLO的驱动,查看.config文件的变化
• 将HELLO定义为“tristate”,可选为“M”状态 

小结

• Menuconfig熟练使用即可,不用知道Linux怎么实现的
• Kconfig能够仿写即可 

二、Make

编译器路径设置

• 拿到源码后一般需要设置一下编译器路径,在源码目录Makefile文件中可以设置编译路径“CROSS_COMPILE”
• 前面编译环境搭建的时候,解压arm-2009q3的目录和这里对应

vim Makfile

强制编译

– 源码开发者强制要求编译进内核的文件
• 打开drivers/Makefile文件
– 类似下面的写法,只要编译内核就必须编译这个文件
– obj-y += gpio/


配置编译

– 驱动开发人员可以通过配置选择编译
• 打开drivers/Makefile文件
– 强制编译char目录下的文件
– obj-y += char/
• 打开drivers/char/Makefile文件
– 如果定义了宏CONFIG_LEDS_CTL则将itop4412_leds.c文件编译进内核
– obj-$(CONFIG_LEDS_CTL) += itop4412_leds.o 


依赖编译

– 一个驱动的编译需要另外驱动的支持
– 这一部分不需要另外写编译脚本,只需要在Kconfig中配置即可
• 例如显卡驱动VIDEO_JPEG_V2X中需要MEDIA_SUPPORT等驱动,那么编译显卡驱动的同时也需要将依赖的驱动选上 

简单测试(实验)

• 将LEDS驱动编译进内核
– 测试
• 将LEDS驱动不编译进内核
– 测试 


关键字:make 引用地址:4412 make menuconfig和make

上一篇:4412 Linux设备总线
下一篇:4412 最简Linux驱动

推荐阅读最新更新时间:2024-11-10 11:08

iTOP-4412开发板-驱动-mmc升级驱动修改
mmc 升级之后,用户如果使用老的镜像(201805 月之前的代码),会打印 mmc 的错 误,并无法启动。这是因为在默认的 mmc 驱动源码中有几行判断 mmc 版本的代码,随着时间流逝,mmc 硬件版本一直在升级,导致超出了预留的 mmc 版本号,其实 mmc 硬件驱动是一模一样的,只需要注释掉 mmc 驱动中版本判断的代码即可。 本文档适用于 iTOP-4412 精英版/全能版,iTOP-4418/6818 全能版,iTOP- IMX6Q/D/UL 全能版。 1 mmc 驱动修改 mmc 驱动要修改的文件为内核源码“/drivers/mmc/core/”下的 mmc.c 驱动文件。 在该驱动文件下找到函数“mmc_rea
[单片机]
iTOP-<font color='red'>4412</font>开发板-驱动-mmc升级驱动修改
4412 串口编程
一、打开串口 串口在linux里都是设备,可以用open之类的函数操作 #include stdio.h #include sys/types.h #include sys/stat.h #include fcntl.h #include unistd.h #include string.h void main() { int fd; char *uart3 = /dev/ttySAC3 ; fd = open(uart3, O_RDWR|O_CREAT, 0777); if(fd 0) { printf( open %s failed!n , uart3);
[单片机]
4412 移植x264并且YUV422转x264
一、YUV422转换规律    做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人而言,至关重要。本文就是根据我的学习和了解,简单地介绍如何分析YUV数据流。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 与我们熟知的RGB类
[单片机]
<font color='red'>4412</font> 移植x264并且YUV422转x264
Exynos4412裸机SDRAM工作原理及时序分析
下一节准备将代码重定位到DDR SDRAM,所以本节先对一些基础知识进行学习一下。 DDR出身自SDRAM,严格的说应该叫DDR SDRAM,DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思,所以,有很大一部分,两者是一样的,理解SDRAM,然后再来理解DDR。在SDRAM上的改进,效果应该更好一些,本文参考大神 Tekkaman Ninja的博客 中介绍的,并加入了一些自己的讲解。 先上一张SDRAM的结构图,如下图所示 SDRAM结构图 下面上一张简易的SDRAM工作流程图 SDRAM的内部是一个存储阵列,阵列就如同表格一样,将数据“填”进去。在数据读写时和表格的
[单片机]
Exynos<font color='red'>4412</font>裸机SDRAM工作原理及时序分析
4412 gpio读取pwm
一、可以使用的GPIO管脚 去掉占用调用的GPIO驱动,包括leds,buzzer,camera ov5640,WIFI mt6620 ,Keyboards VIDEO_OV5640– Device Drivers – Multimedia support(MEDIA_SUPPORT ) – Video capture adapters(VIDEO_CAPTURE_DRIVERS )(去掉) MTK_COMBO_CHIP_MT6620– Device Drivers – MediaTek Connectivity Combo Chip Config – MediaTek Connectivity Combo
[单片机]
基于iTop4412的FM收音机系统设计(三)
说明:第一版架构为:APP+JNI(NDK)+Driver(linux),优点是开发简单,周期短,也作为自己的毕业设计 现在更新第二版,FM服务完全植入Android系统中,成为系统服务,架构为:APP+Frameworks+JNI+HAL+Driver 整个系统设计,大致分为三篇文章介绍完毕,包括: 一、驱动设计篇 二、系统API接口篇 三、APP功能实现篇 ---------------------------------------------------(三)APP设计篇-----------------------------------------------------------------
[单片机]
基于iTop4412的FM收音机系统设计(一)
说明:第一版架构为:APP+JNI(NDK)+Driver(linux),优点是开发简单,周期短,也作为自己的毕业设计    现在更新第二版,FM服务完全植入Android系统中,成为系统服务,架构为:APP+Frameworks+JNI+HAL+Driver 整个系统设计,大致分为三篇文章介绍完毕,包括: 一、驱动设计篇 二、系统API接口篇 三、APP功能实现篇 ---------------------------------------------------(一)驱动设计篇----------------------------------------------------------------- 在前面介绍过i
[单片机]
基于iTop<font color='red'>4412</font>的FM收音机系统设计(一)
Digi-Key 和Make:发布 2021 年开发板指南和配套增强现实 app
Digi-Key 和Make:发布 2021 年开发板指南和配套增强现实 app 2021 年开发板指南可帮助学生、创客和工程师为他们的创新设计找到最新型的开发板。 全球供应品类极为丰富、发货快速的现货电子元器件分销商Digi-KeyElectronics和面向创客的领先出版物和网络 Make,日前荣幸地发布了 2021 年开发板指南以及配套的 Digi-Key AR 增强现实 app,可在针对 IOS 设备的 Apple App Store 和基于 Android™ 移动设备的 Google Play Store 上下载该 app 。 该指南分为基于微控制器 (MCU)、单板控制器 (SBC) 和现场可编程门阵列
[嵌入式]
Digi-Key 和<font color='red'>Make</font>:发布 2021 年开发板指南和配套增强现实 app
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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