我们也遇到了类似的问题。
我们正在使用CCSv7版本7.1 .0.0.0016万 ,并且工作区中有多个项目,它们共享它们的大部分源文件。
进行这些项目的原因是我们正在开发一些带有各种TM4C129和TM4C123部件的电路板,具体取决于每个电路板的功能。 我们还使用多个TI LaunchPad来开发/测试/调试我们的代码部分。 这意味着我们的代码可以通过四种方式运行:
- EK-TM4C129EXL LaunchPad上的TM4C129ENCPDT
- TM4C129ENCPDT
- EK-TM4C123GXL LaunchPad上的TM4C123GH6PM
- TM4C123AH6PM (注意略有不同的部件号)
它(大部分)是相同的代码。 只有C启动文件和链接程序脚本不同。 项目级别的单个预处理程序定义集告诉我们的代码正在编译哪个电路板,然后在"Configure.h"文件中编译时预处理程序逻辑(许多#ifdef /#endif)设置所有其他影响GPIO映射的定义,等等
为了让事情变得更有趣,我们正在使用TI (ti-CGT-arm_gcc.3.LTS)和16.9 (gcc-arm-none-eabi-4_9-2015q3)进行编译,以便进行比较/测试/分析/便携性。 这意味着我们在每个项目中都有四个构建配置:调试,发布,调试__GNU和发布__GNU。
由于有四个不同的主板和四个构建配置,我们选择创建四个独立的项目,而不是一个具有十六种不同构建配置的复杂项目。
但是我们遇到的问题是,启动调试会话通常会为错误的项目启动调试会话,这就像Janos的情况一样,很可能会消除我们电路板上的魔幻烟雾。
下面是我们正在使用的解决方法:在我们的工作区中,我们一次只允许一个项目"打开"。 当我们切换到另一个板时,我们在Project Explorer中右键单击每个项目,并告诉它关闭项目。 这似乎可以解决该问题,并且到目前为止已使用正确的项目启动了调试器。
我希望这个职位对我有帮助,并且我希望CCS团队能够跟踪并解决这个问题,因为Janos的职位来自CCSv7,5.5 而CCSv7仍然存在这个问题。
软件版本:
- CCSv7版本7.1 .0.0.0016万
- Windows 10 x64版本1607 Build 1.4393万.1358</xmt-block>1358
- Java版本8更新131 Build 1.8 .0_131-B11
如果您需要更多信息,请告知我们。