(6)Software Pack:生成MDK软件包(包内容介绍和PDSC文件介绍)
1、一个Software Pack里面包含以下内容:
.h头文件、.c源文件、PDSC文件、gen_pack脚本、PACK.xsd、PackChk、LICENSE、README.md
其中(1)需要修改的
.h头文件
、.c源文件
是需要封装成库的文件
PDSC文件
描述了库里面文件的依赖关系;
gen_pack脚本
用于自动根据PDSC文件生成相应的软件库;
README.md
采用MarkDown编辑,可用于描述Software Pack的使用方式等信息
(2)不用修改
PACK.xsd
和PackChk.exe
是 MDK 安装的一部分,可用于验证生成的 PDSC 文件;
LICENSE
是协议文件;
2、PDSC文件
以官方文档为例说明PDSC文件(XML格式)的各个部分,图在上,解释在下。
<?xml version="1.0" encoding="UTF-8"?>
<package schemaVersion="1.4.9" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd"><vendor>vendor</vendor><name>name</name><description>库介绍</description><url>http://www.keil.com/pack/</url><license>LICENSE.txt</license><supportContact>***@qq.com</supportContact>
(1)XML 模式在 PACK.xsd 文件中定义,该文件是 MDK 安装 (C:\Keil\UV4) 的一部分。 它可以使用任何文本编辑器打开,并可用于验证您将要生成的 PDSC 文件。
(2)name 和 vendor标签定义了 Pack 的基础知识,也用于 PACK 文件的文件名。
(3)description应包含有关包本身和/或其内容的一些附加信息,它将显示在 Pack Installer 的 Pack 选项卡中。
(4) url标签可能包含一个带有包下载链接的 URL。
(5)license为协议文件
(6)supportContact位置坐着的联系方式
<releases><release version="1.0.1">20**/**/** ****20**/**/** ****</release></releases>
(1)需要指定带有 标记的 部分,因为 Pack Installer 将使用它来标识 Pack 的版本;
(2)实际上就是库的版本,每次添加内容后添加一下新的版本号,就会生成新的版本,会在生成库的文件夹替换掉老版本,但是Keil里面旧版本安装了就会都在。
<keywords><!-- keywords for indexing --><keyword>***</keyword></keywords>
(1)指出这个库的关键词,便于搜索;
<conditions> <condition id="condition_1"><description>condition description</description><accept Cclass="***" Cgroup="****"/><accept Cclass="***" Cgroup="****" Csub="*****"/></condition></conditions>
(1)这里是限定条件;
<components><component Cclass="*" Cgroup="**" Csub="tos_config" Cversion="1.0.1" condition="condition_1"><description>component description</description><RTE_Components_h> #define RTE_Drivers_PHY_MyPHY /* Driver PHY MyPHY */ </RTE_Components_h><files><file category="header" name="**\**\***.h"/><file category="header" name="**\**\***.h" attr="config"/><file category="source" name="**\***.c"/></files></component>
</components>
(1)这里是库包含的文件
</package>
(1)PDSC 文件以包的结束标记结束;
3、利用官方文档生成库(参考)
4、利用gen_pack.bat脚本生成库
步骤:
1、重命名PDSC文件为vendor.name.pdsc
2、在Notepad++打开批处理文件gen_pack.bat
3、修改gen_pack.bat的以下内容
4、打开cmd界面,定位到gen_pack.bat所在文件夹
然后点击enter,就会在Local_release文件夹生成库文件
说明:
(1)gen_pack.bat的作用:
检查PDSC文件的可用性、复制PDSC文件到文件目录、在文件目录运行PackChk.exe、在工作目录创建一个包文件。它会被称为Vendor.name.1.0.1.pack
参考学习链接:
[1]http://blog.sina.com.cn/s/blog_dc9571b90102vhqf.html
[2]https://www.cnblogs.com/libra13179/p/6273415.html
[3]https://www.bilibili.com/video/BV1AK411p7d9
[4]https://github.com/ARM-software/CMSIS-Driver
[5]keil CMSIS PACK制作中文手册,官方文档的翻译版,可以参考,不过还是看原文比较好
英文文档
链接:https://pan.baidu.com/s/1JZnIuywsDmsJm3-7vh9vpQ
提取码:1234
(6)Software Pack:生成MDK软件包(包内容介绍和PDSC文件介绍)相关推荐
- i.MX RT开发笔记-02 | i.MX RT1062开发环境搭建(MDK芯片包、NXP SDK详解)
文章目录 一.Keil MDK 开发工具 1. 下载安装Keil-MDK 2. MDK芯片包 二.MCUXpresso SDK 1. 下载SDK 2. SDK内容 2.1. boards 2.2. C ...
- php动态生成apk渠道包,Android自动生成渠道包
承接上文Android应用的自动化构建,我们已经通过ANT自动构建了应用,那接下来的问题是,如何自动构建渠道包,这里强烈推荐一篇文章美团Android自动化之旅-生成渠道包. 美团提到的第三种方式,截 ...
- 使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用
文章目录: 1 准备环境 2 调用`Cython库包`把python的`.py`文件生成`.so`文件 2.1 写源码文件 2.2 调用源码接口 2.3 调用Cython库把`.py`源码生成`.so ...
- 生成任意内容任意类型的文件
任何类型都可以,内容也是,excel虽然也可以生成,但它会把所有内容都放到第一个,所以还是老实用一般方法吧. 这个有点麻烦,我们一步步来(可以先拉到最后看一眼配置文件会比较好理解) 第一个类:调用方法 ...
- ROS系统MoveIt玩转双臂机器人系列(二)--生成MoveIt配置包
ROS系统MoveIt玩转双臂机器人系列(二)--生成MoveIt配置包 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_make 编译. ...
- idea做一个日志自动生成的jar包,并用flume做生产者,采集日志数据,用kafka做消费者来消费日志数据
前提:先将四台机器的zookeeper和kafka服务开启. 小任务:先准备好日志自动生成的jar包.并将其放入虚拟机master01中. 1.新建一个maven项目,命名为logmaker. pom ...
- 使用Java压缩文件生成各种zip包总结(整理为工具类版)
最近由于客户来回修改需求,使得我对代码也是反复修改,最终折腾完毕后,让我总结了3种Java生成的zip包. 1.普通zip包,解压后的样子与打包压缩前一模一样,直接解压即可. 过程如下: 打包E盘下p ...
- figure字体 latex_Latex生成中文字体包(转)
Mike的分享空间 Latex生成中文字体包(转) date: 2016.05.11; modification:2016.05.11 目录: (摘自: http://blog.sina.com.cn ...
- Spring Boot Freemark HTML 生成 PDF、生成水印Logo、docx文件生成PDF,Jar包运行可读取模板文件、字体文件
用于通过模板生成PDF,在项目中生成个人授权协议函.个人电子保单.流水报表,数据报表等,将HTML静态模板写出来后,将数据替换成动态数据即可. <!-- html2pdf --> < ...
最新文章
- 跨域,json与jsonp格式
- 浅谈javaweb三大框架和MVC设计模式
- java 验证码 插件_javaweb中验证码插件Kaptcha的使用
- mysql binlog 大数据_后起之秀 | MySQL Binlog增量同步工具go-mysql-transfer实现详解
- mysql 子字符串函数_MySQL 内置字符串函数
- 接口测试客户端的搭建
- android computescroll_Android Scroller与computeScroll的调用机制关系
- 2018年内蒙古孕产妇、婴儿死亡率实现双下降
- (1)Matplotlib_xticks, yticks
- 少儿是先学计算机 还是学机器人,孩子学机器人好还是少儿编程好
- SCL语言(入门初级笔记)
- windows10桌面_windows10 美化桌面加强能力
- lotus notes 闪退_win10系统Lotus notes邮箱闪退的恢复办法
- PS 制作毛玻璃效果
- 脚本安装爱普生790K打印机安装完成之后销毁程序(其他版本打印机更换inf文件即可)
- ASEMI代理ADM202EARNZ-REEL原装ADI车规级ADM202EARNZ-REEL
- 冯建文《数字电路设计》读书笔记
- 让你流泪的不是毕业,而是无法再重走一次的青春
- 共阳极数码管三极管驱动
- Revit 二次开发参照属性
热门文章
- Windows系统如何清除开机密码
- 【CO101】计算机组成原理笔记2 —— MIPS指令转机器码
- 杂项 杂项 杂项 杂项 杂项
- UBuntu桌面美化记录
- JavaSE笔记(六)重制版
- location ~ .php$,nginx location指令详解,
- 《剑指offer》(第二版)题集目录索引
- mysql之 1044 - Access denied for user ‘justcall‘@‘%‘ to database ‘mysql‘
- 基于Fragment的插件化
- 银行系统3(功能又强大了哟 增加了些功能(例如改密码)还在优化中。)