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

发布者:心愿达成最新更新时间:2019-12-10 来源: eefocus关键字: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左右。


关键字:Eclipse  嵌入式开发环境  AVR 引用地址:打造最强Eclipse-嵌入式开发环境(AVR)

上一篇:osu键盘制作工作日志(基于avr-usb的两键无冲usb机械键盘)
下一篇:ubuntu下gcc-avr安装

推荐阅读最新更新时间:2024-11-12 17:49

AVR单片机开发软件的安装及使用
  I CC AVR6.31AC语言编译器的安装在电脑中放入配套光盘,打开 IC CAVR6.31A安装文件后进入安装界面(左图))安装目录可使用默认方式,将其安装在C盘的icc文件夹中(右图)。安装完成后,需进行注册才能得到无时间限制的完全版软件。注册方式如下:   1.打开ICCAVR6.31A编译器界面,单击菜单栏Help→Regist SOF t→ware(左图),系统会提示关掉计算机的防病毒程序,单击Continue按钮进入注册界面(右图)o2.选中并复制EMailUn LOC kCode栏右侧框内的7组数值。   3.打开注册器,粘贴刚才复制的数值(下图)。   4.点击得到解锁码(下图
[单片机]
<font color='red'>AVR</font>单片机开发软件的安装及使用
基于AVR的ds1302时钟代码
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int #define SCK_CLR PORTC&=~BIT(0) //拉低时钟线 #define SCK_SET PORTC|=BIT(0) //拉高时钟线 #define SCK_OUT DDRC|=BIT(0) #define RST_CLR PORTC&=~BIT(2) //拉低RST线 复位线 #define RST_SET PORTC|=BIT(2) //拉高RST线 #define RST_OUT DDRC|=BIT(2)
[单片机]
AVR单片机定时/计数器的PWM的应用设计
一、定时/计数器PWM设计要点 根据PWM的特点,在使用ATmega128的定时/计数器设计输出PWM时应注意以下几点: 1.首先应根据实际的情况,确定需要输出的PWM频率范围,这个频率与控制的对象有关。如输出PWM波用于控制灯的亮度,由于人眼不能分辨42Hz以上的频率,所以PWM的频率应高于42Hz,否则人眼会察觉到灯的闪烁。 2.然后根据需要PWM的频率范围确定ATmega128定时/计数器的PWM工作方式。AVR定时/计数器的PWM模式可以分成快速PWM和频率(相位)调整PWM两大类。 3.快速PWM可以的到比较高频率的PWM输出,但占空比的调节精度稍微差一些。此时计数器仅工作在单程正向计数方式,计数器的上限值决定PW
[单片机]
AVR单片机学习活动之带你学会WinAVR
对于GCC(注:本文中所说GCC与WINAVR是同一个概念)的介绍这里不做赘述,对于学习AVR单片机的朋友相信都听说过这款编译软件。AVR的开发软件很很多,下面是本人在网上搜索到的对于几个编译软件的一点比较,仅供参考: 相信对于每个已经在学习AVR的朋友都有一款自己喜欢使用的编译软件,我们推荐使用GCC,原因是它是真正的免费的,对C语言的支持是很好的。可能很多朋友对于使用汇编编程还是使用C语言编程都有不同的见解,在这里我们推荐使用相对高级的C语言进行编程,现在一个好的编译软件对于程序的优化是可以让人接受的,其编译出的程序效率足以满足我们的要求,并且其良好的可移植性为不同平台下的程序编写提供了方便。 这里是GCC的下载页面:
[单片机]
<font color='red'>AVR</font>单片机学习活动之带你学会WinAVR
建立一个AVR的RTOS(6)时间片轮番调度法的内核
第六篇:时间片轮番调度法的内核 Round-Robin Sheduling 时间片轮调法是非常有趣的。本篇中的例子,建立了3个任务,任务没有优先级,在时间中断的调度下,每个任务都轮流运行相同的时间。如果在内核中没有加入其它服务,感觉上就好像是有三个大循环在同时运行。 本例只是提供了一个用时间中断进行调度的内核,大家可以根据自己的需要,添加相应的服务。 要注意到: 1,由于在时间中断内调用了任务切换函数,因为在进入中断时,已经将一系列的寄存器入栈。 2,在中断内进行调度,是直接通过 RJMP Int_OSSched 进入任务切换和调度的,这是GCC AVR的一个特点,为用C编写内核提供了极大的方便。 3,在阅读代码的同时,
[单片机]
AVR单片机定时器、PWM、ICP范例
/*********************************************** **** AVR 定时器使用范例 *** **** *** **** 编译器:WINAVR20050214 *** ***********************************************/ /* 本程序简单的示范了如何使用ATMEGA16的定时器 AVR定时器的要点介绍 T0工作于CTC模式,输出1KHz/2KHz 50%占空比的方波 T1工作于快速PWM模式兼输入捕捉 T2工作于相位修正
[单片机]
AVR单片机基础介绍
AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点: 1:在相同的系统时钟下AVR运行速度最快; 2: 芯片内部的Flsah、EEPROM、SRAM容量较大; 3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP); 4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作; 5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强; 6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。 目前支持AVR单片机编译器的语言主要有
[单片机]
AVR 硬件操作库函数
/********************************************************************* 目 的: 建立AVR的硬件提取库,增加各类补丁,方便系统程序移植 目标系统: 基于AVR单片机 应用软件: ICCAVR 版 本: Version 1.0 *********************************************************************/ /*010101
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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