当前位置: 首页 > news >正文

EDID读取学习

简介

Video BIOS可以被认为是一个具有独立硬件抽象层的操作系统。它不会阻止或监视操作系统、应用程序或设备驱动程序对硬件的直接访问。虽然不推荐,但一些DOS应用程序确实可以改变基本的硬件设置,而根本不需要通过视频BIOS。大多数现代应用程序和操作系统都避免直接使用硬件。他们可以使用传统的VGA入口点来实现基本功能,这是最低标准的,或者他们可以使用VESA入口点来访问扩展功能,而不需要设备特定驱动程序的支持。它们可以利用设备特定驱动程序的功能来访问硬件的所有特性。反过来,设备特定的驱动程序可以直接访问硬件,也可以访问视频BIOS提供的任何入口点。

一般来说,视频BIOS是作为英特尔图形控制器抽象层的软件,VBIOS的主要目标如下:

1)初始化硬件-Intel Graphics Accelerator。

2)设置支持的硬件状态并返回硬件状态信息。

3)公开VESA/VGA功能接口和Intel专有函数调用功能接口,使其他应用程序能够访问Graphics hardware。

4)修复硬件/软件接口问题。

Video BIOS可以看作是一个独立于操作系统的硬件抽象层。传统上,**视频BIOS位于物理内存位置C0000h。VBIOS通过响应Int 10h调用与外部组件(如OS、System BIOS和DOS应用程序)进行交互。**它不阻止或监视操作系统、应用程序或设备驱动程序对硬件的直接访问。大多数现代应用程序和操作系统避免直接连接硬件,而是使用视频BIOS来实现VGA, VESA或英特尔特定功能。然后,设备特定的驱动程序直接访问视频BIOS入口点或硬件。

DDC协议和EDID

DDC传输协议以及显示器EDID结构介绍_vga输出ddc功能-CSDN博客

DDC

Display Data Channel (显示数据通道)是显示器与电脑主机进行通信的一个总线标准。它的基本功能就是将显示器的电子档案资料信息,诸如可接收行场频范围、生产厂商、生产日期、产品序列号、产品型号、标准显示模式及其参数、所支持的DDC标准类别、EDID的版本信息等等,高版本的DDC标准总线还可以允许电脑主机直接调节显示器的基本参数,诸如亮度、对比度、行场幅度的大 小、行场中心位置、色温参数等等。

基于End-user 的即插即用功能的需求,VESA 定义了DDC 标准。包含

DDC1/DDC2B/DDC2B+ 等方式DDC1是主机与显示设备单向通讯,以V-Sync为Clock。显示器不停的向主机发送EDID资料。

DDC2B是主机与显示设备准双向通讯,基于I2C 通讯协议。只有主机向显示器发出需求信号,并得到显示器的响应后,显示器才送出EDID 资料。

目前DDC1 基本上已经不再使用,主要是采用DDC2B 方式。PC2001 规定不能再使用DDC1。

EDID

EDID是由VESA——视频电子标准协会定义的,并在1994年和DDC标准1.0版一起推出了1.0版本。在EDID开发之前,VGA接口的针脚4、11、12和15有时被用于定义显示器的性能。这些ID针脚带有高的或低的值用于定义不同的屏幕分辨率。VESA通过重新定义VGA接口的针脚9、12和15,以DDC——显示数据通道的形式作为一个系列母线,扩展了这一体系。这使更多的信息得以交换,因此显示器和信号源之间能够以EDID或其他的形式进行交流。原始的DDC协议定义了从显示器发送到视频信号源的128个字节的EDID格式的数据。 由于显示类型和功能的不断增加,128个字节变得捉襟见肘起来,EDID和DDC都进行了扩展,因此多重128字节的数据块可以进行交换。这就是在众多消费品上所用到的E-EDID。实际上,CEA——美国消费电子产品协会以及国内定义了自己的EDID扩展包来包含额外的视频格式并支持先进的多声道音频功能。 在2007年12月,VESA发布了DisplayID,作为第二代EDID。其目的是取代所有旧版本。DisplayID是一个长度可变的数据结构,最高可达256字节,向信号源传输显示器的相关信息。这意味着包括PC显示设备、消费级电视机以及像笔记本电脑上的液晶屏这样的嵌入式显示器已近不需要多重扩展模块。

EDID数据标准:EDID(Extended Display Identification Data Standard) 就是显示器通过DDC传输给电脑主机的标准数据信息,至今已发布到第三版本,即EDID Version 3,前面分别有EDID Version 1.0,Revision 0,EDID Version 1,Revision 1,EDID Version 2,Revision 0,EDID Version 2,Revision 1等版本。就数据信息量而分,EDID分为128 BYTE和256 BYTE。这种通讯是为了使显示器可以发送自身的性能特征——比如原始分辨率——到信号源设备,使这个设备生成适合于显示器要求的视频特性。用户不需要手动调节,就能最大限度地提升设备之间的兼容性,从而减少了因为不正确的设置和调整对显示图像和系统的整体可靠性所造成的影响。 一般来说,信号源设备可能是一台桌面计算机或笔记本电脑的显卡,但是现在又多了许多不同的设备,包括高清电视接收机和数字录像机、DVD和蓝光播放器,甚至还有游戏机,这就需要读取EDID并输出相应的视频。EDID最初是为了计算机模拟视频设备上的VGA接口而开发的,现在能够用于DVI、HDMI和DisplayPort。

EDID版本定义的结构

供应商/产品标识块——起始的18字节表明了显示器的制造商和产品信息,包括序列号和生产日期。

EDID结构版本以及修订号——随后的2字节用于识别EDID数据结构的版本号和修订号。显示器的基本参数/特性——接下来的5字节用于特性,比如显示器接收的是模拟还是数字信号、同步的类型、水平和垂直的最大尺寸、伽玛传输特性、电源管理功能、色彩空间、默认的视频定时。

色彩特性——随后的10字节定义了显示器所使用的RGB色彩空间转换技术。

确定的频率——随后的3字节定义了显示器支持的VESA确定的视频分辨率/刷新率。每比特代表一个确定的频率,就像640×480/60。如果有的话,那么这3个字节的最后部分定义了厂商的保留频率。

确定的标准频率——随后的16字节定义了显示器支持的8个额外的视频分辨率。这些分辨率必须遵循VESA定义的标准频率。

详细的频率描述——之后的72字节被分为4个18字节块,用于详细描述额外的视频分辨率,以支持自定义的视频刷新率/分辨率。第1块用于描述显示器的首选频率。频率数据的结构既可以是VESA的GTF——一般程序时间也可以是CVT——协同视频时间标准。

EDID的问题

显示设备可以有不同程度的EDID执行,在某些情况下,它们可能完全没有EDID信息。这些不一致可能导致运行问题,包括过扫描和分辨率问题,甚至可能使显示设备完全不能显示信号源的内容。以下是EDID通讯中一些潜在问题的实例,以及可能会导致的后果:1、问题:显示器上没有图像。

可能的原因:信号源设备,比如PC的显卡或是笔记本电脑无法读取显示器的EDID信息。因此,在某些情况下,PC就不会输出任何的视频信号。

2、问题:在选择一个新的信号源后显示器丢失了这个图像。可能的原因:这通常发生在VGA接口的设备上,因为不支持热插拔。如果是支持热插拔的DVI、HDMI或DisplayPort,EDID通讯问题是由于不同厂商设备之间的HPD信号问题。这经常成为一个需要专业知识的综合问题,因为转换数字视频信号的能力是必须的。3、问题:显示了图像,但信号源和显示器的分辨率不匹配。可能的原因:电脑无法读取EDID信息,所以它默认显示为640×480的标准分辨率。如果用户试图手动设置分辨率以便和显示器匹配,某些显卡驱动可能会强制执行较低的默认分辨率,造成桌面滚动/抖动,实际上视频分辨率并没有变化。电脑能够读取EDID信息,但是显卡把输出分辨率限制到XGA的1024×768,这是绝大多数显示器都能够支持的分辨率,确保能够有一个可用的图像并减少无图像显示的可能性。如果这和显示器的当前分辨率不匹配的话,字体就可能不规则地变大、变小或者模糊。

电脑连接到多个具有不同分辨率的显示器。因为它只能从一台显示器上读取EDID,因此输出与其他显示器就不匹配了,这就导致了得不到最佳图像质量,或者根本没有图像显示。在专业系统中,当需要把数字视频信号分配或路由到多个显示器时,这个问题是很常见的。

EDID/DDC协议

DDC使用了I2C总线的标准串行信号计划。因为I2C简单、针脚少、具有双向功能,所以它被广泛地应用于需要交换信息的电子设备和元件中。<font style="color:rgb(51, 51, 51);">EDID/DDC协议中有3条线:SDA——数据、SCL——时钟以及一条逻辑上的“高”直流电压。对于DDC来说,这个逻辑“高”电压被定义为+5伏。</font>EDID信息通常在视频设备启动的时候就进行了交换。DDC规范定义了一个+5伏的电源连接,以提供电源给显示器的EDID电路,**这样就算不打开显示器的电源也可以进行通讯。在启动时,视频源设备会通过DDC发送一个EDID请求。EDID/DDC规范支持热插拔,因此显示器和视频源设备重新连接的时候EDID信息也可以进行交换。热插拔检测不支持VGA,但支持包括DVI、HDMI以及DisplayPort在内的数字接口。**对于这些接口,显示设备可以通过HPD——热插拔检测针脚提供电压,同步到它所连接的视频源设备上去。如果这个针脚上没有电压那么就会显示为断开。视频源设备监控这个HPD针脚上的电压,一旦检测到电压那么它就会启动EDID请求。

DEBUG32基本命令

r
简单的输入-r时就是查看当前各项寄存器的值,并由当前的地址,存储的指令等等。
并且,我们可以用-r命令来对寄存器的值进行修改,如:-r cs 1000, r ip 0000。

a
a指令可以让我们依次对内存单元直接写入汇编语言,如:
a 1000:0
mov ax,0
mov ax,1

d

我们可以用-d命令来查看内存中的内容,和-r类似,我们可以简单地-d来查看当前地址下往下16x8个内存单元存储的内容,同时,我们还可以通过如-d 1000:0来查看指定地址(1000:0)下的内存单元的内容,或者是用如-d 1000:0 f来查看这个地址下指定长度( f )的内容。

u
和其它指令,类似,-u分为两种用法,-u可以查看当前地址(cs:ip)下16个内存单元所存储的汇编语言,而-u 1000:0可以查看指定地址下16个内存单元存储的汇编语言。

p
一般是调试程序的时候用到,可以让计算机直接执行循环到结束(可类比-g)用法是遇到循环的时候直接-p

t

让cpu执行当前地址(cs:ip)所存储的命令

g
一般是调试程序的时候用到,可以让计算机执行到指定地点,如-g 0012(0012是目的ip)

e

简单的-e 1000:00 01 02 03 04命令是可以依次从这个地址开始写入数据进内存单元(本行要一次完成,写完再摁enter之类的),或者是一个一个来,此时就是-e 1000:0之后直接摁空格,这时debug会显示当前内存的值如12.,其中12是内存单元的值,而.后的内容是你准备写入的,此时我们就写一个摁一次空格,而当我们不想输入这个单元时则可以空摁一次空格,需要退出-e时只需要摁一次enter。

q
退出debug。

Video BIOS读取EDIE

查看连接设备

Video BIOS一次只能访问一条管道。5F1Ch用于设置或获取管道访问权限。以下是视频BIOS中双显示支持的使用模型:

LFP:专门用于设备内置显示屏,使用LVDS或eDP内部接口。

EFP: 适用于外部平板显示器,比如笔记本电脑外接显示器,通常支持多种数字接口 。

TV: 适用于电视机连接,通常是通过S-Video、复合视频或分量视频接口。

CRT:传统阴极射线管显示器,适用VGA接口连接。

首先我们需要确定函数调用成功,反回状态AX查看是否执行成功,不同的EDID/DDC协议对应的返回值不同,需要查看具体的CPU spec,也就是AX的值为5F,再根据SPEC,只需要调用5F64函数以及配置指定参数即可根据查看连接的显示设备,根据下图中CX=487C知道CH的值为48,对应的显示设备为EFP和LFP。选择哪个连接,还需要结合硬件原理图看是否对接口做了转换.

读取EDID值

要想知道设备的EDID的值,根据spec中的函数4f15传入相关参数,ES为4f15函数执行存储EDID信息的地址,可以指定,也可以不指定,这里我们指定为4000,读取连接LFP的显示器EDID信息,执行结果中AX为函数执行状态,根据芯片手册,知道4F即函数执行成功,只需要映射对应内存地址中的信息即可得到EDID信息。

debug32使用d ES:DI即可映射对应128Byte字节的信息,得到EDID值。

WIN/Ubunt下获取EDID方法

sudo get-edid | hexdump -C

下载链接 Download M

相关文章:

EDID读取学习

简介 Video BIOS可以被认为是一个具有独立硬件抽象层的操作系统。它不会阻止或监视操作系统、应用程序或设备驱动程序对硬件的直接访问。虽然不推荐,但一些DOS应用程序确实可以改变基本的硬件设置,而根本不需要通过视频BIOS。大多数现代应用程序和操作系统都避免直接使用硬件…...

基于 SSE 和 WebSocket 的在线文本实时传输工具

简介 在线文本实时传输工具支持 SSE&#xff08;Server-Sent Events&#xff09; 和 WebSocket&#xff0c;可在不同设备间快速共享和同步文本&#xff0c;适用于跨设备协作、远程办公和即时通讯。 核心功能 实时同步&#xff1a;文本输入后&#xff0c;另一端用户可立即看到…...

​​​​​​​大语言模型安全风险分析及相关解决方案

大语言模型的安全风险可以从多个维度进行分类。 从输入输出的角度来看,存在提示注入、不安全输出处理、恶意内容生成和幻觉错误等风险; 从数据层面来看,训练数据中毒、敏感信息泄露和模型反演攻击是主要威胁; 模型自身则面临拒绝服务和盗窃的风险; 供应链和插件的不安全引…...

4、linux c 进程

【三】进程 1. 进程与程序的区别 程序&#xff1a;存放在磁盘上的指令和数据的有序集合&#xff08;文件&#xff09;&#xff0c;是静态的。 进程&#xff1a;执行一个程序所分配的资源的总称&#xff0c;是动态的。 2. 进程的组成部分 BSS段&#xff08;bss&#xff09;&…...

OpenFeign

OpenFeign 工作原理详解 1. 声明式接口 开发者通过定义一个接口&#xff0c;并使用特定的注解&#xff08;如GetMapping, PostMapping等&#xff09;来描述HTTP请求。OpenFeign会根据这些注解自动生成相应的HTTP请求。 注解支持&#xff1a; FeignClient&#xff1a;用于定…...

Centos离线安装perl

文章目录 Centos离线安装perl1. perl是什么&#xff1f;2. Perl下载地址3. perl的安装4. 安装结果验证 Centos离线安装perl 1. perl是什么&#xff1f; Perl 是一种 高级脚本语言&#xff0c;诞生于 1987 年&#xff0c;以强大的 文本处理能力 和灵活性著称&#xff0c;常用于…...

RabbitMQ可靠性进制

文章目录 1.生产者可靠性生产者重连生产者确认小结 2. MQ的可靠性数据持久化LazyQueue小结 3. 消费者的可靠性消费者确认机制消费者失败处理方案业务幂等性唯一消息ID业务判断 兜底方案业务判断 兜底方案 1.生产者可靠性 生产者重连 在某些场景下由于网络波动&#xff0c;可能…...

PHP优化技术

最近在学习php语言&#xff0c;打算用来提升开发小项目的效率。下面是php项目中常见的优化手段。 1、引起php性能问题的原因 &#xff08;1&#xff09;php语法使用不当 &#xff08;2&#xff09;使用php做了它不擅长的事 &#xff08;3&#xff09;用php连接的服务不给力 &…...

【Go类库分享】Go expr 通用表达式引擎

【Go类库分享】Go expr 通用表达式引擎 官方教程&#xff1a;https://expr-lang.org/docs/language-definition 官方Github&#xff1a;https://github.com/expr-lang/expr 文章所含代码地址&#xff1a;https://github.com/ziyifast/ziyifast-code_instruction/tree/main/go-d…...

线性代数(1)用 excel 计算鸡兔同笼

线性代数excel计算鸡兔同笼 案例&#xff1a;鸡兔同笼问题的三种解法&#xff08;递进式教学&#xff09;一、问题描述二、方程式解法&#xff08;基础版&#xff09;步骤解析 三、线性代数解法&#xff08;进阶版&#xff09;1. 方程组转化为矩阵形式2. 矩阵求解&#xff08;逆…...

Docker基础知识介绍

Docker基础篇 必须要在Linux环境下才能运行&#xff0c;windows下运行也是安装虚拟机后才能下载安装运行 下载安装 linux 依次执行下边步骤 更新 yum yum update 卸载旧的Docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \do…...

机器人交社保属于“无稽之谈”?

今晨浏览社交网站&#xff0c;惊奇地看到“给机器人上社保”的网页搜索结果竟然多达“约 3,280,000个”。所以被称为“无稽之谈”和“本质上是利用社保之名收税”就实不为过&#xff0c;而且还会让人读罢笑得喷饭&#xff1a;“连搞笑大王赵本山见了&#xff0c;也定会拱手作揖…...

接口测试和功能测试的区别

接口测试和功能测试的区别 一 **接口测试概述**1.1 定义1.2 优缺点 二 **功能测试概述**2.1 定义2.2 优缺点 三 **主要区别**四 两者在测试点的区别4.1 **接口测试的测试点**4.2 **功能测试的测试点**4.3 **接口测试 vs. 功能测试的测试点对比** 五 区别类比**例子背景**&#…...

人工智能中的线性代数基础详解

‌ 线性代数是人工智能领域的重要数学基础之一,是人工智能技术的底层数学支柱,它为数据表示、模型构建和算法优化提供了核心工具。其核心概念与算法应用贯穿数据表示、模型训练及优化全过程。更多内容可看我文章:人工智能数学基础详解与拓展-CSDN博客 一、基本介绍 …...

nginx不在默认的yum仓库的解决方法

1、添加 Nginx 官方仓库 epel-release 是 Extra Packages for Enterprise Linux 的仓库&#xff0c;包含了 nginx 等常用软件。 sudo yum install -y epel-release sudo yum install -y nginx 2、手动添加 Nginx 仓库 如果 epel-release 不可用&#xff0c;可以手动添加 Ng…...

IXTUR气控永磁铁:以高精度气控和稳定磁场,为机器人应用提供稳定抓取力

在现代工业生产和物流领域&#xff0c;物料的抓取与搬运是影响生产效率和成本控制的重要环节。传统夹爪在面对不同材质、形状和重量的物体时&#xff0c;常常存在适应性差、抓取不稳定、操作复杂等问题&#xff0c;导致生产流程中频繁出现停机调整&#xff0c;增加了人工干预成…...

【uni-app运行错误】SassError: expected selector @import “@/uni.scss“;

ERROR in ./src/pages/biddingViews/address_add.vue?vue&typestyle&index0&id41672bf3&scopedtrue&langscss& (./node_modules/vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22[0].rules[0].use[1]!./node_modules/dcloud…...

堆排序:力扣215.数组中的第K个大元素

一、问题描述 在一个整数数组 nums 中&#xff0c;需要找出第 k 个最大的元素。这里要注意&#xff0c;我们要找的是数组排序后的第 k 个最大元素&#xff0c;而不是第 k 个不同的元素。例如&#xff0c;对于数组 [3,2,1,5,6,4]&#xff0c;当 k 2 时&#xff0c;第 2 个最大…...

【网络协议】应用层协议HTTPS

文章目录 为什么引入HTTPS&#xff1f;基本概念加密的基本过程对称加密非对称加密中间人攻击证书 为什么引入HTTPS&#xff1f; 由于HTTP协议在网络传输中是明文传输的&#xff0c;那么当传输一些机密的文件或着对钱的操作时&#xff0c;就会有泄密的风险&#xff0c;从而引入…...

网络安全防护总体架构 网络安全防护工作机制

1 实践内容 1.1 安全防范 为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性&#xff0c;信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论&#xff0c;典型的有PDR和P^2DR模型。 1.1.1 PDR模型 信息系统的防御机制能…...

图像处理篇---图像预处理

文章目录 前言一、通用目的1.1 数据标准化目的实现 1.2 噪声抑制目的实现高斯滤波中值滤波双边滤波 1.3 尺寸统一化目的实现 1.4 数据增强目的实现 1.5 特征增强目的实现&#xff1a;边缘检测直方图均衡化锐化 二、分领域预处理2.1 传统机器学习&#xff08;如SVM、随机森林&am…...

探针泄露(WEB)

##解题思路 题目提示是探针泄露&#xff0c;未及时删除的探针可能造成严重的数据泄露 探针的文件常见命名为tz.php&#xff0c;访问它 对于php相关参数&#xff0c;我们是可以点击的&#xff0c;点击phpinfo访问 跳转后搜索flag&#xff0c;得到flag...

Webpack总结

Webpack是一个前端模块打包工具。它可以将多个模块按照依赖关系进行静态分析&#xff0c;并生成一个或多个打包后的文件。 Webpack的核心概念包括entry&#xff08;入口&#xff09;、output&#xff08;输出&#xff09;、loader&#xff08;加载器&#xff09;和plugin&…...

什么是物理信息神经网络PINN

定义原理 物理信息神经网络(PINN)是一种创新的机器学习方法,将深度学习与物理知识相结合,旨在解决偏微分方程(PDE)相关问题。PINN的核心思想是在神经网络的训练过程中引入物理定律,从而提高模型的泛化能力和预测精度。 PINN的工作原理基于以下关键步骤: 构建神经网络…...

Java面向对象(中)

面向对象(中) 1.继承性 继承性的好处&#xff1a; 减少了代码的冗余&#xff0c;提高了代码的复用性。 便于功能的拓展。 为多态性的使用提供了前期。 格式&#xff1a; class A extends B {} A:子类&#xff0c;派生类&#xff0c;subclass。 B&#xff1a;父类&#x…...

ospf单区域

OSPF单区域是指将整个自治系统&#xff08;AS&#xff09;内的所有路由器划分到同一个逻辑区域&#xff08;Area 0&#xff0c;即骨干区域&#xff09;中运行的OSPF协议模式。以下是其核心要点&#xff1a; 一、定义与核心特点 ‌区域统一性‌ 所有路由器均属于同一区域&…...

kali之nmap

kali之nmap Nmap&#xff08;Network Mapper&#xff09;是 Kali Linux 中最著名的网络扫描工具之一&#xff0c;广泛用于网络发现、端口扫描、服务识别、操作系统检测等任务。它是一个功能强大且灵活的开源工具&#xff0c;适用于渗透测试、网络管理和安全审计。 1. Nmap 的主…...

【Rust基础】排序和分组

排序 简单排序 整数排序 #[test] fn test_sort(){let mut list vec![1, 5, 3, 2, 4];list.sort(); //✔assert_eq!(list, vec![1, 2, 3, 4, 5]); }小数排序 #[test] fn test_sort(){let mut list vec![1, 5, 3, 2, 4];//❌ 不能直接使用sort&#xff0c;因为f32和f64未实现O…...

HarmonyOS NEXT开发实战——HUAWEI DevEco Studio 开发指南

概述 HUAWEI DevEco Studio&#xff08;以下简称 DevEco Studio&#xff09;是基于 IntelliJ IDEA Community 开源版本打造的一站式开发平台&#xff0c;专为 HarmonyOS 系统上的应用和元服务&#xff08;以下简称 应用/元服务&#xff09;提供高效的开发环境。 作为一款专业…...

R 语言科研绘图 --- 密度图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

【拒绝算法PUA】LeetCode 2270. 分割数组的方案数

系列文章目录 【拒绝算法PUA】0x00-位运算 【拒绝算法PUA】0x01- 区间比较技巧 【拒绝算法PUA】0x02- 区间合并技巧 【拒绝算法PUA】0x03 - LeetCode 排序类型刷题 【拒绝算法PUA】LeetCode每日一题系列刷题汇总-2025年持续刷新中 C刷题技巧总结&#xff1a; [温习C/C]0x04 刷…...

k8s 配置两个deployment主机级别互斥部署

在 Kubernetes 中&#xff0c;要实现两个 Deployment 的 Pod 在主机级别互斥部署&#xff0c;可以使用 podAntiAffinity 配置。通过设置 podAntiAffinity&#xff0c;可以确保两个 Deployment 的 Pod 不会被调度到同一节点上。 实现步骤 定义 Deployment&#xff1a; 为每个…...

Axure大屏可视化原型模板及素材:数据可视化的高效解决方案

数据可视化已成为企业决策、运营分析、市场洞察的重要工具。数据可视化大屏&#xff0c;作为数据展示和交互的直观平台&#xff0c;能够实时呈现关键数据&#xff0c;帮助企业快速做出决策。Axure作为原型设计领域的领先工具&#xff0c;以其丰富的组件库、强大的交互设计能力和…...

AGI大模型(2):GPT:Generative Pre-trained Transformer

1 Generative Pre-trained Transformer 1.1 Generative生成式 GPT中的“生成式”指的是该模型能够根据输入自动生成文本内容,而不仅仅是从已有的文本库中检索答案。 具体来说: 生成(Generative):GPT是一个生成式AI模型,能够根据给定的提示(Prompt)动态生成连贯、…...

Profinet转Profinet以创新网关模块为核心搭建西门子和欧姆龙PLC稳定通讯架构案例​

你是否有听过PROFINET主站与PROFINET主站之间需要做数据通讯有需求&#xff1f; 例如西门子1500与霍尼韦尔DCS系统两个主站之间的通讯。应用于PROFINET为主站设备还有欧姆龙、基恩士、罗克韦尔、施耐德、GE、ABB等品牌的PLC或DCS、FCS等平台。在生产或智能领域有通讯需求。两头…...

函数调用汇编

目录 一、核心概念 二、函数调用过程&#xff08;以 x86 cdecl 为例&#xff09; 三、x86 vs x64 区别 四、示例分析&#xff08;C代码 → 汇编&#xff09; 五、常见问题 一、核心概念 调用约定 (Calling Convention) 规定参数传递顺序&#xff08;如 cdecl 是右到左&…...

LabVIEW 线性拟合

该 LabVIEW 程序实现了 线性拟合&#xff08;Linear Fit&#xff09;&#xff0c;用于计算给定一组数据点的斜率&#xff08;Slope&#xff09;和截距&#xff08;Intercept&#xff09;&#xff0c;并将结果可视化于 XY Graph 中。本案例适用于数据拟合、实验数据分析、传感器…...

在办公电脑上本地部署 70b 的 DeepSeek 模型并实现相应功能的大致步骤

以下是为客户在办公电脑上本地部署 70b 的 DeepSeek 模型并实现相应功能的大致步骤&#xff1a; 硬件准备&#xff1a; 70b 模型对硬件要求较高&#xff0c;确保办公电脑有足够强大的 GPU&#xff08;例如 NVIDIA A100 等高端 GPU&#xff0c;因为模型规模较大&#xff0c;普通…...

国产编辑器EverEdit - 脚本(解锁文本编辑的无限可能)

1 脚本 1.1 应用场景 脚本是一种功能扩展代码&#xff0c;用于提供一些编辑器通用功能提供不了的功能&#xff0c;帮助用户在特定工作场景下提高工作效率&#xff0c;几乎所有主流的编辑器、IDE都支持脚本。   EverEdit的脚本支持js(语法与javascript类似)、VBScript两种编程…...

网络安全需要学多久才能入门?

网络安全是一个复杂且不断发展的领域&#xff0c;想要入行该领域&#xff0c;我们需要付出足够多的时间和精力好好学习相关知识&#xff0c;才可以获得一份不错的工作&#xff0c;那么网络安全需要学多久才能入门?我们通过这篇文章来了解一下。 学习网络安全的入门时间因个人的…...

H5端vue3 SSR 项目报错小计

H5端vue3 SSR 项目报错小计 环境 "vue-router": "^4.1.6" "vue": "^3.2.45", "vant": "^3.4.9",报错复现 ①.页面刷新点击 RouterLink 跳转链接, 页面无法跳转 问题排查 ①.去除 van-popup 使用的 teleport“…...

【Node.js入门笔记4---fs 目录操作】

Node.js入门笔记4 Node.js---fs 目录操作一、目录操作1.fs.mkdir()&#xff1a;创建目录。异步&#xff0c;非阻塞。创建单个目录创建多个目录创建目前之前需要确认是否存在&#xff1a; 2. fs.mkdirSync()&#xff1a;用于创建一个新的目录。异步&#xff0c;非阻塞。3.fs.rmd…...

xcode 旧版本、历史版本下载

下载链接&#xff1a;https://developer.apple.com/download/all/ 版本发布日志&#xff1a;https://developer.apple.com/documentation/xcode-release-notes 需要登录开发者账号&#xff0c;搜索下载即可&#xff1a; 再贴一下网友做的版本统计macOS 版本对应的 Xcode 版本&…...

(十一) 人工智能 - Python 教程 - Python元组

更多系列教程&#xff0c;每天更新 更多教程关注&#xff1a;xxxueba.com 星星学霸 1 元组&#xff08;Tuple&#xff09; 元组是有序且不可更改的集合。在 Python 中&#xff0c;元组是用圆括号编写的。 实例 创建元组&#xff1a; thistuple ("apple", "b…...

【计算机视觉】工业表计读数(1)--基于关键点检测的读数识别方案

随着工业自动化和智能制造的发展&#xff0c;对设备状态实时监控和数据采集提出了更高要求。本文提出了一种基于YOLO的工业表计读数识别方法&#xff0c;通过首先利用YOLO进行表计目标检测&#xff0c;提取出单独的表计图像&#xff0c;然后分别对表针和刻度进行关键点检测&…...

Redis--Zset类型

目录 一、引言 二、介绍 三、命令 1.zadd 2.zrange&#xff0c;zrevrange&#xff0c;zrangebyscore 3.zcard&#xff0c;zcount 4.zpopmax&#xff0c;bzpopmax&#xff0c;zpopmin&#xff0c;bzpopmin 5.zrank,zrevrank,zscore 6.zrem&#xff0c;zremrangebyrank&a…...

Java 大视界 -- 基于 Java 的大数据机器学习模型的迁移学习应用与实践(129)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

SpringBoot 第一课(Ⅲ) 配置类注解

目录 一、PropertySource 二、ImportResource ①SpringConfig &#xff08;Spring框架全注解&#xff09; ②ImportResource注解实现 三、Bean 四、多配置文件 多Profile文件的使用 文件命名约定&#xff1a; 激活Profile&#xff1a; YAML文件支持多文档块&#xff…...

期望最大化(EM)算法

MLE &#xff08;最大似然估计&#xff09;是一种非常有效的参数估计方法&#xff0c;但当分布中有多余参数或数据为截尾或缺失时&#xff0c;其 MLE 的求取是比较困难的。于是 Dempster 等人于 1977 年提出了 EM 算法&#xff0c;其出发点是把求 MLE 的过程分两步走&#xff1…...

DeepSeek与人工智能:技术演进、架构解析与未来展望

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。https://www.captainbed.cn/north 文章目录 1. DeepSeek技术全景解析1.1 DeepSeek技术定位1.2 核心技术组件 2. 人工智能发展路线2.1 技术…...