AUTOSAR進階圖解==>AUTOSAR_SRS_OCUDriver

AUTOSAR OCU驅動程序詳解

AUTOSAR標準輸出比較單元驅動程序架構與實現分析

目錄

  • 1. 概述
    • 1.1 OCU驅動程序簡介
    • 1.2 功能概述
  • 2. OCU驅動程序架構
    • 2.1 架構圖
    • 2.2 層次結構
  • 3. OCU驅動程序組件設計
    • 3.1 組件圖
    • 3.2 接口定義
  • 4. OCU驅動程序狀態管理
    • 4.1 狀態圖
    • 4.2 狀態轉換
  • 5. OCU驅動程序數據結構
    • 5.1 配置類圖
    • 5.2 數據類型定義
  • 6. OCU驅動程序使用流程
    • 6.1 序列圖
    • 6.2 調用流程
  • 7. 總結

1. 概述

1.1 OCU驅動程序簡介

OCU(Output Compare Unit,輸出比較單元)驅動程序是AUTOSAR標準中MCAL(微控制器抽象層)的一部分,提供了對微控制器中輸出比較單元的抽象接口。OCU驅動程序使上層軟件能夠使用標準化的API訪問硬件輸出比較功能,無需關心具體的硬件細節。

1.2 功能概述

根據AUTOSAR規范文檔,OCU驅動程序提供以下核心功能:

  • 比較值控制:允許設置絕對或相對閾值,與自由運行計數器進行比較
  • 通道管理:支持啟動和停止OCU通道,控制計數器運行
  • 通知機制:在計數器值等于閾值時提供通知回調
  • 引腳控制:管理輸出引腳狀態,配置比較匹配時的動作
  • 計數器讀取:提供讀取自由運行計數器當前值的接口

OCU通道由自由運行計數器、比較閾值和比較匹配動作組成。當計數器值等于閾值時,會執行配置的比較匹配動作,如修改輸出引腳狀態或觸發通知回調。


2. OCU驅動程序架構

2.1 架構圖

下圖展示了OCU驅動程序在AUTOSAR架構中的位置和與其他模塊的關系:

在這里插入圖片描述

2.2 層次結構

根據架構圖和源文檔,OCU驅動程序位于AUTOSAR架構的MCAL層,其層次結構如下:

應用層

  • 應用軟件組件:實現特定的應用功能,通過RTE使用OCU驅動提供的服務。

RTE層

  • 運行時環境:連接應用層和基礎軟件層,提供標準化的通信機制。

BSW層

  • ECU抽象層:對BSW功能提供抽象接口,屏蔽硬件細節。
  • MCAL層:包含OCU驅動程序,直接與硬件交互。
    • OCU驅動程序:提供對OCU硬件的訪問接口。
    • 其他MCAL模塊:如DIO、PORT等,與OCU驅動協作。
  • 服務層:提供系統服務,用于配置和初始化模塊。

硬件層

  • MCU硬件:微控制器硬件平臺。
  • OCU硬件單元:實現計數器、比較器和輸出功能的硬件單元。

OCU驅動程序的關鍵職責包括:

  • 初始化和配置OCU通道
  • 啟動/停止通道
  • 設置閾值和讀取計數器值
  • 配置輸出引腳行為
  • 通知上層應用比較匹配事件

OCU硬件單元的功能包括:

  • 自由運行計數器
  • 比較閾值
  • 比較匹配動作
  • 輸出引腳控制

3. OCU驅動程序組件設計

3.1 組件圖

以下組件圖展示了OCU驅動程序的內部結構和接口設計:

在這里插入圖片描述

3.2 接口定義

OCU驅動程序包含以下主要功能模塊和接口:

初始化模塊

  • Ocu_Init:初始化OCU驅動程序,設置硬件寄存器和內部數據結構。
  • Ocu_DeInit:反初始化OCU驅動程序,復位硬件和內部狀態。

通道控制模塊

  • Ocu_StartChannel:啟動指定的OCU通道,允許計數器運行。
  • Ocu_StopChannel:停止指定的OCU通道,禁止計數器運行。
  • Ocu_SetPinState:設置通道關聯的輸出引腳狀態(高/低電平)。
  • Ocu_SetPinAction:配置比較匹配時輸出引腳的動作(置高/置低/翻轉/禁用)。

通知管理模塊

  • Ocu_EnableNotification:啟用指定通道的比較匹配通知回調。
  • Ocu_DisableNotification:禁用指定通道的比較匹配通知回調。
  • 通知處理:內部組件,負責處理比較匹配事件并調用回調函數。

計數器管理模塊

  • Ocu_GetCounter:讀取指定通道計數器的當前值。
  • Ocu_SetAbsoluteThreshold:設置絕對比較閾值。
  • Ocu_SetRelativeThreshold:設置相對比較閾值(相對于當前計數器值或當前閾值)。

配置管理模塊

  • 通道配置:管理OCU通道的配置數據。
  • 靜態配置:存儲來自配置工具的靜態配置參數。

這些接口符合AUTOSAR標準,提供了對OCU硬件功能的完整訪問。配置參數包括通道ID、計數器最大值、計數器頻率/分辨率、默認閾值、通知函數、輸出引腳配置和硬件通道分配等。

根據源文檔中的SRS_Ocu_00006,OCU驅動程序提供當計數器值等于閾值時的通知功能。通知僅在以下條件滿足時觸發:

  • 通知功能已配置(非空指針)
  • 通知功能已啟用

根據SRS_Ocu_00012,OCU驅動程序還提供設置比較匹配時引腳動作的功能,可能的動作值包括OCU_HIGH、OCU_LOW、OCU_TOGGLE和OCU_DISABLE。


4. OCU驅動程序狀態管理

4.1 狀態圖

下圖展示了OCU驅動程序通道的狀態轉換:

在這里插入圖片描述

4.2 狀態轉換

OCU驅動程序使用狀態機管理其生命周期和功能狀態。主要狀態和轉換包括:

未初始化狀態 (UNINIT)

  • 驅動程序尚未初始化,無法使用任何功能。
  • 通過調用Ocu_Init()函數轉換到初始化完成狀態。

初始化完成狀態 (INITIALIZED)

  • 驅動程序已初始化,可以使用其功能。
  • 通過調用Ocu_DeInit()函數返回到未初始化狀態。
  • 初始化后的特點:
    • 所有通道處于停止狀態
    • 所有通知被禁用
    • 輸出引腳設置為默認狀態

在初始化完成狀態下,通道和通知有各自的子狀態:

通道子狀態

  • 通道停止狀態 (IDLE):通道未運行,不會觸發比較匹配。
    • 通過調用Ocu_StartChannel()轉換到通道運行狀態。
  • 通道運行狀態 (RUNNING):通道正在運行,可以觸發比較匹配。
    • 通過調用Ocu_StopChannel()返回到通道停止狀態。
    • 在此狀態下可以:
      • 讀取計數器值 (Ocu_GetCounter)
      • 設置閾值 (Ocu_SetAbsoluteThreshold/Ocu_SetRelativeThreshold)
      • 設置引腳狀態 (Ocu_SetPinState)
      • 設置比較匹配動作 (Ocu_SetPinAction)

通知子狀態

  • 通知關閉狀態 (NOTIFICATION_DISABLED):不會觸發通知回調。
    • 通過調用Ocu_EnableNotification()轉換到通知開啟狀態。
  • 通知開啟狀態 (NOTIFICATION_ENABLED):可以觸發通知回調。
    • 通過調用Ocu_DisableNotification()返回到通知關閉狀態。
    • 當通知開啟且通道運行時:
      • 在計數器值等于閾值時
      • 觸發配置的通知回調函數

根據源文檔的SRS_Ocu_00004,初始化OCU驅動程序后,所有通知都應該被禁用,所有通道都應該被停止。如果通道有關聯的輸出引腳,該引腳將被設置為配置中定義的默認值。

根據SRS_Ocu_00007,OCU驅動程序允許在運行時啟用/禁用通知,以防止調用不需要的通知(中斷),并允許在軟件執行流中選擇何時觸發第一個或下一個通知。


5. OCU驅動程序數據結構

5.1 配置類圖

下圖展示了OCU驅動程序的配置數據結構:

在這里插入圖片描述

5.2 數據類型定義

OCU驅動程序定義了以下主要數據類型和結構:

頂層配置結構 (Ocu_ConfigType)

  • 包含所有通道配置的容器結構。
  • 屬性:
    • ChannelConfigs:指向通道配置數組的指針。
    • NumberOfChannels:配置的通道數量。

通道配置結構 (Ocu_ChannelConfigType)

  • 定義每個OCU通道的特性。
  • 屬性:
    • ChannelId:通道的唯一標識符。
    • CounterMaxValue:計數器的最大值。
    • DefaultThreshold:閾值的默認值。
    • HwChannel:分配的硬件通道。
    • NotificationEnable:通知啟用狀態。
    • NotificationCallback:通知回調函數。
    • DefaultPinAction:比較匹配時的默認引腳動作。
    • DefaultPinState:輸出引腳的默認狀態。
    • CountDirection:計數方向(向上/向下)。
    • CountResolution:計數器分辨率。
    • HwSpecificConfig:指向硬件特定配置的指針。

引腳狀態類型 (Ocu_PinStateType)

  • 定義輸出引腳的可能狀態。
  • 值:
    • OCU_LOW:低電平。
    • OCU_HIGH:高電平。

引腳動作類型 (Ocu_PinActionType)

  • 定義比較匹配時的可能引腳動作。
  • 值:
    • OCU_SET_LOW:設置為低電平。
    • OCU_SET_HIGH:設置為高電平。
    • OCU_TOGGLE:翻轉當前狀態。
    • OCU_DISABLE:禁用動作。

計數方向類型 (Ocu_CountDirectionType)

  • 定義計數器的計數方向。
  • 值:
    • OCU_COUNT_UP:向上計數。
    • OCU_COUNT_DOWN:向下計數。

通知類型 (Ocu_NotifyType)

  • 通知回調函數的類型定義。
  • 當比較匹配發生時調用的函數指針。

硬件特定配置 (Ocu_HwSpecificConfig)

  • 包含MCU特定的配置參數。
  • 屬性:
    • ClockSetting:時鐘設置。
    • DmaEnable:DMA啟用狀態。
    • HwResourceId:硬件資源ID。
    • PinSelectionValue:引腳選擇值。
    • 其他硬件特定配置:取決于具體MCU。

OCU驅動程序接口定義了以下API函數:

  • Ocu_Init:初始化驅動程序。
  • Ocu_DeInit:反初始化驅動程序。
  • Ocu_StartChannel:啟動通道。
  • Ocu_StopChannel:停止通道。
  • Ocu_SetPinState:設置引腳狀態。
  • Ocu_SetPinAction:設置比較匹配時的引腳動作。
  • Ocu_GetCounter:獲取計數器值。
  • Ocu_SetAbsoluteThreshold:設置絕對閾值。
  • Ocu_SetRelativeThreshold:設置相對閾值。
  • Ocu_EnableNotification:啟用通知。
  • Ocu_DisableNotification:禁用通知。

根據源文檔的SRS_Ocu_00002,OCU驅動程序支持以下基本靜態配置:計數器最大值、計數分辨率/頻率、通知函數、閾值默認值、分配的硬件通道、通道符號名/ID、計數方向、輸出信號和默認輸出電平、硬件資源ID以及硬件觸發事件。


6. OCU驅動程序使用流程

6.1 序列圖

下圖展示了OCU驅動程序的典型使用序列:

在這里插入圖片描述

6.2 調用流程

OCU驅動程序的使用流程可以分為以下幾個階段:

初始化階段

  • 應用軟件調用Ocu_Init(配置參數)初始化OCU驅動程序。
  • OCU驅動程序初始化硬件寄存器和內部數據結構。
  • 初始化完成后,所有通道停止,所有通知禁用,輸出引腳設置為默認狀態。

通道配置階段

  • 應用軟件調用Ocu_SetPinState(通道ID, OCU_HIGH/OCU_LOW)設置輸出引腳狀態。
  • 應用軟件調用Ocu_SetPinAction(通道ID, OCU_SET_HIGH/OCU_SET_LOW/OCU_TOGGLE)配置比較匹配時的引腳動作。
  • 應用軟件調用Ocu_SetAbsoluteThreshold(通道ID, 閾值)設置比較閾值。
  • 應用軟件調用Ocu_EnableNotification(通道ID)啟用通知回調。

通道啟動階段

  • 應用軟件調用Ocu_StartChannel(通道ID)啟動通道。
  • OCU驅動程序啟動計數器。

運行階段

  • 當計數器值等于閾值時,OCU硬件觸發比較匹配事件。
  • OCU驅動程序執行配置的引腳動作并調用通知回調(如果已啟用)。
  • 應用軟件可以調用Ocu_GetCounter(通道ID)讀取當前計數器值。
  • 應用軟件可以調用Ocu_SetRelativeThreshold(通道ID, 增量值)設置新的相對閾值。

停止階段

  • 應用軟件調用Ocu_StopChannel(通道ID)停止通道。
  • 應用軟件調用Ocu_DisableNotification(通道ID)禁用通知回調。

去初始化階段

  • 應用軟件調用Ocu_DeInit()去初始化OCU驅動程序。
  • OCU驅動程序復位硬件寄存器和內部數據結構。

根據源文檔中的各項需求,這個使用流程完全符合AUTOSAR OCU驅動程序的設計規范。

/* OCU驅動程序使用示例 */
#include "Ocu.h"/* 通知回調函數 */
void MyOcuNotification(void)
{/* 處理比較匹配事件 *//* 例如:更新PWM占空比、觸發采樣等 */
}void ApplicationTask(void)
{Std_ReturnType result;uint8 channelId = OCU_CHANNEL_0;Ocu_ValueType counterValue;/* 1. 初始化OCU驅動程序 */result = Ocu_Init(&OcuConfigData);if (result != E_OK) {/* 處理錯誤 */return;}/* 2. 配置OCU通道 */Ocu_SetPinState(channelId, OCU_HIGH);Ocu_SetPinAction(channelId, OCU_TOGGLE);Ocu_SetAbsoluteThreshold(channelId, 1000); /* 設置比較閾值為1000 */Ocu_EnableNotification(channelId);         /* 啟用通知回調 *//* 3. 啟動OCU通道 */result = Ocu_StartChannel(channelId);if (result != E_OK) {/* 處理錯誤 */return;}/* 4. 運行階段 *//* ... 應用邏輯 ... *//* 讀取當前計數器值 */counterValue = Ocu_GetCounter(channelId);/* 設置新的相對閾值(當前閾值 + 500) */Ocu_SetRelativeThreshold(channelId, 500);/* ... 更多應用邏輯 ... *//* 5. 停止OCU通道 */Ocu_StopChannel(channelId);Ocu_DisableNotification(channelId);/* 6. 去初始化OCU驅動程序 */Ocu_DeInit();
}

7. 總結

AUTOSAR OCU驅動程序提供了對微控制器輸出比較單元的標準化訪問接口,使上層軟件能夠以統一的方式使用輸出比較功能,而無需關心硬件細節。它的主要特點包括:

  • 標準化接口:符合AUTOSAR標準,提供一致的API。
  • 硬件抽象:屏蔽不同微控制器之間的硬件差異。
  • 靈活配置:支持多種配置選項,適應不同應用需求。
  • 狀態管理:提供清晰的狀態轉換和錯誤處理。
  • 低資源占用:高效使用系統資源。

OCU驅動程序可用于多種應用場景,包括:

  • 精確定時控制:如PWM生成、脈沖寬度測量等。
  • 事件觸發:在特定時刻觸發動作或通知。
  • 波形生成:通過控制輸出引腳生成特定波形。
  • 傳感器接口:配合傳感器實現精確計時和測量。

7. 總結

AUTOSAR OCU驅動程序提供了對微控制器輸出比較單元的標準化訪問接口,使上層軟件能夠以統一的方式使用輸出比較功能,而無需關心硬件細節。它的主要特點包括:

  • 標準化接口:符合AUTOSAR標準,提供一致的API。
  • 硬件抽象:屏蔽不同微控制器之間的硬件差異。
  • 靈活配置:支持多種配置選項,適應不同應用需求。
  • 狀態管理:提供清晰的狀態轉換和錯誤處理。
  • 低資源占用:高效使用系統資源。

OCU驅動程序可用于多種應用場景,包括:

  • 精確定時控制:如PWM生成、脈沖寬度測量等。
  • 事件觸發:在特定時刻觸發動作或通知。
  • 波形生成:通過控制輸出引腳生成特定波形。
  • 傳感器接口:配合傳感器實現精確計時和測量。

通過本文對OCU驅動程序架構、組件設計、狀態管理、數據結構和使用流程的詳細分析,開發者可以更好地理解和使用AUTOSAR OCU驅動程序,為基于AUTOSAR標準的汽車電子系統開發提供支持。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/91002.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/91002.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/91002.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

InfluxDB 與 HTTP 協議交互進階(一)

引言 在當今數字化時代,數據處理的高效性和準確性成為了眾多領域關注的焦點。InfluxDB 作為一款開源的時序數據庫,憑借其高性能、易擴展等特性,在時間序列數據處理中占據了重要地位。而 HTTP 協議作為互聯網應用層的核心協議之一&#xff0c…

NAS遠程訪問新解法:OMV與cpolar的技術協同價值

文章目錄前言1. OMV安裝Cpolar2. 配置FTP公網地址3. OMV FTP 配置4. OMV FTP遠程連接前言 當家庭存儲需求突破本地邊界時,傳統NAS方案往往陷入"連接困境":復雜的端口轉發配置、高昂的公網IP成本、以及始終存在的安全顧慮…開源解決方案OMV雖然…

vue 渲染 | 不同類型的元素渲染的方式(vue組件/htmlelement/純 html)

省流總結&#xff1a;&#xff08;具體實現見下方&#xff09; vue 組件 ——》<component :is組件名> htmlelement 元素 ——》 ref 、★ v-for ref 或是 ★ vue 的 nextTick 純 html 結構——》v-html 另外&#xff0c;當數據異步加載時&#xff0c;vue3中如何渲…

Charles中文版深度解析,輕松調試API與優化網絡請求

在現代軟件開發過程中&#xff0c;調試API、捕獲HTTP/HTTPS流量以及優化網絡性能是開發者不可避免的挑戰。特別是在處理復雜的網絡請求和驗證API接口的數據傳輸準確性時&#xff0c;開發者需要一款強大且易于使用的工具。Charles抓包工具憑借其功能強大、界面簡潔、易于操作的特…

【CF】Codeforces Round 1039 (Div. 2) E1 (二分答案求中位數)

E1. Submedians (Easy Version)題目&#xff1a;思路&#xff1a;經典不過加了點東西對于求中位數&#xff0c;我們必然要想到二分答案&#xff0c;具體的&#xff0c;對于所有大于等于 x 的數我們令其奉獻為 1&#xff0c;小于的為 -1&#xff0c;如果存在某段區間的奉獻和大于…

ESP32-S3學習筆記<8>:LEDC的應用

ESP32-S3學習筆記&#xff1c;8&#xff1e;&#xff1a;LEDC的應用1. 頭文件包含2. LEDC的配置2.1 配置定時器2.1.1 speed_mode/設置速度模式2.1.2 duty_resolution/設置占空比分辨率2.1.3 timer_num/選擇定時器2.1.4 freq_hz/設定PWM頻率2.1.5 clk_cfg/選擇LEDC的外設時鐘源2…

網絡安全第14集

前言&#xff1a;小迪安全14集&#xff0c;這集重點內容&#xff1a;0、什么是js滲透測試&#xff1f;在javascript中也存在變量和函數&#xff0c;存在可控變量和函數就有可能存在在漏洞&#xff0c;js開發的web應用和php、java開發的區別是&#xff0c;js能看得到的源代碼&am…

代碼隨想錄算法訓練營第三十三天

LeetCode.62 不同路徑 題目鏈接 不同路徑 題解 class Solution {public int uniquePaths(int m, int n) {// dp表示到達ij有多少條路徑int[][] dp new int[110][110];dp[1][1] 1;for(int i 0;i<m;i){dp[i][0] 1;}for(int j 0;j<n;j){dp[0][j] 1;}for(int i 1;i…

銀行回單OCR識別技術原理

銀行回單OCR&#xff08;光學字符識別&#xff09;技術通過結合圖像處理、模式識別和自然語言處理&#xff08;NLP&#xff09;技術&#xff0c;將紙質或電子版銀行回單中的非結構化文本&#xff08;如賬號、金額、日期等&#xff09;轉化為結構化數據。以下是其核心原理和關鍵…

Day22-二叉樹的迭代遍歷

昨天學習了遞歸遍歷&#xff1a;遞歸就是一次次的把參數壓入棧中&#xff0c;然后返回的時候還是上一次遞歸保存的參數。今天學習迭代遍歷。迭代遍歷就是用棧去模擬保存二叉樹的節點&#xff0c;然后依次去遍歷&#xff0c;只不過要注意棧的后入先出的規則。前序遍歷&#xff1…

知識蒸餾 - 通過引入溫度參數T調整 Softmax 的輸出

知識蒸餾 - 通過引入溫度參數T調整 Softmax 的輸出 flyfish import torch import torch.nn.functional as F import matplotlib.pyplot as plt import numpy as np# 設置中文字體支持 plt.rcParams["font.family"] [AR PL UMing CN] # Linux plt.rcParams[axes.uni…

Java研學-RabbitMQ(三)

一 消息通信協議 1 AMQP AMQP 是一個開放的、跨語言、跨平臺的消息協議標準&#xff0c;用于在分布式系統中傳遞業務消息。它定義了消息隊列的二進制協議格式和交互模型&#xff08;如交換機、隊列、綁定等&#xff09;&#xff0c;確保不同語言&#xff08;Java、Python、C#等…

http.client 教程-如何使用 Python 標準庫發送 HTTP 請求

http.client 教程-如何使用 Python 標準庫發送 HTTP 請求以下是 http.client 模塊的詳細使用教程&#xff0c;幫助你理解如何使用 Python 標準庫發送 HTTP 請求&#xff1a;1. http.client 概述http.client 是 Python 內置的 HTTP 客戶端庫&#xff0c;提供了底層的 HTTP 協議實…

Android-三種持久化方式詳解

持久化技術分為3種&#xff0c;文件&#xff0c;sharedPreferences存儲&#xff0c;數據庫來存儲&#xff1b; 目錄 文件存儲&#xff1a; 利用SharedPreferences中讀取數據 SQLite創建數據庫 更新 添加 刪除 查找&#xff1a; 文件存儲&#xff1a; 文件存儲是 Andr…

并發安全之鎖機制一

鎖機制一 鎖機制是計算機系統中解決并發沖突的核心工具&#xff0c;其存在和應用場景源于一個根本問題&#xff1a;當多個執行單元&#xff08;線程、進程、分布式節點&#xff09;同時訪問或修改同一份共享資源時&#xff0c;如何保證數據的正確性、一致性和系統可靠性&#x…

結合項目闡述 設計模式:單例、工廠、觀察者、代理

原文鏈接&#xff1a;https://download.csdn.net/blog/column/12433305/133862792#_1613 1、工廠模式應用 C17及之后可編譯 /*日志落地模塊的實現1.抽象落地基類2.派生子類&#xff08;根據不同落地方向進行派生&#xff09;3.使用工廠模式進行創建與表示的分離 */#ifndef _…

uniapp 更新apk有緩存點不動,卸載安裝apk沒有問題。android

方式一。pages.json&#xff1a;"globalStyle" : {"navigationBarTextStyle" : "black","navigationBarTitleText" : "uni-app","navigationBarBackgroundColor" : "#F8F8F8","backgroundColor&qu…

HTML響應式SEO公司網站源碼

核心優勢 100%純HTML/CSS開發自動適配手機/平板/PC內置SEO優化結構0.5秒極速加載 包含頁面 ? 首頁&#xff08;關鍵詞布局優化版&#xff09; ? 服務項目展示頁 ? 客戶案例庫 ? 新聞資訊系統 ? 聯系方式&#xff08;帶地圖API&#xff09; 技術參數 兼容Chrome/Firefo…

Error: llama runner process has terminated: exit status 2

我是i7 12700h ,3080顯卡&#xff0c;在 Windows 11 上運行 ollama run deepseek-r1:1.5b 出現 Error: llama runner process has terminated: exit status 2 之前是好用的&#xff0c;后來不知為什么就不好用了。 原因&#xff1a; 檢查 Microsoft Visual C Redistributab…

Linux中ssh遠程登錄原理與配置

SSH連接的五個階段 1. 版本協商階段&#xff08;Protocol Version Negotiation&#xff09;目的&#xff1a;協商使用SSH-1或SSH-2協議&#xff08;現代系統默認SSH-2&#xff09;。流程&#xff1a;關鍵點&#xff1a;若版本不兼容&#xff08;如客戶端只支持SSH-1&#xff0c…