• 打造最强Eclipse-嵌入式开发环境(AVR)


    前言

          因为我是一名搞嵌入式单片机开发攻城狮,我在自己使用的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左右。
    View Code
  • 相关阅读:
    Swift 3 中的访问控制 open public internal fileprivate private
    swift3.0 创建一个app引导页面
    cocoapods安装及常用命令
    swift 多线程及GCD
    swift 键盘属性与事件
    [bzoj2588] Count on a tree
    [JSOI2007] 文本生成器
    18.09.22模拟赛T2 历史
    [USACO18OPEN] Talent Show
    [国家集训队] 整数的lqp拆分
  • 原文地址:https://www.cnblogs.com/ccword/p/4636105.html
Copyright © 2020-2023  润新知