历史上的今天
返回首页

历史上的今天

今天是:2024年12月10日(星期二)

正在发生

2019年12月10日 | 打造最强Eclipse-嵌入式开发环境(AVR)

2019-12-10 来源:eefocus

前言


因为我是一名搞嵌入式单片机开发攻城狮,我在自己使用的IDE上会花一些心思来优化升级它,以求更高的效率解决问题。


“工欲善其事必先利其器”,从入行到现在也用了很多的编辑器/IDE,从在学校里用的Notepad++到UeStudio到VS 2013等等,每一次发现一个心得好用的功能都能让我编程的速度更快一步。


在网上搜索了许久,发现关于Eclipse方面的资料实在太少不完整,因此便有了这篇博文,我们的每一点分享最终可以汇聚

成一片汪洋。为便于检索,转载请注明出处(http://www.cnblogs.com/ccword/p/4636105.html)。


UeStudio大概用了2年多,我翻遍它的每一个角落来针对我的需求来优化,但毕竟它是一款付费封闭的编辑器,渐渐不能满足我的需求,趁现在空闲,在网上冲了许久的浪花之后,几经比较,最终选择了Eclipse。原因有以下几点:

1.开源 

这一点相当重要,这样我就能更好的优化它,万一有个功能我很想用,哪怕是修改都有代码可改,是吧!

2.第三方插件特别丰富

而且也都是开源的。尽管其中不少插件都N多年未更新,但这些依然很好用。

3.条件编译区别显示

能对条件编译的代码段区别显示 未配置的功能段一目了然。

4.代码自定义格式化

由于经常性的接收、浏览别人的代码,使用这个功能一键格式化为自己常用的格式,极其便利。

5.引用位置检索

方便检查函数的使用

6.编译方便

能引用其他编译器,处理编译结果。

7.总结一点,就是好用!

 

软件安装列表

ECLIPS     http://www.eclipse.org/  选择Eclipse IDE for C/C++ Developers 版本,由于最新版本还未更新中文语言包,所以我下载了Luna版本

WINWVR  http://winavr.sourceforge.net/index.html 使用GCC编译器

MinGW     http://www.mingw.org/  用来测试局部的C代码时使用,可不安装。由于微软始终拒绝对C的完全支持,所以当前MinGW是最好的选择,当然你也可以选择CodeBlocks、C-free等等

以上安装都比较简单,在网上检索相关博客即可,需要注意的是要添加必要的系统环境变量。为此我使用批处理脚本做了一个插件,敬请期待我的其他博文。

推荐其他相关博文:

搭建Eclipse IDE AVR开发平台

搭建AVR-C语言开发环境eclipse+winavr

eclipse 环境搭建_百度经验

我将其分别安装在D:CODEMinGW   D:CODEeclipse-Luna目录下,这样便于管理

我的Eclipse必备插件列表: 

AVR-Eclipse       辅助配置AVR项目          http://avr-eclipse.sourceforge.net/updatesite
Luna语言包        (目前Mars版本不支持)     http://download.eclipse.org/technology/babel/update-site/R0.12.1/luna
ColorCode         代码着色插件                http://colorer.sf.net/eclipsecolorer/
easy Explorer    打开项目文件所在位置     http://sourceforge.net/projects/easystruts/
Regex Util         正则表达式辅助设计工具  http://regex-util.sourceforge.net/update/
Subversive Site 版本控制SVN插件          http://download.eclipse.org/technology/subversive/3.0/update-site/
git 版本控制GitHub插件                         http://download.eclipse.org/egit/updates/

 注:以上提供的网址均为当前最新可用版本(2015-07-11),其中很多插件均很久不做更新,所以用这个就可以了。

另外,你也可以通过下面的方法自动查找最新版本:Help->Eclipse Marketplace,在里面搜索插件。

再另,检查Help->Install New Software中的源列表也可以发现一些新玩意。

 使用技巧备忘

1.安装ECLIPS插件后,重启软件才能应用。

偶尔遇到搞不清的问题时,重启Eclipse是一个不错的选择。

2.编译前自动保存 

To activate Autosave open the Eclipse Preferences (Window > Preferences...) and select General -> Workspace. Here the Save automatically before build option can be enabled.

3.修改标示解析设定

   Windows->首选项 -> C/C++  -> Indexer 撤销Index source files not includeed in the build选项。

   当按F3出现跳转异常时(跳到未编译的代码部分),大部分也是因为这个原因,撤销该选项后,无效代码段的定义均不在引用,需要查找是使用全工程检索更方便。

4.由于RemoteSystemsTempFiles项目总是自动生成,怎么删除掉?

   A.打开Windows-->Preferences-->General-->Startup and Shutdown将“RSE UI”的选中状态去掉,关闭Eclipse;
   B.打开Eclipse工作空间将“RemoteSystemsTempFiles”项目删除掉后再启动Eclipse程序,就不会再自动生成了。

   这个东西是用来做远程文件本地缓存使用的,建议不要删除。eclipse有一个“Remote System ExExplorer”的Perspective,里边有FTP、ssh、Linux、Unix、Windows、Telnet等各种远程终端功能,这些功能依赖于“RemoteSystemsTempFiles”。

5.保存时删除行尾空格

    Window > Preferences > Editor 勾选Remove trailing whitespace 

6.显示打印页边距 

    Window > Preferences > Editor 勾选显示打印页边距

7.以上设置及其他设置敬请期待我的下一篇博文《打造自己专用的Eclipse个性化设置》。

 

针对AVR相关项目的一些备忘事宜:

1.创建AVR项目

   选择第一种,常规模式(AVR Cross Target Applications),第二种为通用的库模板(AVR Cross Target Static Library)

2.项目属性

由于使用AVR-ECLIPSE插件配置的makefile文件编译后除了一些未能解决的问题,所以我推荐对创建的项目做如下设置,我们使用手动创建或AVR Studio创建的makefile编译工程。

  打开项目属性, 

C/C++ Build 撤销Gernerate Makefiles automatically选项

C/C++ Build-》Bulider Settings 中的Build location 改到default文件夹

C/C++ General-》Path and Symbols 中的include选项卡下添加项目引用(如果你的工程中又分文件夹管理)

 3. 编译前指令               

 Open the project properties, go to C/C++ Build > Settings > Build Steps and set the following as the Pre-build steps command:

-avr-size --format=avr ==mcu=${AVRTARGETMCU} ${BuildArtifactFileName}

4.编译后指令

Open the project properties, go to C/C++ Build > Settings > Build Steps and set the following as the Pre-build steps command:

avr-objcopy -R .eeprom -O binary ${BuildArtifactFileName}  ${BuildArtifactFileBaseName}.bin

5.使用AVR-Eclipse创建makefile文件,其同AS的差别如下:

1、项目属性页面要设置优化选项为-0s

2、编译后,发现文件略大于AS设置的makefile的结果,比较设置后发现以下不同

     ASMFLAGS +=-Wa,-gdwarf2

     CFLAGS += -g2 -ffunction-sections

     缺

     CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d 

     使用AVR-Eclipse插件创建的工程,编译后文件较大,不能运行

记录:

文件抬头

/* --------------------------------------------------------------------
* Copyright (C), ${year},c.w.CoderP. dwproj@163.com
* file_name:${file_name}
*    Author: ${user}
*  Created : ${date} ${time}
* GCC Vers : GNU Make 3.81
* @version : 1.0.0
* Description:
*
* ------------------------------------------------------------------- */

 

其他插件备忘录:

以下内容收集自互联网,未进行整理,所以你又兴起的话可以慢慢进行发掘。


1.MyEclipse  J2EE开发插件,支持SERVLET/JSP/EJB/数据库操纵等


www.myeclipseide.com


2.Properties Editor编辑java的属性文件,并可以自动存盘为Unicode格式


http://propedit.sourceforge.jp/index_en.html


3.Colorer Take为上百种类型的文件按语法着色


http://colorer.sourceforge.net/


4.XMLBuddy 编辑xml文件


www.xmlbuddy.com


5.Code Folding 加入多种代码折叠功能(比eclipse自带的更多)


http://www.coffee-bytes.com/servlet/PlatformSupport


6.Easy Explorer 从eclipse中访问选定文件、目录所在的文件夹


http://easystruts.sourceforge.net/


7.Fat Jar 打包插件,可以方便的完成各种打包任务,可以包含外部的包等


http://fjep.sourceforge.net/


8.RegEx Test 测试正则表达式


http://brosinski.com/stephan/archives/000028.php


9.JasperAssistant 报表插件(强,要钱的)


http://www.jasperassistant.com/


10.Jigloo GUI Builder JAVA的GUI编辑插件


http://cloudgarden.com/jigloo/


11.Profiler 性能跟踪、测量工具,能跟踪、测量BS程序


http://sourceforge.net/projects/eclipsecolorer/


12.AdvanQas 提供对if/else等条件语句的提示和快捷帮助(自动更改结构等)


http://eclipsecolorer.sourceforge.net/advanqas/index.html


13.Log4E Log4j插件,提供各种和Log4j相关的任务,如为方法、类添加一个logger等


http://log4e.jayefem.de/index.php/Main_Page


14.VSSPlugin VSS插件


http://sourceforge.net/projects/vssplugin


15.Implementors 提供跳转到一个方法的实现类,而不是接中的功能(实用!)


http://eclipse-tools.sourceforge.net/implementors/


16.Call Hierarchy 显示一个方法的调用层次(被哪些方法调,调了哪些方法)


http://eclipse-tools.sourceforge.net/call-hierarchy/index.html


17.EclipseTidy 检查和格式化HTML/XML文件


http://eclipsetidy.sourceforge.net/


18.Checkclipse 检查代码的风格、写法是否符合规范


http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm


19.Hibernate Synchronizer Hibernate插件,自动映射等


http://www.binamics.com/hibernatesync/


20.VeloEclipse Velocity插件


http://propsorter.sourceforge.net/


21.EditorList方便的列出所有打开的Editor


http://editorlist.sourceforge.net/


22.MemoryManager内存占用率的监视


http://cloudgarden.com/memorymanager/


plug-in网址:


http://www.eclipse-plugins.info/eclipse/index.jsp


http://www.eclipse-workbench.com/jsp/


http://eclipse-plugins.2y.net/eclipse/index.jsp (非常非常著名的插件更新网站)


http://www.crionics.com/products/opensource/eclipse/eclipse.jsp (分类清楚)


http://www.eclipseplugincentral.com/


Preferences无法显示新安装的插件的解决办法


删除C:/eclipse/configuration/org.eclipse.update下的platform.xml文件,重新启动Eclipse


perl插件 http://e-p-i-c.sf.net/updates


  FreeMarker IDE 是一个FreeMarker(模板引擎)感知编辑器,支持:语法高亮显示(Syntax Hilighting)、内容辅助(Content Assist)、大纲视图(Outline View)。其主页上提供了如何使用该插件进行开发的Flash视频。FreeMarker还有另外一个插件FreeMarker Eclipse Plugin。


官方网站:http://freemarker-ide.sourceforge.net/

插件下载URL:http://sourceforge.net/projects/freemarker-ide/files/


C#插件 http://www.improve-technologies.com/alpha/updates/site.xml


C插件 http://update.eclipse.org/tools/cdt/releases/new


Hex插件 http://ehep.sourceforge.net/update


Eclipse加速插件KeepResident


http://suif.stanford.edu/pub/keepresident/


原理:利用两个 Windows API-SetProcessWorkingSetSize与VirtualLock(适用于Windows平台)。


切换时果然快很多。


官方建议最小值设定在100MB,最大值250MB左右。


推荐阅读

史海拾趣

Aten International公司的发展小趣事

在电子行业中,标准化建设对于提升产品质量和企业竞争力具有重要意义。Aten International深知标准化建设的重要性,因此在产品研发和生产过程中始终坚持高标准、严要求。公司还积极参与国际标准化组织的活动,推动相关标准的制定和完善。正是凭借在标准化建设方面的卓越表现,Aten International赢得了业界的高度认可和广泛赞誉。

以上五个故事虽然基于虚构,但它们都反映了Aten International在电子行业发展的真实情况。这些故事展示了公司在技术创新、市场拓展、标准化建设等方面的努力和成就,也体现了Aten International在电子行业中的领先地位和卓越贡献。

AMICC [AMIC TECHNOLOGY]公司的发展小趣事

作为一家具有社会责任感的企业,AMICC始终关注环境保护和可持续发展。公司在生产过程中积极采用环保材料和技术,降低能耗和排放。同时,AMICC还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。

这五个故事只是AMICC发展历程中的一部分,但它们足以展现出这家企业在电子行业中的拼搏和成长。AMICC以其坚定的信念、不懈的努力和持续的创新精神,在激烈的市场竞争中脱颖而出,成为了一家备受瞩目的优秀企业。

Giga公司的发展小趣事
通过定时控制LED灯的亮灭,实现视觉效果。
Colibrys SA公司的发展小趣事

2013年,Colibrys迎来了一个重要的转折点——成为SAFRAN集团公司的一部分。这一转变不仅为公司带来了更多的资源和市场支持,也使其在MEMS领域的技术研发和应用得到了进一步的提升。作为SAFRAN网络的一部分,Colibrys能够充分利用网络提供的服务,将其专业的MEMS制造技能传递给更多的客户。

Hoffman_Enclosures__Inc.公司的发展小趣事

1945年,一位名叫Harry Hoffman的年轻人凭借对工厂安全的深刻关注,发明了压力机安全保护装置。这一装置能够在操作人员的手处于危险区域时迅速停止机器,有效保护了工人的安全。这一创新不仅为Hoffman公司奠定了技术基础,也标志着公司正式步入工业电气机柜和温控产品的研发与制造领域。Harry Hoffman的这项发明不仅解决了当时工厂安全的一大难题,也为公司后续的发展奠定了坚实的基础。

Component Research Co公司的发展小趣事

随着公司业务的不断发展,Component Research Co意识到单一市场无法满足其长期发展的需要。于是,公司开始寻求国际合作,与多家国际知名企业建立战略合作关系。这些合作不仅为公司带来了先进的技术和资金支持,还帮助公司打开了新的市场。通过国际合作,Component Research Co的业务范围逐渐扩展到全球各地。

问答坊 | AI 解惑

电子类、单片机毕业设计制作

定做电子类,单片机毕业设计QQ:469081140…

查看全部问答>

寻SMD802 或者HV9910 PWM调光方案

寻SMD802 或者HV9910 PWM调光方案? 之前调试的此类IC都是用于日光灯驱动,很少用来PWM调光,以至于这管脚闲置,请问谁有材料让我看看这个原理图。解释下是怎么个调光的。…

查看全部问答>

求助,无法安装BSP怎么回事啊?

我是新手还没入门呢,大家别笑我啊,呵呵, 我安装BSP步骤: 1:复制SMDK2440 至 WINCE600/PLATFORM 下,去掉只读性 2:新建项目,在BSP 选项中看不到SMDK2440 这一项。 具体图片: 还有:SMDK2440 我去掉只读性时,明明去掉了,我再点击查看 ...…

查看全部问答>

开发板和PC可以连接但无法调试???

1、开发板和PC可以连接但无法调试?? 开发班和PC通过交叉网线连接的,可以把NK。BIN下进去,但是无论怎么设置WINCE或 EVC下的 TOOLS\\CONFIGURE 下的DEVICE 属性 都不能进行连接调试 !下载文件 2、另外问题就是在wince5.0 platform manager ...…

查看全部问答>

windows2000如何恢复默认任务栏?

因为win2000没有锁定任务栏一项,任务栏跑到桌面的上方,因为如果恢复到下方去???郁闷中…

查看全部问答>

TI 书

SysCtlClockSet函数负责设置LM3S处理器的时钟,大家都知道,现在的ARM芯片越来越强大,时钟系统也越来越复杂。到底它的时钟设置会有多复杂呢,还是深入SysCtlClockSet函数来一探究竟吧。 SysCtlClockSet函数只有一个参数,所有的时钟设置都在 ...…

查看全部问答>

您好

一直自学的FPGA 最近来北京 找了份做FPGA的公司 杭州迪普 做网络安全的 在网上搜了搜 也不知道 怎么样。 面试我的人说他们只做逻辑  不考虑时序 和 功耗 之类的问题  我还是不太清楚 做逻辑 到底是做什么  还有 做逻辑有前途么?…

查看全部问答>

济南招聘

济南杰鸿电子科技招聘 办公地点济南 高薪诚聘有实力的年轻工程师共同创业 有意向的可以加我qq374202689 或者简历发我qq邮箱 0531-55535827…

查看全部问答>

ST系列开发板资源贴

STM32F051x 参考手册中文版 https://download.eeworld.com.cn/detail/ltbytyn/215961 STM32F407ZGT6红龙开发板原理图及例程集(超过20个模块应用例程,含原理图) https://download.eeworld.com.cn/detail/ltbytyn/215932 STM32F103ZET6红龙板基 ...…

查看全部问答>