EWSTM8系列教程11_一个工作空间添加多个工程

  • 分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来! www.captainbed.net

一、写在前面

  如果你是初学者,还没有理解IAR中(工作空间 > 工程 > 节点)相关基础知识,建议先参看我的另外两篇文章:
  EWSTM8系列教程06_工程节点选项配置(一)
  EWSTM8系列教程10_一个工程添加多个节点

  当你明白工作空间和工程之间的关系,这篇文章的知识你很快就能明白了。

  本文章收录于【EWSTM8系列教程】,在我的博客分类“EWSTM8系列教程”也能查找到。

  为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该系列教程也同步更新于微信公众号【EmbeddedDevelop】,关注微信公众号回复【EWSTM8系列教程】即可查看。

二、工作空间与工程的关系

  本章节算是回顾知识点:工作空间与工程其实是包含的关系,一个工作空间可以包含多个工程。
下图是工作空间、 工程、 节点三者的关系:



提示:
在IAR中叫Node(节点),而在Keil中叫Target(目标)。其实这两者意思一样,都是隶属于工程的下一级。

三、为什么一个工作空间要添加多个工程

简单回答:为了统一管理项目

例如:
1.某个项目有一个主机,多个从机,而且每个从机代码不一样。当公司有多个类似项目的情况下,公司为了统一管理项目,就会将一个项目规定为一个工作空间。

2.因公司很多工程都会使用到同样的代码(如算法库、标准外设库等),公司就会将这些工程整理到一个工作空间下。

当然,以上举例说的可能有点笼统,对于初学者,首先要掌握工程。

比如我之前文章提供的工程:STM8S-A01_GPIO基础知识、STM8S-A02_TIM精确延时、STM8S-A03_TIM定时中断……等。我可以将这些工程添加到一个工作空间下。

提示:
关于工作空间添加多工程的作用和意义,初学者不必深入理解,当你学到一定程度自然就明白了。

四、工作空间如何添加多个工程

工作空间添加工程可以说没有一点难度,添加一个工程10秒钟之内就能完成。而难点在于新建工程以及工程节点相关的配置。

本文工作空间添加工程,很多相关知识点是基于该系列教程前面分享的一些内容。主要两点内容:新建工程、节点选项配置。请参考下面文章:
EWSTM8系列教程02_新建基础软件工程
EWSTM8系列教程06_工程节点选项配置(一)
EWSTM8系列教程07_工程节点选项配置(二)

按照上面文章新建好工程及相应节点配置好之后,就可在工作空间中添加这些工程了。

这里默认新建并配置好了三个工程:Project1、Project2、Project3。将这三个工程添加到工作空间Workspace中。

提示
最后我将提供这个例子代码下载。但这里只是提供例子,Project1、2、3这三个工程的源代码和功能都类似(一般实际项目源码和功能不会相同)。同时,Project1、Workspace这种命名也是方便理解(请根据项目实际情况命名)。

4.1 整理文件夹及文件



4.2 新建工作空间

打开IAR软件 -> File -> New Workspace -> Save Workspace As…保存在上面新建的Workspace文件夹下面。



具体请看下面动画效果:


新建工作空间动画效果:

4.3 添加已存在工程

本文默认工程已经建立(具体过程请参考文章“新建基础软件工程”),所以只需要添加已存在工程即可。

菜单Project -> Add Existing Project -> 选择需要添加的工程(重复一样动作,添加三个已存在工程):




添加已存在工程动画效果:

4.4 工作空间与工程预览

按照上面步骤最后得出工作空间和工程的结构,如下图:



再次提示
此方法仅仅提供一种方法和思路,方便大家学习和掌握。具体内容根据实际项目情况而定。

五、多工程工作空间源代码下载

为方便大家学习,我这里提供可直接编译运行的源代码供大家下载。
百度网盘下载地址:https://pan.baidu.com/s/1qIfaF0c-I_I4xGveFqwLDA
密码: mpm2

GitHub下载地址:https://github.com/EmbeddedDevelop/STM8S_Multi-Project.git

提示:下载链接后期可能会失效, 若失效请关注微信公众号获取)

六、说明

1.本文大部分内容也适合IAR其它版本,如EWARM、EW430等。
2.该文档仅供个人学习使用,版权所有,禁止商用。
3.本教程收录于微信公众号【EmbeddedDevelop】,关注微信公众号回复【EWSTM8系列教程】即可查看全系列教程。

七、最后

我的博客:http://www.strongerhuang.com
我的GitHub:https://github.com/EmbeddedDevelop

更多精彩内容我将第一时间在微信公众号里面分享, 如果不想错过,可以关注我的微信公众号。

strongerHuang wechat
关注微信公众号,查看更多精彩内容!
本文对你有帮助吗?