【Keil】构建MDK软件包

网友投稿 1021 2022-05-30

1 概览

软件包与软件组件

最初,创建一个包含简单 PDSC 文件的软件包,它只包含一个软件组件。该软件包随后被扩展,以显示用于描述软件组件的各种特性。

生成输入:创建将随包一起交付的文件。

组织文件:使用目录来分隔包的内容。

创建 PDSC 文件:可以使用任何文本编辑器创建基于 XML 的 PDSC 文件。根据模式文件验证 XML 代码的编辑器有助于在 Pack 开发阶段的早期发现bug。

创建 Pack :任何支持 ZIP 格式的压缩工具都可以用来创建 Pack 文件。packChk有助于验证Pack的内容。

2 源代码文件夹

在PC上创建一个工作目录,例如 D:\Pack_with_Software_Components\LongYorkePack。

转到 ARM::CMSIS Pack 安装中的

C:\keil_v5\ARM\CMSIS.7.0\CMSIS\Pack\Tutorials 目录。有关 Pack 安装目录结构的更多信息,请参考您的开发工具文档。在标准的 µVision 安装中,你会发现它在 C: Keil_v5\ARM\Pack\ARM\CMSIS\version下面。

打开 Pack_with_Software_Components.zip 文件。

将 ZIP 文件的 01_Create_PDSC 目录的内容复制到工作目录中。

确保文件/目录不受写保护(删除只读标志)。

从目录 \CMSIS\Utilities 拷贝

PACK.xsd

PackChk.exe

到 ARM::CMSIS 包文件的工作目录 D:\Pack_with_Software_Components\LongYorkePack

假设我们写了一份超级厉害的点灯代码(狗头),然后想与别人分享此源代码,并且添加简单的版本控制管理这部分代码,故而可以制作一个软件包。

|-- LongYorkePack |-- gen_pack.bat |-- LongYorke.Leds.pdsc |-- PACK.xsd |-- package-lock.json |-- PackChk.exe |-- snippets.xml |-- Files |-- Docs | |-- license.txt | |-- README.md |-- MySWComp |-- header_led.h |-- header_mylib.h |-- led.c |-- mylib.c |-- config |-- config_mylib.h |-- Templates |-- main.c

Docs

MySWComp

Templates

【Keil】构建MDK软件包

gen_pack.bat

我们要了解此脚本文件的一些内容

它将从名为 Files 的目录中查找文件

因此如果我们的脚本在根目录,则需要指明子目录让脚步寻找源代码

我们需要确定压缩软件在哪里

如果不是这个位置需要编辑为我们的压缩软件的真实位置

3 创建pdsc ( xml ) 文件

这是一个包装说明文件

指定包的名称,不能包含空格。例子: LongYorke 和Long_Yorke 是可以的,Long Yorke 是不可行的。

软件包的简要说明。可包含空格

表示包的供应商名称,不能包含空格。

定义了包的下载url(可以为空)

可以为包特定的问题提供电子邮件地址或网页URL

链接到一个可选的许可文件,该文件将在安装Pack时显示。如果不接受许可协议,开发工具中的安装将中止。

进行组件描述,这些文件将会通过以下结构出现在RTE的选择菜单中

分出了Cclass Cgroup Csub

attr="config"属性会使得该文件可以进行修改(如果没有该属性,则工程中加入软件包时本文件无法修改,用于保护一些特殊文件)

attr="template"属性描述了main.c作为模板文件

version="1.0.0"提示了当前包版本

select=" “作为文件描述

4 命令行中使用 .bat 文件打包

取消只读

windows 系统文件: .bat 为多条命令方式

cmd 中输入 gen_pack.bat

压缩成功

会出现 .pack 文件

5 通过Pack Installed导入 Keil 工程

进入 Keil 的包安装

File==>Import

选择安装包

我们的许可协议将会出现,选择接收协议

软件包安装成功

6 创建一个新的项目

选好芯片

Manage Run-Time Environment

类→组→子集

回看3 创建 pdsc ( xml ) 文件内容进行对应

分出了 Cclass Cgroup Csub

左侧 Project 中的 led.c mylib.c 文件有把小钥匙,代表无法修改

而 config_mylib.h 由于在 pdsc 文件中添加了 attr=“config” 属性,可以进行修改

使用模板

7 添加提醒

由于例子中引脚输出高低电平函数使用的是 HAL 库的管脚操作函数,如果不添加F4相关库软件包则编译失败

所以我们可以设置在 Manage Run-Time Environment 中的 Validation Output 中提醒并通过 Reasolve 按钮自动补加相关软件包

回到 pdsc 文件

修改 conditions 并给 component 添加 condition 属性指明 id

修改版本号

调用 gen_pack.bat 生成新版本

点击 Resolve 则 Keil 会自动在RTE添加相关软件包

软件包添加成功

弹性文件服务 硬件开发

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:项目团队人员变动频繁,如何对新人进行有效培养和管理?
下一篇:jQuery 实例
相关文章