浅谈新建工程多目标

我们为什么要一个建立多个目标?
1.一个工程中拥有相同的源文件,但目标配置不一样的工程需要建立多个目标。
比如:iar新建一个工程,默认就有两个目标:debug和release。 其实,细心的朋友会发现,debug和release两个工程目标包含的源文件都一样,只是它们的配置不一样。
debug目标包含很多调试信息,编译的时候相对较慢,但能在线调试;
release目标没有包含调试信息,编译速度相对较快,但不能在线调试。
2.一个工程中拥有大部分相似源文件的工程需要建立多个目标。
一般实际应用项目中,这一项相对较多一点,就拿st提供的“标准外设库”为例来说明。
像类似上面针对stm32f1这种例程,官方为了所有stm32初学者都能使用这个工程(有多个目标),能让所有(大部分)stm32f1的用户都能使用该工程,就用了多目标,不同配置的方式来实现。
再简单举例来说:我们有一个很大的项目,客户a需要在项目中单纯的添加一个led指示灯,客户b需要在项目中添加一个按键输入。由于客户a和b的项目大部分功能都一样,只有略微的差异,同样也可以使用建立多个工程目标的方式。
3.为了维护工程。
多来工作的人应该知道,特别的工作有两三年及其以上的人,一个公司可能有多款类似的产品,也就是说使用的硬件和软件大部分都相同,只是存在略微的差异。但我们不可能因为一点点的差异,单独新建一个,并单独安排一批人来维护这个代码。
多工程目标 和 工作空间有什么区别?
1.一个工作空间可以包含多个工程,以及对应的多个目标。
其实就是一个包含关系,就如前面那张图:
2.多工程目标可以分解为多个工程,也就是工作空间。
如上面所说,如果工程中的源代码文件差异比较大,可以将其分成多个工程,即我们所说的工作空间。
ⅱ 建立多个目标
本节以新建stm32f030xx的demo为例,也就是建立stm32f030系列的工程demo,其中包含的启动文件有两种:startup_stm32f030.s和startup_stm32f030xc.s这两种,但一个目标只编译一种。
1.建立基础工程
因为工程中的源代码文件都差不多,后面新建的目标都是基于建立好的目标修改而成。所以把需要的工程源代码添加到工程,目标选项配置好。
这一节参考文章【keil(mdk-arm)系列教程(一)_新建软件工程详细过程】;
2.添加目标名称
这个就是在上面的基础上添加(插入)目标,如下图:
3.配置相关目标
a.文件配置:是否编译当前文件,文件存储地址等。
b.目标选项配置,这个之前的文章都已经讲述过,可以参看文章【工程目标选项配置(ⅰ)】 和 【工程目标选项配置(ⅱ)】
提示:先选中对应的目标,再project -> options for target进行配置。

51单片机制作简易电风扇定时控制器
现代电子集成技术分析
雷神公司正在研制世界上最先进的数字雷达
3D打印金属制造的零部件在各行业得到广泛利用
人工智能如何助力儿童成长
浅谈新建工程多目标
中国乘用车新车前视摄像头数据月报
夏天必备防晒单品,遮阳帽品牌排行榜请查收
超牛国外GPS无线导航避障谱乐演奏机器人
干货分享:LED显示屏的型号应该怎么选?
小米高估值无以为继,互联网企业估值拷问
物联网将如何提升工业效率?
介绍17种LM338应用电路
一次性温度记录仪拆解分析
传言华为计划通过电视抢占5G通讯的应用市场入口,成立电视项目组
中国制造业全面开放惠及全球
工业机器人撬动经济增长 智能新时代渐行渐近
电焊机为什么不会电人
变频器怎么改变伺服电机供电频率
小米终不负众望!小米5c、红米4x今日开抢!