使用共享库和多个项目设置 STM32 解决方案

问题描述

我使用 Rowley CrossWorks 作为我的 IDE。

我有几个用 STM32CubeMX 创建的 STM32 项目,其中有几个文件是共享的,方法是将源文件夹复制到每个项目的“src”文件夹中。

这显然不是一个理想的解决方案。

我如何最好地将项目合并在一起,以便我可以构建单个项目,并引用相同的公共文件? 最好是“drivers”文件夹和“inc”文件夹也从一个公共位置共享。

解决方法

是时候学习版本控制了 - 最流行和免费的是 git

Git user manual

您的公共库 - GIT 子模块。

,

我找到了解决方案

我将应用程序特定代码放在 src 文件夹中的一个文件夹中。例如 \src\ 和 \src\appX \src\appY

将每个解决方案放入MDK-ARM文件夹,然后我编辑项目文件

<folder Name="Application/User">
  <file file_name="../Src/AppX/main.c" />

  <file file_name="../Src/AppX/settingsHandler.c" />
  <file file_name="../Src/AppX/settingsHandler.h" />
  <file file_name="../Src/AppX/cryptography.c" />
  <file file_name="../Src/AppX/cryptography.h" />

...

<folder Name="Application/User">
  <file file_name="../Src/AppY/main.c" />

  <file file_name="../Src/AppY/blah.c" />
  <file file_name="../Src/AppY/blah.h" />
  <file file_name="../Src/AppY/foo.c" />
  <file file_name="../Src/AppY/foo.h" />

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...