STMCU小助手
发布时间:2022-3-3 23:49
|
前言8 t7 y% J# P% }- ~ ST 收购 Atollic 后,终于发布了专供 STM32 使用的开发环境 TrueStudio v9.0.0 版本。此版本为全功能版本,而且完全免费。这在《免费全功能 STM32 TrueSTUDIO 9.0》一文中已有描述。3 h, Q+ I! r" U# E, B0 u ; }" M2 q" ?4 C, ~/ Y4 j, h. H 问题 在安装完最新版本的 TrueSTUDIO v9.0.0 后,打开一些以前就已经带有 TrueSTUDIO 工程的示例代码后,发现会提示Program “gcc” not found in PATH 的问题。 1 n$ @5 a& ~' I: J 调研 R4 {6 O8 `& B/ R- C 1.了解问题8 X5 T# }( x d 进入 STM32F401C discovery firmware package 也就是 STSW-STM32136 中的 STM32F401VCT6 的 TIM_TimeBase 例程,直接在\STM32F401-Discovery_FW_V1.0.0\Projects\Peripheral_Examples\TIM_TimeBase\TrueSTUDIO\TIM_TimeBase 打开工程项目,使用 TrueSTUDIO 软件。打开后,可见如下图的情况: $ t& M% N9 I) b) L
也就是说,提示存在一个错误,为 Program “gcc” not found in PATH。 2.分析问题; S7 c6 k3 V" y9 E' o8 J 再来试另一个工程项目,来自 STM32F4 标准外设库的模板:0 V/ b1 u3 N" N, e \STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates\TrueSTUDIO\STM32F401xx。打开项目后,如下: : a! U# n' [# I' q- A- h
% K$ R% J5 R( I2 Z 并没有提示之前所出现的那个错误。% E* `+ j% Z* i5 T 一般来讲,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 版本。
再来看一下 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 的 Release Notes,可知其发布于 2016 年 11 月 9 日,项目基于 AtollicTrueSTUDIO STM32 (TrueSTUDIO) toolchain v7.0.0 版本。5 E1 ?3 d3 {+ ?" {+ L; Y5 n+ w+ R# W6 b' l 5 Y w1 V5 N7 s* Y3 V/ m1 G5 h
* B# j. P3 Y8 _- N! m2 J; g- t 这时候,再来打开安装完 TrueSTUDIO v9.0.0 安装目录底下的说明文件:在 C:\Program Files (x86)\Atollic\TrueSTUDIO forSTM32 9.0.0\Manuals\General,可以找到一份 Upgrade guide 的 pdf 文档的快捷方式,打开此文档,可以找到如下的说明:; o8 i( ]0 g! ~9 \' j7 d& v2 T * p: v) d/ }! _( r0 F
此处告诉我们出现 Program “gcc” not found in PATH 的错误是因为在一些较老的版本项目中使用了已经弃用的配置,导致出现这样的情况。3 D8 o- F/ @' _' g2 y4 m# V" C5 J 3.问题解决& q) ^. R3 H( _& _; L) V 上图中同时指出了,如果遇到这样的情况,按以下步骤可以去除错误提示。 1) 打开菜单“Window → Preferences”,弹出 Preferences 对话框。选择“C/C++ → Property Pages Settings”页面,在 Display “Discovery Options” page 前面打勾,点击 OK 按钮。如下图:, l/ \1 B* N8 ^2 u 1 d$ B: Z$ |: N f. E
9 l6 V( D0 {. p8 v2 ~' H$ k 2) 打开菜单“Project → Properties”,弹出 Properties for TIM_Base 对话框。选择“C/C++ Build → Discovery Options”页面,去掉 Automate discovery of paths and symbols 前面的打勾,点击 OK 按钮。如下图:4 b+ T, D: y0 o6 @' H
3) 此时,Error 还显示在上面,必须点击一下 Build 按钮后就可以看到此 Error 消失了。如下图:) B5 T# F, V2 c2 l/ V
这个时候,就可以下载调试了,看到 STM32F401C-DISCO 板子上的 LED 灯亮起来并闪烁。4 a$ d+ ~" C9 S: L- Z, U, a $ j/ P; ?. ~' L! e 结论 出现 Program “gcc” not found in PATH 的错误来自于版本兼容问题。( G6 O, ]$ p n B 处理 需要对 TrueSTUDIO 的配置和项目的配置进行一些修改才能消除这个错误,具体如前面所述。 " {# S5 d: A6 {! |* w$ m# G |
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
OpenSTLinux 6.1发布:M33-TD加持+安全升级,STM32MPU开发效率翻倍!
微信公众号
手机版