前言 ST 收购 Atollic 后,终于发布了专供 STM32 使用的开发环境 TrueStudio v9.0.0 版本。此版本为全功能版本,而且完全免费。这在《免费全功能 STM32 TrueSTUDIO 9.0》一文中已有描述。 |, I# D: U, { 问题* x/ j4 `" g( c- d! `# h- _( i 在安装完最新版本的 TrueSTUDIO v9.0.0 后,打开一些以前就已经带有 TrueSTUDIO 工程的示例代码后,发现会提示Program “gcc” not found in PATH 的问题。3 f# t8 [ ~+ G7 E0 G3 q % D x( ^- [* h/ a0 s/ Q 调研 1.了解问题 进入 STM32F401C discovery firmware package 也就是 STSW-STM32136 中的 STM32F401VCT6 的 TIM_TimeBase 例程,直接在\STM32F401-Discovery_FW_V1.0.0\Projects\Peripheral_Examples\TIM_TimeBase\TrueSTUDIO\TIM_TimeBase 打开工程项目,使用 TrueSTUDIO 软件。打开后,可见如下图的情况: . [( w( w, R1 ]' v" ~2 X 也就是说,提示存在一个错误,为 Program “gcc” not found in PATH。3 T- ~: e& B0 n2 o3 [ 2.分析问题 再来试另一个工程项目,来自 STM32F4 标准外设库的模板:$ j2 `: S$ d7 h" x( n \STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates\TrueSTUDIO\STM32F401xx。打开项目后,如下:8 V9 o& f |" t9 ~ % w( t4 @0 g' B6 g A" H7 ?% S3 k" G' Q: ?: M 并没有提示之前所出现的那个错误。 一般来讲,ST 官方发布出来的例程,那个项目文件应该是有验证过的,所以按道理 STM32F401-Discovery_FW_V1.0.0 的TrueSTUDIO 项目本身在当时应该是没有问题的。那么为什么现在会出现这样的错误?难道是版本兼容的问题,因为STM32F401-Discovery_FW_V1.0.0 发布时间比 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 要早很多。 通过查看 STM32F401-Discovery_FW_V1.0.0 的 Release Notes,可知其发布于 2013 年 9 月 11 日,并得知项目基于Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v4.2 版本。5 Z* ^# S8 g# g3 r i 0 ^ P( V4 u/ r! g- D0 t 再来看一下 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 的 Release Notes,可知其发布于 2016 年 11 月 9 日,项目基于 AtollicTrueSTUDIO STM32 (TrueSTUDIO) toolchain v7.0.0 版本。 2 k0 P% }; L9 I+ e; z 这时候,再来打开安装完 TrueSTUDIO v9.0.0 安装目录底下的说明文件:在 C:\Program Files (x86)\Atollic\TrueSTUDIO forSTM32 9.0.0\Manuals\General,可以找到一份 Upgrade guide 的 pdf 文档的快捷方式,打开此文档,可以找到如下的说明:9 L3 d2 X; w" e$ B$ ?( w ) b4 u0 w }) _ 9 H; M6 m( Q% M$ Z 此处告诉我们出现 Program “gcc” not found in PATH 的错误是因为在一些较老的版本项目中使用了已经弃用的配置,导致出现这样的情况。! J3 b3 y2 o. l# b5 u- v 3.问题解决4 P9 Q N# [6 ]* b; I 上图中同时指出了,如果遇到这样的情况,按以下步骤可以去除错误提示。& _+ F$ p. m, i9 H% ~- W) B2 x 1) 打开菜单“Window → Preferences”,弹出 Preferences 对话框。选择“C/C++ → Property Pages Settings”页面,在 Display “Discovery Options” page 前面打勾,点击 OK 按钮。如下图:( r6 [+ r. _3 l9 i. J% P 6 F2 {' d. X8 y) E% y 2) 打开菜单“Project → Properties”,弹出 Properties for TIM_Base 对话框。选择“C/C++ Build → Discovery Options”页面,去掉 Automate discovery of paths and symbols 前面的打勾,点击 OK 按钮。如下图:4 N9 f+ ?7 Q% n- f( E( e( ] ; R) U+ H p$ t D$ k7 z5 y7 R 3) 此时,Error 还显示在上面,必须点击一下 Build 按钮后就可以看到此 Error 消失了。如下图: 0 f- R) M; O/ i; i S 这个时候,就可以下载调试了,看到 STM32F401C-DISCO 板子上的 LED 灯亮起来并闪烁。 ! }; q6 V$ d# i 结论 出现 Program “gcc” not found in PATH 的错误来自于版本兼容问题。! V& M: c. {* w$ L8 s A+ r 处理 需要对 TrueSTUDIO 的配置和项目的配置进行一些修改才能消除这个错误,具体如前面所述。, I0 E4 ]4 ?2 v2 p) c( d% B2 y; N |
【经验分享】STM32 GPIO模拟I2C程序示例
基于STM32生成外部Flash Loader的方法经验分享
【经验分享】STM32驱动RC522读卡完整资料分享,包含原理图、PCB、驱动工程文件
【经验分享】HRTIMER 产生多相相移信号
基于STM32 DFSDM应用技术经验分享
基于STM32 快速入门 BlueNRG SDK 固件开发
基于STM32的BlueNRG 系列协处理器简介经验分享
获取编译时间作为版本号
【经验分享】STM32CubeIDE使用说明 —— 实时调试
宽禁带技术如何带来颠覆性变革