查看原文
其他

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

strongerHuang 嵌入式专栏 2021-01-31

顶公众号,不错过每一条消息!


    本教程由作者strongerHuang于2018年08月原创发布。

版权所有:禁止商用

申明:该文档仅供个人学习使用,转载请公众号联系作者授权。


1写在前面

如果你是初学者,还没有理解IAR中(工作空间 > 工程 > 节点)相关基础知识,建议先参看我的另外两篇文章:

EWSTM8系列教程06_工程节点选项配置(一)

EWSTM8系列教程10_一个工程添加多个节点


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


为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,本文章收录于【EWSTM8系列教程】,在微信公众号回复【EWSTM8系列教程】即可查看。


2

工作空间与工程的关系

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

下图是工作空间、 工程、 节点三者的关系:

提示:

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


3

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

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


例如:

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


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


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


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


提示

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


4

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

工作空间添加工程可以说没有一点难度,添加一个工程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 工作空间与工程预览

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


再次提示

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


5

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

为方便大家学习,我这里提供可直线编译运行的源代码供大家下载。

百度网盘下载地址:

https://pan.baidu.com/s/1qIfaF0c-I_I4xGveFqwLDA

密码:mpm2


GitHub下载地址:

https://github.com/EmbeddedDevelop/STM8S_Multi-Project.git


提示:公众号不支持外链接,请复制链接到浏览器下载。下载链接后期可能会失效, 请关注微信公众号公告消息


6

说明

1.本文大部分内容也适合IAR其它版本,如EWARM、EW430等。


2.该文档仅供个人学习使用,版权所有,禁止商用。


3.本教程收录于微信公众号【EmbeddedDevelop】,关注微信公众号回复【EWSTM8系列教程】即可查看全系列教程。


7最后

本文由作者strongerHuang原创发布,转载请公众号联系作者授权。


若觉得文章对你有帮助,记得点赞、分享。(一个赞代表一份认可


扫描下面二维码、关注,在底部菜单中查看更多精彩内容!


长按识别图中二维码关注

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存