历史上的今天
今天是:2025年03月03日(星期一)
2021年03月03日 | EWSTM8系列教程11_一个工作空间添加多个工程
2021-03-03 来源:eefocus
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
史海拾趣
|
最近我在win7的操作系统中一直无法安装usb-blaster驱动程序,导致我无法在quartus II软件中下载程序,如图F:\\picture\\no hardware.jpg 但是我在安装usb-blaster驱动程序的时候,系统弹出对话框F:\\picture\\drivers.jpg,我怀疑是因 ...… 查看全部问答> |
|
想从上层开发(asp.net..c#) 转到 底层的嵌入开发(C)....请前辈指点....回答必得分 现在以有一年的上层开发经验....对asp.net..c# 什么的开发都 比较行了... 但现在有一个很好的机会 ...不过是做底层的嵌入开发(C).... 请高手给点好的意见...... 如果转入嵌入开发(C),有没有好的东东可以介绍... 先谢谢各位!… 查看全部问答> |
|
F2812的AD采样可以采样有正负的波形吗?我现在采用一个正弦波,但是采样后只有正半周,负半周为零,不知道是哪里出了问题??请高手指点一下,谢谢!… 查看全部问答> |
|
上图是G2的XT1,下图是FR57xx的XT1,看出区别没有?红色框框 FR57xx里面把内部的可调补偿电容给取消了,也就是需要外部电容了。… 查看全部问答> |
|
今天将LM258用作差分输入,单电源供电,发现运放LM258正负输入端的电压不相等(虚短不成立),所以怀疑是不是LM258差分输入时不能单电源供电?… 查看全部问答> |




