考虑一个
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
目录下。
这怎么可能?
STM32CubeMX 可能无法为您提供自定义项目树布局所需的灵活性。为代码生成器提供的唯一选项是“将外设初始化生成为每个外设一对‘.c/.h’文件”,就是这样。
IAR 提供了一个名为EWPtool 的小实用程序,它不仅可以根据文件夹选择及其源(重新)填充现有项目,还可以相应地更新预处理器路径中对头文件的引用。
可以通过以下参数语法从命令行使用该实用程序:但为此,您需要确保您拥有包含以下内容的文件
EWARM\settings\YourPrjName.cfg
:
<?xml version="1.0"?>
<EWPtool>
<selectedPath>$PROJ_DIR$\..\..</selectedPath>
</EWPtool>
然后,在移动文件夹后,从项目的 EWPtool
文件夹中运行
EWARM
:
EWPtool . YourPrjName YourPrjName
他们的官方存储库包含可能有用的额外用例示例。
小心,要将 C 文件移动到文件夹中,您需要创建源文件夹