Linux内核开发工具介绍

发布者:科技火箭最新更新时间:2016-12-28 来源: ZLG致远电子关键字:嵌入式  源码  编辑 手机看文章 扫描二维码
随时随地手机看文章

进行嵌入式Linux产品开发,往往需要对内核进行裁剪和定制,以满足嵌入式产品的功能和性能需求。本文介绍几种阅读Linux内核源码的工具和方法。

这里所说的“Linux内核开发”仅仅是指嵌入式Linux产品开发中内核和驱动相关开发工作,与Linux所领导的内核开发团队的内核开发有很大不同。

俗话说“工欲善其事,必先利其器”,面对几百兆的Linux内核代码,要阅读、查看或者搜索其中的代码,大部分初次接触到Linux内核代码的开发人员,都有无从下手的感觉。下面推荐几个源码阅读和索引工具,能为后续内核开发提供一些便利。

1、Source Insight

Source Insight是Windows平台下一款流行度极高的源码阅读和编辑工具。不少Linux开发人员还是习惯于在Windows下进行源码编辑,甚至查看和编辑Linux内核源码,依然在Source Insight中完成。

说明:Source Insight是一款版权软件,需要自行解决版权问题。

安装Source Insight软件后,新建一个工程,取名并指定数据存放位置,如图 1.1所示。

 1.png

图 1.1 新建工程

点击OK按钮,进入工程设置界面,如图 1.2所示。

 2.png

图 1.2 工程设置

然后添加源码。浏览选中Linux内核源码文件夹后,点击“Add Tree”按钮,将内核源码树的全部文件添加到工程中,如图 1.3所示。

 3.png

图 1.3 添加内核源码

添加完成,即可在Source Insight中进行源码阅读和编辑了,如图 1.4所示。

 4.png

图 1.4 在Source Insight中阅读源码

2、Eclipse

Eclipse是一个跨平台IDE,既能运行于Windows平台,也能在Linux下运行。不少习惯于图形界面操作的开发人员,在Linux下则习惯于用Eclipse来查看和编辑Linux源码。

如果仅仅是在Eclipse中查看Linux内核源码,则可以不必事先安装交叉编译器,否则则须事先安装好交叉编译器。

创建内核源码工程。点击FileNewProject,开始创建工程,在工程创建界面选择创建C工程,如图 1.5所示。

 5.png

图 1.5 创建C工程

点击Next,在C Project界面的Project name栏中填写工程名称,去掉“Use default location”的勾,点击Browse将Location设置为Linux内核源码目录,如图 1.6所示。如果不在Eclipse中编译内核,则使用Linux GCC即可,否则请使用安装好的Cross GCC。

 6.png

图 1.6 导入Linux内核源码

然后点击Finish,完成Linux内核源码导入,在Eclipse中即可进行代码阅读和编辑了,如图 1.7所示。

 7.png

图 1.7 在Eclipse中浏览内核源码

在Eclipse中进行源码跟踪,只需选择函数、变量或者宏定义后按F3即可。更多的操作可在Navigate中找到。

3、vim+ctags+cscope

Vi/Vim是一个文本编辑器,在Vim中能高效的实现代码编辑。但Vim的功能不仅仅是一个文本编辑器,借助ctags和cscope的配合,Vim能实现堪比图形IDE环境的源码编辑和阅读功能,在某种程度上甚至比图形IDE更方便。

Vi/Vim的安装不再介绍了。如果不是通过远程登录在远程服务器上工作,而是在本地桌面系统操作,还可以用gvim启动Vi编辑器。

 Taglist

Taglist是Vim的一个源码浏览插件,下载到压缩包后,在本地解压,然后将解压得到目录中的plugin目录复制到~/.vim目录。如果用户主目录下没有.vim目录,则建立一个这样的目录即可。

 Ctags

Ctags是一个用于产生tags文件的软件,可以下载源码进行编译安装,在Ubuntu下,可通过apt-get进行安装:

$ sudo apt-get install exuberant-ctags

 源码阅读和跟踪

进入准备查看的源码所在目录,首先生成tags文件:

$ ctags -R

执行时间长短取决于源码数量的多少,执行完毕,在当前目录下可看到一个tags文件。源码越多,执行时间越长,产生的tags文件也越大。

注意:如果修改了源码,代码行号发生了变化,需要重新生成tags文件。

(1)查看函数等定义。用Vi/Vim打开一个C文件。若想知道某个函数、变量、结构或者宏定义在什么地方定义,先将光标移动到函数(变量、结构或者宏定义)上,然后按CTRL+]即可。查看后,按CTRL+o可回到原来所在位置。

(2)查看文件函数列表。打开C文件后,在Vi/Vim的命令状态下输入:TlistToggle(Vi/Vim的命令输入支持补全),在Vi/Vim左边就会出现函数列表侧栏,如图 1.8所示。按CTRL+ww(2次w),可在列表和代码查看区间切换。

 8.png

图 1.8 Vi/Vim的函数列表侧栏

如果在本地桌面,用Gvim打开C文件,使用起来比较接近IDE集成环境。用鼠标双击函数即可跳转到函数定义的地方,CTRL+鼠标右键即可回退到原来所在位置。更多实用特性,还需要在实际操作中体验。

4、LXR

LXR是Linux Cross Referencer的缩写,是一个比较流行的Linux源码查看工具,当然也不仅仅局限于查看Linux源码。

如果不想搭建本地LXR,可以直接浏览已经搭好的LXR网站,前者速度较快,但是提供的Linux内核版本较少,后者则提供的版本较多。网站提供了源码阅读、关键字搜索和自由文本搜索功能。两者的网页快照分别如图 1.9和图 1.10所示。

 9.png

图 1.9 lxr.oss.org.cn网页快照

 10.png

图 1.10 lxr.free-electrons.com网页快照


关键字:嵌入式  源码  编辑 引用地址:Linux内核开发工具介绍

上一篇:瑞萨电子宣布开发出全球首款鳍状MONOS闪存单元
下一篇:RS推出线上管理工具Obsolescence Manager

推荐阅读最新更新时间:2024-05-03 00:56

更高性能 康佳特科技推出基于酷睿的嵌入式板卡与模块
提供标准和定制化嵌入式计算机主板与模块的领导厂商-德国康佳特科技,推出基于全新第八 代英特尔® 酷睿™ 移动式处理器 (代号名: Whiskey Lake)的嵌入式板卡与模块,包含COM Express Type6 Compact 计算机模块,3.5”单板和Thin Mini-ITX主板。透过双核升级到四核,以及整体微架构更新,OEM客户可立即享受比前一代U系列处理器高58% 的性能提升。借助可选英特尔® 傲腾™ 内存或USB3.1 Gen2, 日常任务的响应速度更快。该处理器内核支持有效的任务调度,且进一步支持RTS管理程序软件,来优化从输入通道到处理器内核的I/O吞吐量。 专为恶劣和空间受限环境而设计的新型高端
[嵌入式]
更高性能 康佳特科技推出基于酷睿的<font color='red'>嵌入式</font>板卡与模块
2006 Microchip技术高峰论坛举行在即
“ 中国在国际上的竞争力排名为什么低于经济实力的排名?主要原因是创新能力不足。 ” 一位国内知名的大学校长如是说。作为 全球领先的单片机和模拟半导体供应商, Microchip 认为自己有能力协助中国企业更好地进行产品创新及应用, 而即将于 11 月 8 日在上海 波特曼丽嘉酒店举行的 2006 Microchip 技术高峰论坛,就是基于这样的一个考虑。    此次技术高峰论坛的主题将围绕 “ 嵌入式应用随处见,创新无止境 ” 展开,内容涵盖嵌入式控制的应用与创新、嵌入式控制的产业市场发展趋势及价值链和商业运作模式、蓝牙技术在嵌入式领域的应用,以及迈向更智能的 IC
[焦点新闻]
嵌入式系统掉电保护的设计方案
系统防掉电设计的目的是:采用一种机制,使得系统在意外失去供电的情况下,可以保证系统运行状态的确定性以及记录数据的完整性;当系统供电恢复后,现场数据可以及时恢复,避免应用系统产生混乱。我们知道,在嵌入式系统设计与开发中越来越多地应用嵌入式操作系统。由于操作系统的引入,数据的读写往往是通过文件的方式完成,而不是直接对存储单元地址操作。用文件读写方式操作数据,在程序的运行过程中往往将数据暂存在易失性的存储空间,如SDRAM,一旦系统意外失电,这些数据往往被丢失。因此,当系统意外失电时必须采取一定的措施进行系统的掉电保护,以避免系统产生混乱。总的说来,防掉电程序的主要思路就是:产生掉电信号,捕捉掉电信号,处理掉电信号和数据以及现场状态的恢
[单片机]
<font color='red'>嵌入式</font>系统掉电保护的设计方案
基于智能卡的嵌入式网络加密安全系统设计
摘 要: 针对C/S模式中传统的用户层网络通信方式效率低,安全性差的问题,全面考虑了系统整体的安全保密性能,提出了核22层实现方案。采用客户身份认证、数据完整性验证、传输信息加密安全策略,在 智能卡 的硬件支持和嵌入式uClmux平台下基于MicrowindowsGUI和TinyWidgets控件集设计实现加密系统。 引 言   金融安全支付系统是专门针对金融领域应用需求,实现小型化、便捷、安全的自助交易的软硬件平台,能够为多种应用提供高速安全服务,解决目前交易信息在传输过程中存在的各种安全问题,实现金融信息的安全交易。基于该嵌入式系统的网络安全加密系统就是为了保证客户端的某些重要的数据信息在与银行 服务器 通信过程中能够安全
[安防电子]
基于智能卡的<font color='red'>嵌入式</font>网络加密安全系统设计
英特尔新“凌动”直面嵌入式 好戏在好头
  如果说2008年春季IDF上凌动Z5xx系列处理器的发布,还只是让你感受到英特尔在嵌入式领域的咄咄逼人之势的话,如今N270处理器的发布可以说是将凌动搅起的这股旋风实实在在地呈现了出来。毕竟Z5xx这样一款针对MID的产品更多指向的是未来,而N270则是面向数字标牌、交互式客户终端、瘦客户机、数字安全、住宅门禁系统、打印成像与工业控制等这些非常现实的嵌入式市场。   9月25日,英特尔公司宣布为其面向嵌入式客户的英特尔®凌动™处理器N270和移动式英特尔® 945GSE高速芯片组提供长达7年的生命周期支持。你当然可以将其看成是一个简简单单的产品发布,但事实上其中蕴含着一个信号。 Intel Atom N270 低功
[焦点新闻]
英特尔新“凌动”直面<font color='red'>嵌入式</font> 好戏在好头
HAT 为嵌入式和物联网项目提供电源解决方案
全球电子元器件与开发服务分销商 e络盟 宣布发售面向 Raspberry Pi 3 B+ 型板的 以太网供电(PoE) HAT 。自Raspberry Pi 3 B+ 型板发布之日,这款新型PoE HAT就备受期待,它可以通过以太网电缆为 Raspberry Pi 供电,无需单独的电源。 以太网供电是e络盟客户对 Raspberry Pi 最新款产品的四大期待之一,可让板卡作为嵌入式设备使用时,能够提供更多增强功能,从而满足专业设计市场不断增长的需求。Raspberry Pi PoE HAT 官方附加板是嵌入式和物联网项目的理想解决方案,有助于进一步增强电路板的功能。 主要功能包括: 以太网供电,符合 802.3a
[物联网]
HAT 为<font color='red'>嵌入式</font>和物联网项目提供电源解决方案
芯原将MoSys嵌入式内存技术纳入其SOC设计
芯原公司和SoC嵌入式内存解决方案供应商MoSys日前宣布,双方正在合作通过向芯原的客户提供无缝式的专利技术利用,以进一步拓展MoSys 1T-SRAM技术的采用。 根据双方达成的合作协议,芯原将把1T-SRAM能力纳入其知识产权(IP)产品组合当中,用于客户在多个代工厂的系统芯片(SOC)设计。 在这种合作关系下,客户目前有权选择与芯原直接合作来把MoSys的创新型内存技术整合进他们的设计当中,这些设计涉及众多代工厂的选择以及高级加工工艺(如90纳米)。通过利用MoSys已获得专利的1T-SRAM超高密度内存产品,客户能够大大降低他们的硅成本,同时维持高性能和低功耗。
[焦点新闻]
嵌入式WEB传感器的网络化接口设计
摘要:介绍了嵌入式WEB传感器的体系结构,提出了网络化接口中TCP/IP协议栈的几种实现方式,着重探讨了基于TCP/IP协议栈芯片W3100A的网络化接口的实现,最后分析了嵌入式WEB传感器的WEB功能的实现。 关键词:嵌入式WEB传感器 网络化接口 嵌入式WEB传感器是在智能传感器的基础上发展起来的具有Internet功能的新型传感器。 其实质是在传统传感器的基础上实现TCP/IP网络通信协议接口,将传感器作为网络节点直接与计算机网络通信。它的组成主要有:敏感单元、智能处理单元和TCP/IP通信协议接口。 图1为嵌入式WEB传感器的体系结构。传统的传感器在嵌入式WEB传感器中只占一部分。核心部分是完成信号处理、数据交
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved