0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈新建工程多目标

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-12 14:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我们为什么要一个建立多个目标?

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进行配置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IAR
    IAR
    +关注

    关注

    5

    文章

    422

    浏览量

    38725
  • STM32F030
    +关注

    关注

    1

    文章

    33

    浏览量

    7513
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B yolov11-track多目标跟踪部署教程

    1.yolov11_track简介(多目标跟踪算法)YOLO11是UltralyticsYOLO系列实时物体检测器的最新版本,重新定义了在尖端准确度、速度和效率方面的可能性。在前几代YOLO版本
    的头像 发表于 05-11 17:01 5809次阅读
    瑞芯微(EASY EAI)RV1126B yolov11-track<b class='flag-5'>多目标</b>跟踪部署教程

    Firefly-RK1828 赋能视频大模型:多目标+全场景,引领智能分析新风向

    问题。针对这一问题,我们基于FireflyRK1828开发套件,搭载南京锐景专属视频分析算法,以视频大模型为核心,实现「多目标检测+全场景适配」,可自定义各种问题,适应
    的头像 发表于 04-15 16:35 1365次阅读
    Firefly-RK1828 赋能视频大模型:<b class='flag-5'>多目标</b>+全场景,引领智能分析新风向

    开发工作流创建工作流

    新建工作流 在小艺智能体平台页面,通过【工作空间】-【工作流】-【新建工作流】,进入新建工作流配置页面。设置工作流名称、分类、描述,并单击【确定】。 创建后页面会自动跳转至工作流的编辑页面,初始
    发表于 03-10 10:05

    瑞萨RA系列FSP库开发实战指南之DTC+UART串口收发实验

    本实验新建工程的步骤与上面的实验3基本一致。
    的头像 发表于 01-05 14:29 3571次阅读
    瑞萨RA系列FSP库开发实战指南之DTC+UART串口收发实验

    广州易显5寸触摸串口屏编写工程快速入门教程

    、测试结果一、实验条件1、硬件【5寸触摸寸口屏】2、软件:HMIMaker二、实验教程1、使用HMIMaker软件创建工程,选择后点击左上角工程后点击【新建工程
    的头像 发表于 12-05 14:50 1133次阅读
    广州易显5寸触摸串口屏编写<b class='flag-5'>工程</b>快速入门教程

    预告 多目标追踪24G雷达传感

    在智能家居、智慧商业、物联网设备日益普及的今天,精准、可靠的人体感知与定位技术成为产品智能化的核心。深圳市海凌科电子有限公司正式推出HLK-LD2453高精度多目标识别毫米波雷达传感器,以毫米波技术
    的头像 发表于 12-01 11:08 1076次阅读
    预告 <b class='flag-5'>多目标</b>追踪24G雷达传感

    NucleiStudio基于一代蜂鸟E203的工程创建

    本团队本次分享内容为NucleiStudio基于一代蜂鸟E203的工程创建。 1.下载NucleiStudio; 2.启动IDE;——启动后会指定工作目录,选定后直接Lunch; 3.新建C
    发表于 10-29 06:08

    N9H30开发板使用studio创建工程失败怎么解决?

    1.0.2版本创建失败1.0.1创建工程可以。有没有知道的大佬我需要怎么弄。
    发表于 09-19 06:43

    导入工程工程损坏,无法打开setting界面如何解决?

    一:看到论坛中有建议打开RTC,但是双击settings没有反应,无法打开图形化界面(新建工程可以正常打开)。 二:右键修改工程芯片型号、支持包版本、系统版本均没有反应(新建工程可以正常操作
    发表于 09-18 06:58

    震有科技中标2025年中国联通国际香港移动CUniqSIM平台新建工程

    近日,震有科技成功中标2025年中国联通国际香港移动CUniqSIM平台新建工程
    的头像 发表于 09-11 16:46 2186次阅读

    rtthread studio 新建工程之后,串口终端不显示怎么解决?

    rtthread studio 新建工程之后,串口终端不显示,但其它串口调试助手可以正常使用
    发表于 09-02 08:16

    请问适用于IR900以及IG900系列产品python开发的IDE如何切换工程

    IDE的一个workspace,只能建一个工程新建工程需要在新的workspace里建。切换不同的工程时,切换workspace即可。
    发表于 08-07 06:19

    STM32CubeIDE1.16.1创建新的STM32工程之后没有自动弹出引脚配置界面,怎么解决?

    之前创建工程之后都会自动弹出配置引脚的界面,也会有一个.ioc文件,但是今天无论怎么尝试新建工程,都没有弹出引脚配置界面,求助
    发表于 07-29 14:23

    基于RK3576开发板的yolov11-track多目标跟踪部署教程

    1.yolov11_track简介(多目标跟踪算法)YOLO11是UltralyticsYOLO系列实时物体检测器的最新版本,重新定义了在尖端准确度、速度和效率方面的可能性。在前几代YOLO版本
    的头像 发表于 07-25 15:21 2303次阅读
    基于RK3576开发板的yolov11-track<b class='flag-5'>多目标</b>跟踪部署教程

    【RA4L1-SENSOR】e2 studio新建工程+电压检测器实验(SLCDC和ADC)

    一、新建工程 我们点击左上角的“文件”-&gt;“新建”-&gt;“Renesas C/C++ Project”-&gt;“Renesas RA”,来
    发表于 06-23 17:31