看完了这个(MDK-ARM)系列的教程,还是没学会如何在一个工程下创建多个目标?
我的回答:
1.首先你要明白【一个Workspace(工作空间)下多个Project(工程)】与【一个Project下多个Target(目标)】的区别?
2.创建多个目标大概有以下几步:
a.创建(新增)Target(目标);
b.选中目标,修改工程窗口下组/文件配置;
c.修改配置Options for Target;
Ⅰ多Project和多Target区别
先看一下Workspace(工作空间)、Project(工程)和Target(目标)之间的关系,如下图:

举个例子:一个项目,由主机和从机组成,但项目为了区分产品的高低端,将产品做成简单和复杂两个版本(简单版只保留复杂版的部分功能)。举例示意如下图:

Ⅱ什么是多Target(目标)?
打开官方提供的Virtual_COM_Port例程,如下:
上图中框出来的就是多个目标,我们为了区分目标的不同,就新建多个,最后目的就是整合在一个工程。
Ⅲ我们为什么要创建多目标呢?
不管是一个Workspace(工作空间)下多个Project(工程),还是一个Project下多个Target(目标),其重要的一个目的就是【为了方便统一管理项目】。
之前有位读者朋友问了一个类似的问题,大概是:我有上百位客户,每一位客户的需求都略有不同,我要怎样管理项目呢?
如果需要统一管理,那么这个朋友就可以创建多个目标:比如:目标1:张三; 目标2:李四; 目标3:王五······等。
大概意思就是说:我们的多个项目中有略微差异的项目,可以(合并成一个工程)创建多个目标。
Ⅳ具体步骤
具体步骤也是回答上面读者朋友的3步骤,只是增加图文描述,更详细化了。
1.创建(新增)Target(目标)
Project -> Manage -> Project Items (或者直接点击“红绿白三色方块”),在Project Targets下创建(新增)Target(目标)即可。
比如:新建一个张三的目标
提示:
a.新增加的目标,是基于当前选中的目标,复制过去的。因此,你新增目标时,需要先选择一个更相近的目标。(下一点说明)
b.每一个目标下的组和文件都是一样的,这就需要我们通过配置后面两步骤,来区分他们。
2.选中目标,修改工程窗口下组/文件配置
选择“张三”这个目标,如下图:

可以看到“张三”这个目标和“STM3210E-EVAL”这个目标是一样的。知道为什么一样了吧? 就是上面说是:张三是在STM3210E-EVAL目标的基础上新建的。
修改工程窗口下组/文件配置,大概就是:是否需要包含该组,或文件,该组/文件的内存分配,编译相关配置(如优先级、C99等)。
修改组,或单个文件,选中组,或文件 -> 右键,如下图(组):

修改之后,在Project工程窗口中可以看到有带“*”和“禁止驶入”的图标,具体是什么图标:请看【工程窗口各项图标描述】这篇文章。
3.修改配置Options for Target
选中”张三“之后,Project -> Options for Target(或直接点击Target配置图标,如下图)

-
ARM
+关注
关注
135文章
9499浏览量
388791 -
嵌入式
+关注
关注
5186文章
20155浏览量
328964 -
Target
+关注
关注
0文章
13浏览量
8769 -
MDK
+关注
关注
4文章
211浏览量
33473
发布评论请先 登录
CW32 MCU用什么IDE开发?
ENV的scons能生成RT-Thread studio工程吗?
Error: No STM32 target found!怎么解决?
修改template.uvprojx后执行scons --target=mdk5并不生效是怎么回事?
scons --target=mdk5编译不成功如何解决?
rt-thread-v4.0.5 按示例配置FAL 或 SEGGER_RTT,在scons --target=mdk5出错怎么解决?
求助,为什么scons --target=mdk5后出现这个问题?
pkgs --update后无法scons --target=mdk5怎么处理?
使用env工具创建工程始终提示UV4.exe不可用是为什么?
ENV工具编译scons --target=mdk5无法编译是什么原因导致的?
从Keil MDK到IAR EWARM:通过工程迁移实现项目资产的更好管理
使用stm32cubeMX无法生成mdk工程文件?
【敏矽微ME32G070开发板免费体验】新建工程(MDK)
2025年1000亿!Arm立了一个小目标!

MDK-ARM工程下如何创建多个Target(目标) ?
评论