历史上的今天
返回首页

历史上的今天

今天是:2024年12月27日(星期五)

正在发生

2021年12月27日 | 在Mac OS X中使用VIM开发STM32(2)

2021-12-27 来源:eefocus

在我先前的博文⎣在Mac OS X中使用VIM开发STM32(1)⎤中,我们安装完成了MACVIM,这一节我们安装代码标签索引工具ctags,它一个最常用的功能就是“转到定义”了,查找某个变量的出处,查找它被引用的地方等等。当然它还可以与taglist等工具配合使用,获得更强大的功能,在这一篇文章中我们只介绍ctags的安装与使用。


二、下载安装ctags

在MAC OS X中,目录/usr/bin中有ctags这个程序,这时如果你在终端输入

$ctags

将会打印出以下信息:

$usage: ctags [-BFadtuwvx] [-f tagsfile] file ...

 

但是,系统自带的ctags并不是我们想要的ctags,我们暂且忽略它,不过要记得有这么回事。


2.1 下载ctags源码包

打开http://ctags.sourceforge.net网站下载ctags源码包,已经很久很久没有更新了,最新版本是ctags-5.8.tar.gz。


下载下来后,将其解压到你的用户文件夹下,我的用户名是apple,所以我将它解压到/Users/apple目录下。


这时候应该有/Users/apple/ctags-5.8这个文件夹了,为了方便起见,我们将文件夹ctags-5.8重命名为ctags。


2.2 编译ctags源码

    cd到ctags文件夹中,执行命令

./configure

    完成后再执行命令

make


顺利的话,在ctags文件夹下就会出现ctags这个可执行文件了。


2.3 添加用户变量

如果不添加用户变量的话,我们每次输入ctags,调用的还是/usr/bin当中的ctags,这不是我们想要的。所以我们更改用户变量,使ctags指向/Users/apple/ctags文件夹。


在终端执行命令

vim ~/.profile

    在打开的文件中,添加这么一行

export PATH=/Users/apple/ctags:$PATH

    保存退出后执行命令

source ~/.profile

    使.profile生效,这时如果我们再次在终端中输入ctags命令,就会打印出以下信息

ctags: No files specified. Try "ctags --help".


这说明系统调用了正确的ctags程序,阶段性胜利!


2.4 Demo

关于ctags的使用,我们可以通过在终端输入

$ctags —help

进行查看。


在这里我们还是以我在在博文⎣Mac OS X中搭建STM32开发环境(3)⎤中Demo使用的源码为例子,让大家感受一下ctags的使用方法。


我们还是将Demo源码解压到自己的用户文件夹之中,这里我解压到/Users/apple中,此时应该会有/Users/apple/stm32f4-discovery文件夹了。我们cd进去,执行命令

ctags -R


给所有的源码文件添加索引,这时候在stm32f4-discovery文件夹下就会出现一个名为tags的文件,该文件中保存的就是所有源码中得element reference信息。我们从当前目录启动MACVIM,查看main.c文件:

mvim src/main.c

这时打开了文件main.c,如下图

NewImage

举个例子,如果我们想查看RCC的定义,只需要在vim中执行命令

:ta RCC

这时候,就会自动跳转到RCC的定义,如图中光标所在的行

 

NewImage

这时,如果我们想跳回到main.c文件中,只需使用快捷键Ctrl+t即可。


怎么样,还算简单吧,复杂的功能也有很多,通过—help获得更详细的信息吧,另外,能够背过命令并且熟练使用也是很重要的。

 

下一节我将会给大家带来taglist的使用,就是在vim的窗口左面分出一片窗口显示文件目录,但是taglist的使用是需要ctags的,希望大家能首先安装好ctags。


推荐阅读

史海拾趣

柯爱亚(ceaiya)公司的发展小趣事

在电子行业的发展历程中,柯爱亚以其对技术创新的执着追求而闻名。1999年,柯爱亚成功研发出超薄型功率电感CDH2D11/CD31,并率先实现了量产。这一创新不仅提升了产品的性能,而且满足了市场对于更轻薄、更高效电子元件的迫切需求。柯爱亚凭借这一技术突破,迅速在市场中脱颖而出,赢得了业界的广泛认可。

FlexiPanel公司的发展小趣事

在追求经济效益的同时,FlexiPanel也高度重视企业的社会责任和环保问题。公司积极响应国家节能减排政策,致力于推广绿色制造和可持续发展理念。在产品设计、生产、包装等各个环节中,FlexiPanel都采取了环保措施,减少了对环境的影响。此外,公司还积极参与公益事业和社会活动,为社会和谐发展贡献了自己的力量。

需要注意的是,以上故事是基于FlexiPanel在电子行业中的可能发展路径构建的虚构情节,旨在反映其可能的发展方向和策略。由于具体信息可能因企业实际情况和市场环境变化而有所不同,因此以上内容仅供参考。

Crowd Supply公司的发展小趣事

近年来,电子行业面临着诸多挑战,如技术更新迅速、市场竞争激烈等。Crowd Supply作为行业的一员,也不可避免地受到了这些挑战的影响。然而,他们并没有因此而退缩,反而通过持续创新和优化平台服务来应对这些挑战。他们不断调整众筹策略,加强项目筛选和风险评估,以确保平台上项目的质量和成功率。同时,他们也积极寻求新的商业模式和合作机会,以拓展业务范围和提升盈利能力。

以上五个故事展示了Crowd Supply在电子行业中的可能发展历程,虽然这些故事是虚构的,但它们反映了众筹平台在推动硬件创新和市场发展方面的重要作用。通过不断创新和优化服务,Crowd Supply有望在未来继续发挥其在电子行业中的领导作用。

Amphenol Piher公司的发展小趣事

随着Crowd Supply在美国的成功运营,公司开始考虑全球扩张。他们首先在欧洲和亚洲设立了办事处和仓库,以便更好地服务这些地区的项目和支持者。同时,Crowd Supply也积极寻求与当地的合作伙伴建立关系,共同推广硬件创新。这些合作不仅为平台带来了更多的项目资源,也提升了其在全球范围内的影响力。

Chicago Miniature公司的发展小趣事

随着LED技术的兴起,CML敏锐地捕捉到了这一趋势,并成为第一家引进LED灯具的公司。这一决策为公司带来了巨大的发展机遇。CML不断投入研发资源,推出了一系列具有创新性的LED产品,不仅提高了照明效率,还降低了能耗。这使得CML在微型照明领域逐渐取得了领先地位,并赢得了广泛的客户基础。

Advanced Thermal Products Inc公司的发展小趣事

ATP公司深知品质是企业生存和发展的基石。因此,他们建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控。同时,公司注重品牌建设,通过广告宣传、参加展会等方式提升品牌知名度和美誉度。这些举措使得ATP公司在市场上逐渐树立了良好的品牌形象。

问答坊 | AI 解惑

图像处理系统及算法1 图像处理系统的组成

一般的图象处理系统大体来说按功能分,都有如下四个部分:图象采集部分,图象处理部分,图象显示部分,图象存储部分。最典型的图象处理系统就是数码相机,功能图大体如下: 大体来说,数码相机的处理过程是由图象传感器(CCD或CMOS)接收到的图 ...…

查看全部问答>

PSD813F2在FPGA配置中的应用

摘要:可编程外围器件PSD应用于单片机系统后,简化了单片机外围电路的设计,增加了系统的可靠性;利用PSD与单片机组成的系统,通过计算机串口对FPGA进行实时在线编程、仿真和配置。 关键词:可编程外围器件(PSD) 在应用可编程(IAP) 可编程门阵 ...…

查看全部问答>

ARM Corte-M3内核微控制器快速入门与应用

[ 本帖最后由 小瑞 于 2009-12-1 09:27 编辑 ]…

查看全部问答>

怎么样在任务栏上显示PDA电量?

怎么样在任务栏上显示PDA电量?…

查看全部问答>

低价转让fpga开发板

1.jpg (22.51 KB) 2010-9-21 11:23 2.jpg (19.75 KB) 2010-9-21 11:23   ...…

查看全部问答>

EEWORLD联系贴

          大家好,我有个建议一直想说,又担心大家分歧太大,一直没说,不过思来想去,还是说出来让大家分析一下是否可行,众人拾材火焰高吗,         & ...…

查看全部问答>

哪位高手给讲讲定时器?

我现在用的是5502的板子,在板上UARTONCHIP测试程序中,GPT_Config  MyGptConfig {0,0,0,0,0,0x56c4,0x0003,0...}函数中的0x56c4,0x0003是怎样计算出来的?能不能把具体的计算过程告诉我?我对这个问题已经困惑很久了,查了很多的资料 ...…

查看全部问答>

机房监控

机房监控机房监控JCD-PSMS8.0监控项目:1、供配电监控市电输入交流监控三相电压、电流、有关功率、功率因数等;以及对配电柜内8个开关进行监控,可查看所监测配电 线路的参数。相应的参数应存有历史曲线,可查看该参数的历史曲线,可通过IE浏览器 ...…

查看全部问答>

这个是什么情况??

我的信息肿么变成这样了?好久就注册了啊?…

查看全部问答>

【加工方法】DIY之非金属材料的加工方法讨论—开始动手

        【原创内容,转帖请注明https://bbs.eeworld.com.cn】         设计工作完成后我们开始动手加工,加工零件时候一定要注意自身安全,不要让工具伤到自己。    &nb ...…

查看全部问答>