打印
[开发工具]

用Eclipse替代Keil&IAR来开发ARM应用(连载版)

[复制链接]
4226|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kiya_21|  楼主 | 2016-1-4 17:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kiya_21 于 2016-1-4 17:48 编辑

做了两年多的项目临近尾声,使用Eclipse开发ARM也算是有了两年+的经验,Eclipse管理的项目代码也已逼近百万行,真不知现在切回去用Keil是个什么赶脚~。期间开了1个QQ群(号码:185275258),发了3篇比微博稍微长点的介绍帖子,但都不曾系统的介绍过这个免费又好用的工具。在这新年伊始暨投入Linux怀抱之前,本主特为大家献上Eclipse的ARM开发完整步骤,预计发帖时常2个月,期间欢迎各种讨论,知无不言~

先索引下那3篇帖子:
  • 用Eclipse替代Keil&IAR来开发ARM应用
    发表于2014/5,主要介绍基于工具链Yagarto,gcc版本4.6.2,以makefile+Eclipse的方式来管理项目。
  • 用Eclipse替代Keil&IAR来开发ARM应用(升级版)
    发表于2014/7,主要介绍了Eclipse上的GNU ARM插件,该插件的出现让替代Keil开发Cortex ARM应用成为可能,适合小白楼主~。不够这一阶段GNU ARM插件还不完善,所以本主采用的是GNU ARM插件+Yagarto工具链相结合的方式。
  • 用Eclipse开发STM32 USB Bootloader
    发表于2015/6,主要介绍了最新的GNU ARM插件,gcc版本4.9.2(?等我回头确认下版本)。因为项目里需要一个bootloader,所以使用最新的GNU ARM插件新建了个工程,尝试使用了插件自带的向导生成了所需的boot文件(c版本)和ST官方驱动,以及一些回调,库等。但由于插件的device页面老刷不出来,所以这次还是没能实现全自动建立工程。不过GNU ARM插件生成的工程已经比小白楼主自己手工打造的工程强太多了,支持semihosting,printf可以重定向到Eclipse Console里,等等等等。

好了,接下来预告下这次《用Eclipse开发STM32 USB Bootloader(连载版)》的内容:
  • Eclipse GNU ARM安装与使用详解
  • Eclipse GDB 设置详解(jlink篇,st-link篇,open-ocd篇)
  • Eclipse GDB 调试详解(堆栈回溯篇,寄存器插件篇,高级断点篇)
  • Eclipse 代码管理详解(字体篇,快捷键篇,版本管理svn篇,版本管理git篇)
  • Eclipse FreeRTOS 插件详解
  • Eclipse 自定义库开发详解
  • 持续更新中...


最后提醒一下,本教程所有的操作都是在Win7 x64上完成的,32位Win7/XP也验证过,但Win8、Win10、OSX以及Linux下还未测试过,目前也没有这个计划。


沙发
zhangbolily| | 2016-1-4 21:48 | 只看该作者
我也在Linux下搭建了Ecplise开发STM32的平台,但是STM32Cube这个插件在Linux下的Ecplise里面用不了会报错。就是这个原因我没有深入在Linux下开发STM32

使用特权

评论回复
板凳
zjh2009| | 2016-1-4 22:24 | 只看该作者
仰慕一下楼主。
敢问ST-Link在Linux下的驱动怎么配。

使用特权

评论回复
地板
dong_abc| | 2016-1-4 23:18 | 只看该作者
没什么用,浪费时间。

使用特权

评论回复
5
wsnsyy| | 2016-1-5 01:51 | 只看该作者
都是免费的吗

使用特权

评论回复
6
kiya_21|  楼主 | 2016-1-5 08:54 | 只看该作者
dong_abc 发表于 2016-1-4 23:18
没什么用,浪费时间。

哈哈,我也觉得是,工具嘛

使用特权

评论回复
7
kiya_21|  楼主 | 2016-1-5 08:55 | 只看该作者

都是free的,不过free并不意味着免费,有很多坑,没有钻研精神的建议回避,老老实实用Keil。

使用特权

评论回复
8
tongwei| | 2016-1-5 08:58 | 只看该作者
能先介绍一下Eclipse比keil方面在哪么

使用特权

评论回复
9
犹豫的大三| | 2016-1-5 09:29 | 只看该作者
对呀,和keil和IAR相比优点在哪?难道是极客的情怀?

使用特权

评论回复
10
菜鸟同学| | 2016-1-5 13:49 | 只看该作者
重点还是调试窗口有MDK那样的 watch 可以查看mem

使用特权

评论回复
11
kiya_21|  楼主 | 2016-1-5 14:26 | 只看该作者
菜鸟同学 发表于 2016-1-5 13:49
重点还是调试窗口有MDK那样的 watch 可以查看mem

这个是基本的东西,就不说了

使用特权

评论回复
12
michael_llh| | 2016-1-5 17:11 | 只看该作者
支持楼主,希望楼主可以详细说明一下eclipse开发stm32的方式

使用特权

评论回复
13
630183258| | 2016-1-5 20:57 | 只看该作者
支持楼主写一个系列的贴子,好让大家学习一下。

使用特权

评论回复
14
yjmwxwx| | 2016-1-8 21:50 | 只看该作者
zjh2009 发表于 2016-1-4 22:24
仰慕一下楼主。
敢问ST-Link在Linux下的驱动怎么配。

安装 openocd 在要调试的工程里新建一个openocd.cfg

telnet_port 4444
gdb_port 3333
source [find interface/stlink-v2.cfg]
source [find target/stm32f1x.cfg]

使用特权

评论回复
15
zjh2009| | 2016-1-9 21:03 | 只看该作者
yjmwxwx 发表于 2016-1-8 21:50
安装 openocd 在要调试的工程里新建一个openocd.cfg

telnet_port 4444

谢谢,

使用特权

评论回复
16
lwsn| | 2016-1-9 21:58 | 只看该作者
习惯用IAR了,Eclipse是新软件吗,会不会和系统不兼容呢

使用特权

评论回复
17
lit1088| | 2016-2-15 17:38 | 只看该作者
等待楼主出新产品

使用特权

评论回复
18
lit1088| | 2016-2-15 17:45 | 只看该作者
楼主,能针对下最新版本eclipse 对cleanfight工程st_link仿真环境做一个教程吗?我折腾了好几天没搞定,好头大

使用特权

评论回复
19
奥德赛| | 2016-2-15 20:18 | 只看该作者
eclipse都是高手玩的,新手还是用keil吧

使用特权

评论回复
20
lizhi538| | 2017-7-29 07:56 | 只看该作者
即要linux嵌入式开发,也常要开发单片机,不想要两台电脑来回切换,所以就想着能否在linux下也能开发单片机,在linux环境下搭stm32开发环境,编译单步debug都正常 ,写些测试用例倒是能正常跑,但一旦遇到驱动程序的问题需要调试的时候,还是MDK方便 能把模块的所有寄存器值都列出来,gdb 就没那么方便,需要命令来查具体地址, 而且地址还要自已到规格书上找到基址与偏移值,计算出来,真的不方便,累,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

64

帖子

5

粉丝