【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向

本文主要是介绍【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击返回「Autosar从入门到精通-实战篇」总目录

案例背景(共18页精讲):该篇博文将告诉您:
1)Autosar中,不同类型报文(App应用UDS/OBD诊断NM网络管理报文XCP测量标定)的信号数据流向
2)CAN DBC中,不同的Attribute属性决定不同类型报文(App应用UDS/OBD诊断NM网络管理报文XCP测量标定)。
3)TechnicalReference-DbcRules-Vector文件下载,见下方链接:

TechnicalReference-DbcRules-Vectorhttps://download.csdn.net/download/qfmzhu/87580682

目录

1 Autosar中不同类型报文(应用/诊断/网络管理/测量标定)的信号数据流向

1.1 普通APP应用报文信号数据流向

1.1.1 多路复用Multiplexer报文信号数据流向

1.2 UDS/OBD诊断报文信号数据流向

1.3 NM网络管理报文信号数据流向

1.4 XCP测量标定报文信号数据流向

2 CAN DBC中如何定义不同类型报文(应用/诊断/网络管理/测量标定)

3 如何制作一个Autosar工具能够识别的CAN DBC

3.1 节点的定义

3.2 普通App帧配置

3.2.1 普通App Tx发送帧配置

3.2.2 普通App Rx接收帧配置

3.3 UDS/OBD诊断帧配置

3.3.1 UDS/OBD诊断功能请求帧配置

3.3.2 UDS/OBD诊断物理请求帧配置

3.3.3 UDS/OBD诊断诊断响应帧配置

3.4 NM网络管理帧配置

3.4.1 NM网络管理发送帧配置

3.4.2 NM网络管理接收帧配置

3.5 XCP测量标定帧配置

3.5.1 XCP测量标定发送帧配置

3.5.2 XCP测量标定接收帧配置

3.6 附件:Autosar工具能够使用的Demo.dbc

4 摘录:Autosar工具中使用的CAN DBC常用属性

结尾


优质博文推荐阅读(单击下方链接,即可跳转):

Vector工具链

CAN Matrix DBC

CAN Matrix Arxml

<--返回「实战篇」博文-总目录-->

<--返回「Autosar从入门到精通-实战篇」专栏主页-->

1 Autosar中不同类型报文(应用/诊断/网络管理/测量标定)的信号数据流向

经典CAN/CANFD通信为例,不同类型报文(应用/诊断/网络管理/测量标定)在Autosar BSW层中的信号数据流向,见图1-1。

图1-1

COM:Communication

DCM: Diagnostic Communication Manager

Ipdum: IPDU Multiplexer

PduR:PDU Router

Nm: Network Management

CanTp: CAN Transport Layer

CanIf: CAN Interface

1.1 普通APP应用报文信号数据流向

如图1-1所述:

Rx 接收一帧普通的APP应用报文信号数据流向:CAN Driver – > CanIf -- > PduR -- > Com

Tx 发送一帧普通的APP应用报文信号数据流向:Com – > PduR – > CanIf – > CAN Driver

1.1.1 多路复用Multiplexer报文信号数据流向

如图1-2所述:

Rx 接收一帧多路复用Multiplexer报文信号数据流向:CAN Driver – > CanIf -- > PduR -- > Ipdum – > PduR -- > Com

Tx 发送一帧多路复用Multiplexer报文信号数据流向:Com – > PduR – > Ipdum – > PduR -- > CanIf – > CAN Driver

图1-2

1.2 UDS/OBD诊断报文信号数据流向

如图1-1所述:

Rx 接收一帧UDS/OBD诊断报文信号数据流向:CAN Driver – > CanIf -- > CanTp -- > PduR -- > Dcm

Tx 发送一帧UDS/OBD诊断报文信号数据流向:Dcm – > PduR – > CanTp -- > CanIf – > CAN Driver

1.3 NM网络管理报文信号数据流向

如图1-3所述:

Rx 接收一帧NM网络管理信号数据流向:CAN Driver – > CanIf -- > CanNm -- > PduR -- > Com

Tx 发送一帧NM网络管理信号数据流向:Com – > PduR – > CanNm -- > CanIf – > CAN Driver

图1-3

1.4 XCP测量标定报文信号数据流向

如图1-1所述:

Rx 接收一帧XCP测量标定报文信号数据流向:CAN Driver – > CanIf -- > XCP

Tx 发送一帧XCP测量标定报文信号数据流向:XCP -- > CanIf – > CAN Driver

2 CAN DBC中如何定义不同类型报文(应用/诊断/网络管理/测量标定)

CAN DBC中,不同的Attribute属性定义,决定了不同类型的报文:APP应用报文UDS/OBD诊断报文NM网络管理报文XCP测量标定报文

Vector Davinci提供的《TechnicalReference_DbcRules_Vector.pdf》文档中,说明了CAN DBC文件中,不同类型报文AttributesGenMsgILSupport,DiagState,DiagRequest,DiagResponse,NmAsrMessage)定义,见下表。

Attribute属性

GenMsgILSupport

DiagState

DiagRequest

DiagResponse

NmAsrMessage

APP应用报文

Yes

No

No

No

No

UDS/OBD诊断报文

No

Yes/No

Yes/No

Yes/No

No

NM网络管理报文

No

No

No

No

Yes

XCP测量标定报文

No

No

No

No

No

3 如何制作一个Autosar工具能够识别的CAN DBC

制作一个完整的CAN DBC,过程可参考博文“【DBC专题】-1-如何使用CANdb++ Editor创建并制作一个DBChttps://blog.csdn.net/qfmzhu/article/details/111403266”,第3.2~3.5章节摘录了message配置,需要重点关注的地方:发送节点,接收节点,属性设置差异。

Autosar工具链导入CAN DBC可参考博文:

【DaVinci Configurator专题】-2-将CAN 2.0或CANFD Matrix的Arxml/DBC文件导入到CFGhttps://blog.csdn.net/qfmzhu/article/details/115032771

3.1 节点的定义

在Network nodes中,至少定义4个节点,见图3-1:

  • 当前所在ECU的节点名称:默认为DCDC;
  • 定义若干个该ECU的接收节点:以VCU为例,这些节点中存在NM帧发送节点
  • 定义一个UDS/OBD诊断/测试仪节点:以Test为例。
  • 定义一个XCP测量标定节点:以MCD为例。

图3-1

3.2 普通App帧配置

3.2.1 普通App Tx发送帧配置

3.2.2 普通App Rx接收帧配置

3.3 UDS/OBD诊断帧配置

3.3.1 UDS/OBD诊断功能请求帧配置

3.3.2 UDS/OBD诊断物理请求帧配置

3.3.3 UDS/OBD诊断诊断响应帧配置

3.4 NM网络管理帧配置

3.4.1 NM网络管理发送帧配置

3.4.2 NM网络管理接收帧配置

3.5 XCP测量标定帧配置

3.5.1 XCP测量标定发送帧配置

3.5.2 XCP测量标定接收帧配置

3.6 附件:Autosar工具能够使用的Demo.dbc

将以下内容复制到一个txt文件中,并保存,接着将文件后缀txt用dbc替换,这样可以快速得到这个demo.dbc文件。

VERSION ""NS_ : NS_DESC_CM_BA_DEF_BA_VAL_CAT_DEF_CAT_FILTERBA_DEF_DEF_EV_DATA_ENVVAR_DATA_SGTYPE_SGTYPE_VAL_BA_DEF_SGTYPE_BA_SGTYPE_SIG_TYPE_REF_VAL_TABLE_SIG_GROUP_SIG_VALTYPE_SIGTYPE_VALTYPE_BO_TX_BU_BA_DEF_REL_BA_REL_BA_DEF_DEF_REL_BU_SG_REL_BU_EV_REL_BU_BO_REL_SG_MUL_VAL_BS_:BU_: MCD Tester VCU DCDCBO_ 1809 XCP_Tx_Message: 8 DCDCSG_ DCDC_to_MCD_Resp : 7|64@0+ (1,0) [0|0] ""  MCDBO_ 1808 XCP_Rx_Message: 8 MCDSG_ MCD_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 513 NM_Tx_Message: 8 DCDCSG_ NM_Tx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  VCUBO_ 512 NM_Rx_Message: 8 VCUSG_ NM_Rx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  DCDCBO_ 1794 Diag_Response: 8 DCDCSG_ DCDC_to_Tester_Phy_Resp : 7|64@0+ (1,0) [0|0] ""  TesterBO_ 1793 Diag_Physical_Request: 8 TesterSG_ Tester_Phy_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 1792 Diag_Function_Request: 8 TesterSG_ Tester_Fun_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 256 APP_Rx_Message: 8 VCUSG_ APP_Rx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  DCDCBO_ 257 APP_Tx_Message: 8 DCDCSG_ APP_Tx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  VCUBA_DEF_ BU_  "NmStationAddress" INT 0 127;
BA_DEF_  "NmBaseAddress" HEX 1152 1279;
BA_DEF_  "Manufacturer" STRING ;
BA_DEF_ SG_  "GenSigInactiveValue" INT 0 2147483647;
BA_DEF_ SG_  "GenSigSendType" ENUM  "Cyclic","OnWrite","OnWriteWithRepetition","OnChange","OnChangeWithRepetition","IfActive","IfActiveWithRepetition","NoSigSendType","OnChangeAndIfActive","OnChangeAndIfActiveWithRepetition","vector_leerstring";
BA_DEF_ SG_  "GenSigStartValue" INT 0 2147483647;
BA_DEF_ BO_  "DiagRequest" ENUM  "no","yes";
BA_DEF_ BO_  "DiagResponse" ENUM  "no","yes";
BA_DEF_ BO_  "DiagState" ENUM  "no","yes";
BA_DEF_ BO_  "DiagUudtResponse" ENUM  "false","true";
BA_DEF_ BO_  "NmAsrMessage" ENUM  "No","Yes";
BA_DEF_ BO_  "GenMsgCycleTime" INT 0 65535;
BA_DEF_ BO_  "GenMsgCycleTimeFast" INT 0 65535;
BA_DEF_ BO_  "GenMsgDelayTime" INT 0 65535;
BA_DEF_ BO_  "GenMsgFastOnStart" INT 0 65535;
BA_DEF_ BO_  "GenMsgILSupport" ENUM  "no","yes";
BA_DEF_ BO_  "GenMsgNrOfRepetition" INT 0 999;
BA_DEF_ BO_  "GenMsgSendType" ENUM  "Cyclic","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","IfActive","NoMsgSendType";
BA_DEF_ BO_  "GenMsgStartDelayTime" INT 0 65535;
BA_DEF_ BO_  "TpTxIndex" INT 0 255;
BA_DEF_  "BusType" STRING ;
BA_DEF_ SG_  "GenSigTimeoutTime" INT 0 65535;
BA_DEF_DEF_  "NmStationAddress" 0;
BA_DEF_DEF_  "NmBaseAddress" 1152;
BA_DEF_DEF_  "Manufacturer" "Vector";
BA_DEF_DEF_  "GenSigInactiveValue" 0;
BA_DEF_DEF_  "GenSigSendType" "";
BA_DEF_DEF_  "GenSigStartValue" 0;
BA_DEF_DEF_  "DiagRequest" "";
BA_DEF_DEF_  "DiagResponse" "";
BA_DEF_DEF_  "DiagState" "";
BA_DEF_DEF_  "DiagUudtResponse" "";
BA_DEF_DEF_  "NmAsrMessage" "";
BA_DEF_DEF_  "GenMsgCycleTime" 0;
BA_DEF_DEF_  "GenMsgCycleTimeFast" 0;
BA_DEF_DEF_  "GenMsgDelayTime" 0;
BA_DEF_DEF_  "GenMsgFastOnStart" 0;
BA_DEF_DEF_  "GenMsgILSupport" "";
BA_DEF_DEF_  "GenMsgNrOfRepetition" 0;
BA_DEF_DEF_  "GenMsgSendType" "Cyclic";
BA_DEF_DEF_  "GenMsgStartDelayTime" 0;
BA_DEF_DEF_  "TpTxIndex" 0;
BA_DEF_DEF_  "BusType" "CAN";
BA_DEF_DEF_  "GenSigTimeoutTime" 0;
BA_ "DiagRequest" BO_ 1809 0;
BA_ "DiagResponse" BO_ 1809 0;
BA_ "DiagState" BO_ 1809 0;
BA_ "DiagUudtResponse" BO_ 1809 0;
BA_ "NmAsrMessage" BO_ 1809 0;
BA_ "GenMsgILSupport" BO_ 1809 0;
BA_ "GenMsgSendType" BO_ 1809 8;
BA_ "DiagRequest" BO_ 1808 0;
BA_ "DiagResponse" BO_ 1808 0;
BA_ "DiagState" BO_ 1808 0;
BA_ "DiagUudtResponse" BO_ 1808 0;
BA_ "NmAsrMessage" BO_ 1808 0;
BA_ "GenMsgILSupport" BO_ 1808 0;
BA_ "GenMsgSendType" BO_ 1808 8;
BA_ "DiagRequest" BO_ 513 0;
BA_ "DiagResponse" BO_ 513 0;
BA_ "DiagState" BO_ 513 0;
BA_ "DiagUudtResponse" BO_ 513 0;
BA_ "NmAsrMessage" BO_ 513 1;
BA_ "GenMsgCycleTime" BO_ 513 200;
BA_ "GenMsgILSupport" BO_ 513 0;
BA_ "GenMsgSendType" BO_ 513 0;
BA_ "DiagRequest" BO_ 512 0;
BA_ "DiagResponse" BO_ 512 0;
BA_ "DiagState" BO_ 512 0;
BA_ "DiagUudtResponse" BO_ 512 0;
BA_ "NmAsrMessage" BO_ 512 1;
BA_ "GenMsgCycleTime" BO_ 512 200;
BA_ "GenMsgILSupport" BO_ 512 0;
BA_ "GenMsgSendType" BO_ 512 0;
BA_ "DiagRequest" BO_ 1794 0;
BA_ "DiagResponse" BO_ 1794 1;
BA_ "DiagState" BO_ 1794 0;
BA_ "DiagUudtResponse" BO_ 1794 1;
BA_ "NmAsrMessage" BO_ 1794 0;
BA_ "GenMsgILSupport" BO_ 1794 0;
BA_ "GenMsgSendType" BO_ 1794 8;
BA_ "DiagRequest" BO_ 1793 1;
BA_ "DiagResponse" BO_ 1793 0;
BA_ "DiagState" BO_ 1793 0;
BA_ "DiagUudtResponse" BO_ 1793 1;
BA_ "NmAsrMessage" BO_ 1793 0;
BA_ "GenMsgILSupport" BO_ 1793 0;
BA_ "GenMsgSendType" BO_ 1793 8;
BA_ "DiagRequest" BO_ 1792 0;
BA_ "DiagResponse" BO_ 1792 0;
BA_ "DiagState" BO_ 1792 1;
BA_ "DiagUudtResponse" BO_ 1792 1;
BA_ "NmAsrMessage" BO_ 1792 0;
BA_ "GenMsgILSupport" BO_ 1792 0;
BA_ "GenMsgSendType" BO_ 1792 8;
BA_ "DiagRequest" BO_ 256 0;
BA_ "DiagResponse" BO_ 256 0;
BA_ "DiagState" BO_ 256 0;
BA_ "DiagUudtResponse" BO_ 256 0;
BA_ "NmAsrMessage" BO_ 256 0;
BA_ "GenMsgCycleTime" BO_ 256 100;
BA_ "GenMsgILSupport" BO_ 256 1;
BA_ "GenMsgSendType" BO_ 256 0;
BA_ "GenMsgCycleTime" BO_ 257 100;
BA_ "DiagRequest" BO_ 257 0;
BA_ "DiagResponse" BO_ 257 0;
BA_ "DiagState" BO_ 257 0;
BA_ "DiagUudtResponse" BO_ 257 0;
BA_ "NmAsrMessage" BO_ 257 0;
BA_ "GenMsgCycleTimeFast" BO_ 257 20;
BA_ "GenMsgDelayTime" BO_ 257 10;
BA_ "GenMsgILSupport" BO_ 257 1;
BA_ "GenMsgNrOfRepetition" BO_ 257 3;
BA_ "GenMsgSendType" BO_ 257 7;
BA_ "GenMsgStartDelayTime" BO_ 257 10;

4 摘录:Autosar工具中使用的CAN DBC常用属性

Attribute Name

Object Type

Value Type

Values and Ranges

(Bold = default)

Description

Manufacturer

Network

String

Vector

表示OEM。value必须是 " Vector "。

BusType

Network

String

CAN

CAN FD

定义CAN-2.0和CAN-FD网络。如果至少有一个CAN-FD报文,则必须设置为 "CAN FD"。

VFrameFormat

Message

Enum

CAN Standard

CAN Extended

CAN FD Standard

CAN FD Extended

表示CAN报文的种类。这个属性对每个报文都是可用的,在属性定义中没有声明。它的显示文本是 "ID-Format "或 "Type"。

GenMsgILSupport

Message

Enum

No: 0

Yes: 1

表示一个消息将由COM处理。如果选择 "yes",该信息将由COM处理,否则不处理。

GenMsgSendType

Message

Enum

Cyclic: 0,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NoMsgSendType: 8

指定I-PDU的Tx行为。可以与任何类型的GenSigSendType相结合。

GenSigSendType

Signal

Enum

Cyclic: 0,

OnWrite: 1,

OnWriteWithRepetition: 2,

OnChange: 3,

OnChangeWithRepetition: 4, NotUsed,

NotUsed,

NoSigSendType: 7

指定一个信号的Tx行为。OnChange仅支持<=4 Byte的信号。

请注意:带重复的发送类型和不带重复的发送类型的组合将导致信息在任何时候都是带重复的发送。

GenMsgCycleTime

Message

Integer

0..65535

每次循环发送信息之间的时间,单位是毫秒。

GenMsgCycleTimeFast

Message

Integer

0..65535

如果至少有一个IfActiveSignal的默认值不同,则每次循环发送消息之间的时间(ms)。

也适用于有重复的消息(即GenMsgNrOfRepetition > 0)。每次重复的时间间隔。

GenSigStartValue

Signal

Integer

Float

0..2147483647

这个值是信号的默认值。

字符串值类型可以表示十六进制和整数值。

GenSigInactiveValue

Signal

Integer

0..2147483647

表示信号的无效值。

GenMsgDelayTime

Message

Integer

0..65535

这是具有相同标识符的不同信息发送之间的最小时间,单位是ms。

GenMsgStartDelayTime

Message

Integer

0..65535

这定义了Com_IpduGroupStart和这个I-PDU的循环部分的第一次发送之间的时间,单位是ms。

GenMsgNrOfRepetition

Message

Integer

0..255

在一个初始发送请求之后的发送重复次数。重复之间的时间必须使用dbc属性GenMsgCycleTimeFast来定义。

GenSigTimeoutTime_<Ecu>

Signal

Integer

0..65535

用于特定节点收到的该信号的超时时间(ms)。

如果为一个消息配置了不同的GenSigTimeoutTime值,并且没有使用更新位,那么最低的超时时间(最强的定义)被用于超时监测。

必须为每个接收此信号的ECU提供一个专门的属性定义(GenSigTimeoutTime_<Ecu>)。

NmAsrMessage

Message

Enum

No = 0,

Yes = 1

该属性定义了相应的消息是否是AUTOSAR NM消息

DiagState

Message

Enum

No = 0,

Yes = 1

设置为 "yes",用于

> Functional (UDS) request

CanTp将使用Normal addressing。

DiagRequest

Message

Enum

No = 0,

Yes = 1

设置为 "yes",用于

> Physical Request

CanTp将使用Normal addressing。

DiagResponse

Message

Enum

No = 0,

Yes = 1

设置为 "是",用于。

> Physical Response

CanTp将使用Normal addressing。

<--返回「实战篇」博文-总目录-->

<--返回「Autosar从入门到精通-实战篇」专栏主页-->

<--返回「个人博客」首页-->

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

这篇关于【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/693900

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于