在STM32CubeMX中自定义项目路径和名称

问题描述 投票:0回答:2

考虑一个

CubeMX
项目,您已配置 STM32F103 微控制器并选择 EWARM 作为主要 IDE/工具链。生成代码时,如果选择Application Structure前进,可能会遇到如下目录结构:

YourPrjName:
|--Core
|--Driver
|--EWARM
|CubePrj.ioc
|.mxproject

现在,假设您要将

Core
Driver
文件夹放入另一个名为
BSW
的文件夹中,并在不同位置生成 Cube 项目相关文件。更新后的目录结构如下所示:

YourPrjName:
|--BSW
|  |__Core
|  |--Driver
|--EWARM
|--CubePrj
|  |--CubePrj.ioc
|  |--.mxproject

在此修改后的结构中,Core 和 Driver 文件夹位于

BSW
文件夹内,Cube 项目文件位于
CubePrj
目录下。

这怎么可能?

stm32 iar stm32cubemx
2个回答
2
投票

STM32CubeMX 可能无法为您提供自定义项目树布局所需的灵活性。为代码生成器提供的唯一选项是“将外设初始化生成为每个外设一对‘.c/.h’文件”,就是这样。

IAR 提供了一个名为

EWPtool 的小实用程序,它不仅可以根据文件夹选择及其源(重新)填充现有项目,还可以相应地更新预处理器路径中对头文件的引用。

可以通过以下参数语法从命令行使用该实用程序:

The GUI Error shows the parameter right order

但为此,您需要确保您拥有包含以下内容的文件

EWARM\settings\YourPrjName.cfg

<?xml version="1.0"?> <EWPtool> <selectedPath>$PROJ_DIR$\..\..</selectedPath> </EWPtool>
然后,在移动文件夹后,从项目的 

EWPtool

 文件夹中运行 
EWARM

EWPtool . YourPrjName YourPrjName
他们的官方存储库包含可能有用的额外用例示例。


1
投票
我从未尝试过 .ioc 和 .mxproject,但对于您的驱动程序和 Core,您只需创建一个新文件夹并将它们移入其中即可。您可能需要更改项目属性中的路径 -> C/C++ General -> Paths and Symbols。

小心,要将 C 文件移动到文件夹中,您需要创建源文件夹

© www.soinside.com 2019 - 2024. All rights reserved.