你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】如何使用 Eclipse 和 GCC 搭建 STM32 环境

[复制链接]
STMCU小助手 发布时间:2022-3-2 23:00
前言
虽然现在绝大部分的客户都是使用 Keil 和 IAR 这类收费的 IDE,对于很多小型或刚起步的公司来说,这无疑是一笔不小的费用,所以本文将介绍如何使用 Eclipse 和 GCC 这免费软件搭建 STM32 的环境.

1.编译环境 Eclipse
1.1 下载 Eclipse
  1. 首先通过以下连接 Eclipse installer,
复制代码

下载软件

7RU76C(A3D0GVE9V{4U1ZTS.png

选择 Eclipse IDE for C/C++ Developers

_ZF2R~7HU`]KNW~_8O7(H`C.png

安装成功

7L`]1LC0Q])6I[V75R3(XC7.png

1.2 安装 Eclipse 插件 – C/C++工具
打开 Eclipse

~(E@KMXYEY3V$`PL`_301BJ.png

安装新软件

GY9PHB5%H2OFBMLY}V)PB3U.png

在 Work with 下选择 CDT

5Q(4HWK]F9@I)SZ7%~E9)PA.png

然后在 name 下面选择 CDT Main Features

}IW0A{CK5223BR)~94%6N~T.png

55Y{]SJ1J3%(9{%G9$B291C.png

一路 NEXT,安装完成之后就重启一下 Eclipse。

1.3 安装 Eclipse 插件 – 编译工具
在 Eclipse 的 install new software 里面添加如下信息:
Name: GNU ARM Eclipse Plug-ins
Location: http://gnuarmeclipse.sourceforge.net/updates

PGF2UK(ZACO~Q{UDBU_%]NU.png

UWR(WVM9_CV99OET1MVIS$P.png

Sourceforge 比较难连,如果连接不上,建议用浏览器下载,然后导入,只是把 location 改成本地地址即可。

5CXSJT1AAHF_56NRCTVQHEN.png

Eclipse 使用
新建工程 – hello world !

首先打开 Eclipse,File->New->C project

XSYM3HF$}1`S88K)STFVQ7P.png

选择项目名字,我这里用的是 F411 作为例子,所以我选择 STM32F4xx C/C++ project。如果你是其他的系列,就根据情况选用其他工程。交叉编译工具只能选择 GCC,如果你安装了别的,也可以选用别的。

FV}UZ}GE(Z)~BMN9UK$(L7X.png

根据你芯片的大小进行配置:
Chip family :先择芯片的类型
Flash Size:根据 FLASH 大小填写
External clock :填写实用的晶振频率,也可以不填后期修改。
Content:一般选用 Empty,里面只有一个 LED 例子。

ER_`A@DKN~9_TAX[ES}F7AJ.png

U[4BR{V[CM{UB]9~69O_K%8.png


选好工具链,就完成所有配置。
Test code:
填写以下测试代码,就可以看到 Nucleo 板上的 LED 在不断地闪。
  1. int
  2. main(int argc, char* argv[])
  3. {
  4. // Send a greeting to the trace device (skipped on Release).
  5. trace_puts("Hello ARM World!");
  6. // At this stage the system clock should have already been configured
  7. // at high speed.
  8. trace_printf("System clock: %u Hz\n", SystemCoreClock);
  9. timer_start();
  10. blink_led_init();

  11. uint32_t seconds = 0;
  12. // Infinite loop
  13. while (1)
  14. {
  15. blink_led_on();
  16. timer_sleep(seconds == 0 ? TIMER_FREQUENCY_HZ : BLINK_ON_TICKS);
  17. blink_led_off();
  18. timer_sleep(BLINK_OFF_TICKS);
  19. ++seconds;
  20. // Count seconds on the trace device.
  21. trace_printf("Second %u\n", seconds);
  22. }
  23. // Infinite loop, never return.
  24. }
复制代码


收藏 评论1 发布时间:2022-3-2 23:00

举报

1个回答
huahuahnu 回答时间:2023-11-27 11:15:51

可否提供Jlink调试下载配置过程呢?使用keilMDK是可以下载调试stm32g0芯片的,eclipse使用JLink调试下载STM32G0失败 (stmicroelectronics.cn)

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版