使用c2000 texas仪器代码编写器从单个代码库生成多个产品固件

时间:2013-04-03 22:36:06

标签: svn merge signal-processing texas-instruments code-composer

在工作中,我们使用C2000内核Texas Instruments TMS320F DSP微控制器。我们从一个代码库和一个核心产品开始。客户要求已经导致许多修改过的分支从我们的svn存储库中为不同的配置而产生,然后在一定程度上产生不同的产品。它们共享相同的控制单元PCB和微控制器,有时外部连接不同的外围设备。不同配置的一个示例是使用修改的ADC例程和定序器配置的一个产品(以及ADC校准的不同偏移和比例值),以及不同的控制例程/ PID调整值等。

维护和更新产品的所有不同固件项目已经成为一种负担,我是唯一的开发人员。我们正在反复思考,例如使用差异报告来最小化所有固件项目之间的差异,然后使用#ifdef和#ifndef语句正确设置#defines以有条件地编译所有固件项目,并且可能构建所有10个左右的固件马上。

因此可以设置构建环境以提供#define _BUILD_CFG_1,完成编译,然后输入#define _BUILD_CFG_2等,然后我留下10个编译的固件,所有相同的版本,但与不同的配置。

我们的另一个想法是设置flash并在运行时运行不同的代码段,具体取决于闪存中代表不同配置的某些位。这意味着我们所有产品都有一个固件。由于我们的其他设置及其工作方式,此方法可能不实用。我们还担心性能下降,因为我们需要推动CPU资源。

仅供参考我们正在使用德州仪器Code Composer V4。

还有其他方法吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

IIRC Code Composer创建一个Makefile,在所有漂亮的IDE下面运行。

您可以创建另一个Makefile来设置相应的变量,调用IDE创建的Makefile,然后将生成的可执行文件移动到最终的休息位置。