查看原文
其他

Keil系列教程14_创建多工程工作空间

strongerHuang 嵌入式专栏 2021-01-31

置顶/星标公众,不错过每一条消息!


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

标签:Keil、 MDK-ARM、 µVision

版权所有:禁止商用

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


1写在前面

继上一篇文章《Keil系列教程13_创建多目标工程》,本文接着讲述创建多工程的工作空间


本文「创建多工程工作空间」主要的内容不多,会讲述一部分额外的相关内容。


创建多工程工作空间一般用于项目中有多个工程,为了统一管理项目。一般初学者不常用。


2

工作空间与工程的关系

本章节算是回顾前面讲述过的知识点:工作空间与工程的包含关系,一个工作空间可以包含多个工程


下图是工作空间、 工程、 目标三者的关系:


提示:

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


3

准备工作

创建工作空间可以说没有什么难度,其实难点在于创建工程,以及工程目标相关的配置工作


而创建工程、工程目标选项配置这些内容在前面都有讲述,请参看前面文章:

Keil系列教程02_新建基础软件工程

Keil系列教程05_工程目标选项配置(一)

Keil系列教程06_工程目标选项配置(二)

Keil系列教程13_创建多目标工程


参考上面4篇文章创建好工程、配置好工程目标,再创建工作空间,最后在工作空间中添加工程即可。


本文默认已经创建并配置好了3个工程:Project1、Project2、Project3。将这个3个工程添加到我们创建的工作空间Workspace中。


提示:

1.本文只是方便大家理解,提供的3个简单工程Project1、2、3源代码和功能都类似


2.三个工程都是基础软件工程,它们使用公共的标准外设库Libraries


3.一般实际项目源码和功能不会相同,同时Project1、Workspace命名方式也请根据实际情况而定。


4.文末将提供这个例子代码供大家下载。


4

创建工作空间

创建多目标工作空间,就是先创建一个工作空间(Workspace),再将创建好的工程(Project)添加带工作空间即可


这一章节讲述创建工作空间,添加工程的基本操作,下一章节讲述多工程的相关内容。


4.1 整理文件夹及文件

我们这里3个工程使用公共的库Libraries,一般在实际应用中也存在类似情况,比如多个工程共同使用一些源代码、算法库等。


4.2 创建工作空间

打开Keil软件 -> Project -> New Multi-Project Workspace:


4.3 保存工作空间


4.4 添加工程


添加工程动画效果:


4.5 添加完成多工程


到这里,包含多个工程的工作空间就创建完成了。如果前面创建的3个工程没有问题,则可直接在该工作空间选择工程进行编译、下载等操作。


5

多工程相关内容

这一章节讲述多工程工作空间相关的一些内容:工作空间管理、激活工程、编译选项等。


5.1 工作空间管理

进入工作空间管理有多种方式:

1.快捷按钮


2.菜单


工作空间管理

工作空间管理,主要就是添加、删除、上下移动工程,以及设置“选中”工程为活动(当前使用)工程


5.2 激活工程

我们工作空间中一般有多个工程,但我们一个时间只能编译、下载、调试一个工程。


那么,我们就需要选中其中一个作为当前使用的工程,简单说就是需要激活一个工程。


激活的方法可以在上面工程管理点击“Set as Active Project”实现,也可以通过如下图方式实现:


5.3 编译选项

在该教程3,4中讲述工具栏按钮和菜单时,讲过关于编译的几个选项,其中一个「Batch Build分批编译」就是用于本文的多工程。


进入分批编译设置:


如果你勾选了所有工程,编译的时候会把工作空间下所有工程都进行编译。大家试一下就明白,很好理解的。


6

下载

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


百度网盘下载地址:

https://pan.baidu.com/s/1s_1t7EuvUP0j6ekzizpvVA

密码:itly


GitHub下载地址:

https://github.com/EmbeddedDevelop/Keil-MDK-ARM_Multi-Project.git


提示:

1.下载链接后期可能会失效, 请关注微信公众号获取最新消息;

2.公号不支持外部链接,请复制链接到浏览器下载。


7

说明

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


2.本文由我一个人编辑并整理,难免存在一些错误。


3.本文收录于公众号「嵌入式专栏」,关注微信公众号回复【Keil系列教程】即可查看全系列教程。  


8最后

若觉得文章对你有帮助,随手点赞、分享,也是对我莫大的支持和鼓励。


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



长按识别图中二维码关注

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

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