基于Eclipse搭建STM32开源开发环境
最近项目不忙,想着没事看看简单的嵌入式,弄弄物联网什么的。于是就从廉价的STM32开刀了。因为一直是做PC软件开发的,那VS的智能感知那叫一个爽啊,相比之下,觉得这个Keil简直就像文本编辑器一样low。于是想换一个开发环境,就把矛头指向了Eclipse,以前PC开发也正好用过。(其实拿他写C++也是一样low,IDE界VS世界第一 o( ̄ε ̄*))
环境搭建
Eclipse
这是一个IDE的框架,去它的官网就可以下载了(http://www.eclipse.org/downloads/),要下载这个“Eclipse IDE for C/C++ Developers”,优先64位的,电脑不支持64位的话,就下载32位。这个解压就可以使用了,无需安装。
如果不能运行的话,应该是没有安装JAVA运行环境,去官网下载安装即可(http://www.oracle.com/technetwork/java/javase/downloads/index.html)。GNU ARM Eclipse Plug-in
要搭建针对ARM的开发环境还需要下载针对ARM开发的插件,这样才能够新建针对ARM开发的项目,这里使用GNU ARM Eclipse Plug-in,下载地址如下: http://sourceforge.net/projects/gnuarmeclipse/
话说你们知道怎么安装吧,“Help”-“Install New Software”-“Add”-“Archive”,安装时候最好断网,因为他好像会检查更新那就非常尴尬了。编译器
GNU ARM Eclipse Plug-in支持的编译器还是比较多的,这里这列出几个我知道的下载地址:
·GNU Tools for ARM Embedded Processors,下载https://launchpadlibrarian.net/231144227/gcc-arm-none-eabi-5_2-2015q4-20151219-win32.exe
·Yagarto,官网http://www.yagarto.org/,下载https://sourceforge.net/projects/yagarto/
一般教程到这就基本结束了,但是这样生成的工程会出现这样的错误:
"make" not found in PATH ,"echo" not found in PATH
所以要加上下面的步骤mingw
我也不知道为什么要下这个,反正没有就算不行。官网http://www.mingw.org/,下载http://www.xiazaiba.com/html/29981.html
解压后,还有给Eclipse添加PATH环境变量,“Window”-“Preference”
最后分享一张点亮LED的成果(8块钱的STM32F0是在对不起了)

- 其实还有一种不用这么折腾的方法,就是下载ST公司的“System Workbench for STM32”,它也是基于Eclipse集成好的IDE。
但是我用它编译的bin文件,没法下载到单片机上,提示“程序文件不是0x8000000和0x20000000区域的”,不知道为什么,尚未解决。
基于Eclipse搭建STM32开源开发环境的更多相关文章
- Eclipse + CDT + YAGARTO + J-Link,STM32开源开发环境搭建与调试
Eclipse+CDT+YAGARTO+J-Li:开源开发环境搭建与调试:作者:Chongqing:邮箱:ycq.no1@163.com:文档版本:V1.0:发布日期:2014-08-04:前言:此文 ...
- 基于Eclipse的Hadoop应用开发环境配置
基于Eclipse的Hadoop应用开发环境配置 我的开发环境: 操作系统ubuntu11.10 单机模式 Hadoop版本:hadoop-0.20.1 Eclipse版本:eclipse-java- ...
- 基于Eclipse搭建Hadoop源码环境
Hadoop使用ant+ivy组织工程,无法直接导入Eclipse中.本文将介绍如何基于Eclipse搭建Hadoop源码环境. 准备工作 本文使用的操作系统为CentOS.需要的软件版本:hadoo ...
- 使用Eclipse搭建C/C++开发环境(转)
使用Eclipse搭建C/C++开发环境 文章出自:http://www.cnblogs.com/liuxianan/archive/2013/01/15/2861196.html 说明:网上有很多 ...
- spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象
相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXm ...
- spring练习,使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录。
相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录.要求如下: 通过 ...
- sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台.要 ...
- spring练习,使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出。
相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出.要求如下: ...
- HBase学习----windows10下使用eclipse搭建HBase的开发环境
以下是我搭建HBase开发环境的一些心得(windows10) 0.安装JDK和eclipse和一个可用的HBase. 这步是最基础的,在此就不赘述了 1.创建一个java项目: 基础问题,不赘述. ...
随机推荐
- pomelo获取客户端IP
代码: Handler.prototype.getClientIp = function(msg, session, next) { var ip = session.__session__.__so ...
- 轻松自动化---selenium-webdriver(python) (一)
为什么选python? 之前的菜鸟系列是基于java的,一年没学其实也忘的差不多了,目前所测的产品部分也是python写的,而且团队也在推广python ,其实就测试人员来说,python也相当受欢迎 ...
- Wee – 为现代 Web 开发打造的 CSS 脚手架
Wee 包含许多开发人员在搭建响应的,互动的网站和应用程序时需要的组件.正如它的名字一样,Wee 是一个微小.移动优先的 CSS 复位框架.Wee 组织在一个简单的.可扩展的层次结构,拥有一致的样式和 ...
- S Gallery – 很有特色的响应式 jQuery 相册插件
S Gallery 是一款响应式的 jQuery 相册插件.使用了 HTML5 全屏 API 以及 CSS3 动画 和 CSS3 转换,所以只能在支持这些功能的浏览器中使用. 这款插件它有一个特色功能 ...
- Windows Azure Traffic Manager (6) 使用Traffic Manager,实现本地应用+云端应用的高可用
<Windows Azure Platform 系列文章目录> 注意:本文介绍的是使用国内由世纪互联运维的Azure China服务. 以前的Traffic Manager,背后的Serv ...
- 精品资源:40个实用的 PSD 贴纸模板《下篇》
贴纸经常被网页设计师用于为标注网站中的不同元素,以此吸引访客的注意.此外,使用贴纸也使网站更具吸引力.虽然设计者可以使用 Photoshop 制作贴纸,但他们也可以利用从互联网上下载现成的模板.这些模 ...
- JAVA 设计模式 组合模式
用途 组合模式 (Component) 将对象组合成树形结构以表示“部分-整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有唯一性. 组合模式是一种结构型模式. 结构
- Angular 1与 Angular 2之间的一些差别
现在在用ng1.5.8做一个项目,ng的优点和特性我就不用多说了,ng1在陆续更新到1.5/1.6后就没再推出新版本了,ng2已经面世测试很久了,如同很多系统和框架一样,每个大的版本更新都会有新特性加 ...
- 基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度
在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是使用的人员计算机的屏幕分辨率可能不一样,因此导致有些地方显示太大或者太小,总是不能达到好的预期效 ...
- QTableWidget的美化
FriendTable->setFrameShape(QFrame::NoFrame); //设置边框 FriendTable->setHorizontalHeaderLabels( ...