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

[复制链接]
5056|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 来自手机 | 显示全部楼层
没什么用,浪费时间。
wsnsyy 发表于 2016-1-5 01:51 | 显示全部楼层
都是免费的吗
 楼主| kiya_21 发表于 2016-1-5 08:54 | 显示全部楼层
dong_abc 发表于 2016-1-4 23:18
没什么用,浪费时间。

哈哈,我也觉得是,工具嘛
 楼主| kiya_21 发表于 2016-1-5 08:55 | 显示全部楼层

都是free的,不过free并不意味着免费,有很多坑,没有钻研精神的建议回避,老老实实用Keil。
tongwei 发表于 2016-1-5 08:58 | 显示全部楼层
能先介绍一下Eclipse比keil方面在哪么
犹豫的大三 发表于 2016-1-5 09:29 | 显示全部楼层
对呀,和keil和IAR相比优点在哪?难道是极客的情怀?
菜鸟同学 发表于 2016-1-5 13:49 | 显示全部楼层
重点还是调试窗口有MDK那样的 watch 可以查看mem
 楼主| kiya_21 发表于 2016-1-5 14:26 | 显示全部楼层
菜鸟同学 发表于 2016-1-5 13:49
重点还是调试窗口有MDK那样的 watch 可以查看mem

这个是基本的东西,就不说了
michael_llh 发表于 2016-1-5 17:11 | 显示全部楼层
支持楼主,希望楼主可以详细说明一下eclipse开发stm32的方式
630183258 发表于 2016-1-5 20:57 | 显示全部楼层
支持楼主写一个系列的贴子,好让大家学习一下。
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]
zjh2009 发表于 2016-1-9 21:03 | 显示全部楼层
yjmwxwx 发表于 2016-1-8 21:50
安装 openocd 在要调试的工程里新建一个openocd.cfg

telnet_port 4444

谢谢,
lwsn 发表于 2016-1-9 21:58 | 显示全部楼层
习惯用IAR了,Eclipse是新软件吗,会不会和系统不兼容呢
lit1088 发表于 2016-2-15 17:38 | 显示全部楼层
等待楼主出新产品
lit1088 发表于 2016-2-15 17:45 | 显示全部楼层
楼主,能针对下最新版本eclipse 对cleanfight工程st_link仿真环境做一个教程吗?我折腾了好几天没搞定,好头大
奥德赛 发表于 2016-2-15 20:18 | 显示全部楼层
eclipse都是高手玩的,新手还是用keil吧
lizhi538 发表于 2017-7-29 07:56 | 显示全部楼层
即要linux嵌入式开发,也常要开发单片机,不想要两台电脑来回切换,所以就想着能否在linux下也能开发单片机,在linux环境下搭stm32开发环境,编译单步debug都正常 ,写些测试用例倒是能正常跑,但一旦遇到驱动程序的问题需要调试的时候,还是MDK方便 能把模块的所有寄存器值都列出来,gdb 就没那么方便,需要命令来查具体地址, 而且地址还要自已到规格书上找到基址与偏移值,计算出来,真的不方便,累,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

64

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部