(6)Software Pack:生成MDK软件包(包内容介绍和PDSC文件介绍)

article/2025/9/28 14:12:18

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.xsdPackChk.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


http://chatgpt.dhexx.cn/article/yRnfF7NX.shtml

相关文章

Loading PDSC Debug Description failed for ......

当我们第一次打开一个新的工程文件时&#xff0c;往往MDK5会报一个如下错误 如下图&#xff1a; 直接关掉也行&#xff0c;但是对于有强迫症的朋友来说就比较恶心了&#xff0c;那么该如何消除的错误呢&#xff1f; 一、找到提示中的文件&#xff0c;如图&#xff1a; 二、打开…

Beeline命令行操作

通过上一小节对Hive-Cli的一些操作&#xff0c;可以掌握基本的Hive的语法了&#xff0c;本小节需要讲解一下Beeline客户端的一些操作&#xff0c;其实Beeline的语法和Hive客户端的基本一致&#xff0c;但是Hive自身的客户端只能自己用&#xff0c;别人连不上去&#xff0c;要想…

Linux通过beeline连接远程Hive

Linux需要连接远程Hive&#xff0c;可以使用beeline。 一、确保服务器已经安装配置了java环境&#xff1b; 二、下载hadoop和hive相关的包 wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz wget https://archive.apache.org/dist/hive/…

由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考

背景 我们使用的HiveServer2的版本为0.13.1-cdh5.3.2&#xff0c;目前的任务使用Hive SQL构建&#xff0c;分为两种类型&#xff1a;手动任务&#xff08;临时分析需求&#xff09;、调度任务&#xff08;常规分析需求&#xff09;&#xff0c;两者均通过我们的Web系统进行提交…

beeline

beeline -u jdbc:hive2://192.168.1.102:10000 本文转自 yntmdr 51CTO博客&#xff0c;原文链接&#xff1a;http://blog.51cto.com/yntmdr/1730234&#xff0c;如需转载请自行联系原作者

Sentry Beeline

环境 Ubuntu STL 16.0.4 Hadoop 2.7.4 Hive 2.1.1 sentry 1.7.0 maven 3.5.0//注&#xff1a;伪分布式环境 安装maven 1.apache maven官网下载maven&#xff0c;用于编译sentry源码。 2.修改&#xff5e;&#xff0f;.bashrc文件&#xff0c;添加maven路径。 export MAVEN_…

beeline 使用

最近对hive设置权限&#xff0c;具体设置权限的方法请参考http://blog.csdn.net/qq_31382921/article/details/71133323&#xff0c;使用beeline的时候总会出现各种小问题&#xff0c;毕竟还是跟hive有点区别。 beeline 常用语法&#xff1a; 1. beeline -u “jdbc:hive2://n…

hive之beeline连接与操作

hive之beeline连接与操作 一、连接配置1.连接测试1.1前提1.2启动hive服务1.3测试连接 2.问题解决1.解决方式2.连接 二、操作1.beeline操作 一、连接配置 1.连接测试 1.1前提 hadoop集群、hive已正常安装&#xff0c;hadoop集群已启动 1.2启动hive服务 先启动 metastore 服…

Hive _ Hive2 新版连接工具 beeline 详解

Hive客户端工具后续将使用Beeline 替代HiveCLI &#xff0c;并且后续版本也会废弃掉HiveCLI 客户端工具。 Beeline是Hive新的命令行客户端工具。 Beeline是从 Hive 0.11版本引入的。 HiveServer2 支持一个新的命令行Shell&#xff0c;称为Beeline&#xff0c;它是基于SQLLine …

Hive3详细教程(四)beeline的使用

beeline提供了命令行中以简单字符串拼凑的图形形式的表结构&#xff0c;如下图所示&#xff0c;比hive客户端有更好的用户体验度。 配置beeline连接&#xff0c;需要在hadoop的etc/core.site.xml文件中添加以下配置权限代码&#xff1a; <property><name>hadoop.…

Hive CLI和Beeline命令行的基本使用

一、Hive CLI 1.1 Help 使用 hive -H 或者 hive --help 命令可以查看所有命令的帮助&#xff0c;显示如下&#xff1a; usage: hive-d,--define <keyvalue> Variable subsitution to apply to hive commands. e.g. -d AB or --define AB --定义用户自定义变…

【Qt学习】OpenCV帧差法 车辆识别

目录 一&#xff1a;效果展示 二&#xff1a;Qt UI界面设计 三&#xff1a;源码分享 一&#xff1a;效果展示 使用Qt界面实现 点击 线程启动按钮播放视频 同时 左边界面显示原视频 右边界面显示车辆识别视频 初始界面 点击线程启动后&#xff0c;即可车辆识别 框选车辆 二&a…

【车辆识别】基于卷积神经网络yolov3识别车辆和车辆速度附matlab代码

1 简介 近年来,自动驾驶研究,智慧交通建设突飞猛进,车辆检测技术成为业界的研究热点.由于深度卷积神经网络具有一定的旋转与平移不变性等特点,在车辆检测任务中得到广泛应用,其中,YOLOv3(You Only Look Once version 3)算法是目前主要的检测算法之一. 2 部分代码 clearclc​%…

基于深度学习的车牌+车辆识别(YOLOv5和CNN)

yolov5车牌识别+车辆识别 行人识别yolov5和v7对比 订阅专栏获得源码(提供完整代码,无需看下文) 基于深度学习的车牌识别(YOLOv5和CNN) 目录 一、综述 二、车牌检测 一、综述 本篇文章是面向的是小白,想要学习深度学习上的应用,本文中目前应用了YOLO v5和CNN来对车牌进行…

Qt +opencv 通过级联分类器训练的模型进行识别(车辆识别+人脸识别)

有不对的或更好的方法欢迎交流 一些内容可参照这篇文章&#xff1a;https://blog.csdn.net/m0_64596200/article/details/126748697?spm1001.2014.3001.5502 训练好的的模型&#xff1a; 车辆识别模型&#xff1a;https://download.csdn.net/download/m0_64596200/86507302?…

机器学习1:OpenCV4.5.5加载xml进行车辆识别

深度学习准确率高识别效果好&#xff0c;但是对软硬件环境要求高&#xff0c;使用及部署有一定难度&#xff0c;应用受限。相比之下&#xff0c;机器学习效果差一个量级&#xff0c;但是计算量小&#xff0c;计算迅速&#xff0c;部署相对容易&#xff0c;尤其是在一些计算能力…

基于YOLOv5的车辆识别系统

基于YOLOv5的车辆识别系统&#xff08;展示&#xff09; 文章目录 基于YOLOv5的车辆识别系统&#xff08;展示&#xff09;前言车牌识别车型识别 前言 YOLO能实现图像或视频中物体的快速识别&#xff0c;在相同的识别类别范围和识别准确率条件下&#xff0c;YOLO识别速度最快。…

Review of Vehicle Recognition Technology - 车辆识别技术综述

Review of Vehicle Recognition Technology - 车辆识别技术综述 ZHANG Qiang, LI Jiafeng, ZHUO Li Faculty of Information Technology, Beijing University of Technology, Beijing 100124, China 北京工业大学信息学部&#xff0c;北京 100124 Beijing University of Tech…

deeplearning.36车辆识别YOLO算法实践

车辆识别 下载相关资料导入相关包数据集定义YOLO模型细节分类阈值过滤非最大值抑制非最大值抑制函数对所有框进行过滤 测试训练好的yolo模型定义分类、锚框、图像维度加载已经训练好的模型模型的输出转换为边界框过滤锚框实际图像中运行计算图实际预测一下 下载相关资料 下载本…

基于python的transform行人车辆识别

Transformer是一种神经网络体系结构&#xff0c;由于它能够有效地处理顺序数据中的长期依赖性&#xff0c;因此在自然语言处理(NLP)任务中受到欢迎。它还被应用于各种其他任务&#xff0c;包括图像分类、对象检测和语音识别。 在车辆和行人识别方面&#xff0c;transformer可用…