-
-
0请问各位大佬,在win11 whql测试WDDM3.0 WSL DirectML Model Test,报错说没有C:Program Files\\DirectMLTestContest\\bin,这是缺少了哪个app吗
-
0
-
0眼图测试(信号完整性测试)-嵌入式多媒体卡eMMC存储芯片 嵌入式多媒体卡eMMC存储芯片被广泛地应用在手机、平板电脑、GPS终端、电子书和其他应用微处理器的消费电子设备和工业物联网设备中。 在将eMMC芯片集成到电路设计中时经常会出现各种问题。信号的一致性测试可以帮助用户调试eMMC存储接口的信号完整性问题。本文由安信实验室小编整理有关嵌入式多媒体卡eMMC芯片基础知识及eMMC信号完整性量测案例。 01eMMC基础知识: 接口名称:eMMC英文全称
-
1是认证一个信源?还是说所有信源,还是其他方式呢?
-
01、Linux软件系统的层次关系 软件系统可分为:应用程序、库、操作系统(内核)、驱动程序 以点亮LED为例,分析各层间的写作关系 1)应用程序调用库提供的open函数打开代表LED的设备文件; 2)库根据open函数传入的参数执行“swi”指令,这条指令会引起CPU异常,进而进入内核; 3)内核的异常处理函数根据这些参数找到相应的驱动程序,返回一个文件句柄给库,进而返回给应用程序; 4)应用程序得到文件句柄后,使用库提供的write或ioctl函数发出控
-
0一、输入子系统的作用与框架 1、输入设备 按键、鼠标、触摸屏:gt811,ft56xx 有多个输入设备需要驱动的时候,假如不考虑输入子系统 a, gt811 注册设备号,创建设备文件,硬件初始化,实现fop,阻塞 b, ft56xx 注册设备号,创建设备文件,硬件初始化,实现fop,阻塞 多个输入设备有共同点: 获取到数据(操作硬件),上报给用户(xxx_read, copy_to_user, 阻塞) 差异化 通用 通用的部分内核会完成,差异化的代码由开发人员编写 由此对于不同的、分散的输
-
0驱动程序开发步骤 编写一个驱动程序的大致流程如下: 1)查看原理图,数据手册,了解设备的操作方法; 2)在内核中找到相近的驱动程序,作为模板来开发,有时要从零开始; 3)实现驱动程序的初始化,比如详内核注册这个驱动程序, 4)设计所要实现的操作:比如open、close、read、writ等函数; 5)实现中断服务,并不是每个设备驱动都必须的; 6)编译驱动到内核,或作为模块动态加载 7)测试驱动
-
01、申请设备号 // 1、注册获取设备号// 2、初始化设备// 3、操作设备 file_operations – open release read write ioctl…// 4、两个宏定义 module_init module_exit // 5、注册设备号 register_chrdev_region// 6、cdev_init 初始化字符设备// 7、cdev_add 添加字符设备到系统 1)向系统申请主设备号 int register_chrdev(unsigned int major, const char * name, const struct file_operations * fops) //参数://1、major:主设备号// 设备号(32bit–dev_t)==主设备号(高12bit) + 次设备号(低20bit)// 主设备号:表示一类设备—(
-
01、概述: linux中一切皆文件,设备也如此,并且以操作文件即文件IO的方式访问设备。 应用程序只能通过库函数中的系统调用来操作硬件,对于每个系统调用,驱动程序中都会有一个与之对应的函数,对于字符设备驱动,这些函数集中在file_operations结构体中。当应用程序使用系统调用read、write等函数访问设备时,最终会调用到file_opeartions中的成员,当然一开始fops中的只是一大堆函数指针的调用接口,具体的函数就需要我们在驱动中实现,实现对
-
0安信Windows驱动开发教程:创建一个简单的 Windows 11 应用 本文将引导您完成创建简单 Windows 11 应用程序的步骤,以便您可以开始使用 Windows 11 的新视觉效果和功能。我们将在此处构建的应用程序只是一些已更新控件的基本展示具有新的样式和动画。 Windows驱动开发定制 若要按照本文中的说明构建 Windows 11 应用,您需要 Windows Insider build 22000(或更高版本)。Windows Insider build 22000 是早期预览版,因此从现在到正式版可能会有所变化。有关详细信息,请参
-
0安信Windows驱动开发教程:win 11 创建新应用的方法 当您想要为 Windows 11 或 Windows 10 创建新应用程序时,您做出的第一个决定是要构建的应用程序类型。Visual Studio 中的 Windows 和 .NET 开发工具提供了多种可以构建的不同类型的应用程序,每种应用程序都有自己的 Visual Studio 项目类型和不同的优势。 每种应用程序类型都包括一个定义应用程序生命周期的应用程序模型、一个允许您创建在 Windows 桌面环境中运行的 Word 和 Excel 等应用程序的默认 UI 框架,以及
-
0安信Windows驱动开发教程:更新现有应用 如果您有现有的 WPF、Windows 窗体或本机 Win32 桌面应用程序,Windows 操作系统和 Windows 应用程序 SDK 提供了许多可用于在您的应用程序中提供现代体验的功能。大多数这些功能都可以作为模块化组件使用,您可以按照自己的节奏在应用程序中采用,而无需为不同的平台重写应用程序。 Windows驱动开发定制 以下是一些可用于增强现有桌面应用程序的功能: 在现有项目中安装 Windows 应用 SDK NuGet 包,以调用 Windows 应用 S
-
0Windows -编程-变量和可变性-阴影 正如您 在第 2 章“比较猜测与秘密数字”部分的猜谜游戏教程中所见,您可以声明一个与前一个变量同名的新变量。Rustaceans 说第一个变量被第二个变量遮蔽,这意味着第二个变量的值是使用该变量时出现的值。我们可以通过使用相同的变量名并重复使用let关键字来隐藏变量,如下所示: 文件名:src/main.rs fn main() { let x = 5; let x = x + 1; let x = x * 2; println!("The value of x is: {}", x); } 该程序首先绑定x到 的值5。然后它x通
-
0Windows -编程-数据类型 Rust 中的每个值都有特定的数据类型,它告诉 Rust 指定了什么样的数据,以便它知道如何处理这些数据。我们将研究两种数据类型子集:标量和复合。诚接Windows驱动开发外包 请记住,Rust 是一种静态类型语言,这意味着它必须在编译时知道所有变量的类型。编译器通常可以根据值以及我们如何使用它来推断我们想要使用的类型。在可能有多种类型的情况下,例如当我们在第 2 章的“比较猜测与秘密数字”部分中String使用将 a转换
-
0Windows -编程-数值运算 Rust 支持所有数字类型的基本数学运算:加法、减法、乘法、除法和余数。以下代码显示了如何在let语句中使用每一个:诚接Windows驱动开发外包 文件名:src/main.rs fn main() { // addition let sum = 5 + 10; // subtraction let difference = 95.5 - 4.3; // multiplication let product = 4 * 30; // division let quotient = 56.7 / 32.2; // remainder let remainder = 43 % 5; } 这些语句中的每个表达式都使用数学运算符并计算为单个值,然后将其绑定到一个变量。附录 B包含 Rust 提供的所有
-
0Windows -编程-变量和常量之间的差异 无法更改变量的值可能会让您想起大多数其他语言都有的另一个编程概念:常量。与不可变变量一样,常量是绑定到名称且不允许更改的值,但常量和变量之间存在一些差异。 首先,您不能mut与常量一起使用。默认情况下,常量不仅仅是不可变的——它们总是不可变的。 诚接Windows驱动开发外包 您使用const关键字而不是关键字来声明常量let,并且必须注释值的类型。我们将在下一节“数据类型”中介绍类型和类型注
-
0Windows -编程-变量和可变性 默认情况下变量是不可变的。这是 Rust 为您提供的众多推动之一,您可以利用 Rust 提供的安全性和简单的并发性来编写代码。但是,您仍然可以选择使变量可变。让我们探讨一下 Rust 如何以及为什么鼓励您支持不变性,以及为什么有时您可能想要选择退出。 当变量不可变时,一旦值绑定到名称,就无法更改该值。为了说明这一点,让我们产生一个新的项目,称为变量 在你的项目中使用目录cargo new variables。 诚接Windows驱动开
-
0windows使用 DWriteCore 呈现文本 DWriteCore 是DirectWrite (DirectWrite 的 Windows 应用SDK实现,是 DirectX API,用于高质量文本呈现、与分辨率无关的大纲字体以及完整的 Unicode 文本和布局) 。 通过 DWriteCore,你可以获取用于呈现文本的所有当前 DirectWrite 功能,包括与设备无关的文本布局系统、硬件加速文本、多格式文本和广泛的语言支持。 诚接Windows驱动开发外包 有关 DWriteCore 的更多详细信息,包括有关设置开发环境的指南,以及使用 DWriteCore 进行编程的代码示例
-
0安装用于 Windows 应用开发的工具 若要为 Windows 11 和 Windows 10 开发应用程序,需要用所需的开发工具来配置开发计算机。 1. 检查系统要求 若要开发应用程序,你将需要 Visual Studio、Windows SDK 和 Windows App SDK。 有关每个工具的最低系统要求的列表,请参阅Windows 应用开发的系统要求。 承接Windows驱动开发外包 2. 安装 Visual Studio 使用以下链接安装 Visual Studio 2019。 可以在免费 Visual Studio Community 版本、Visual Studio Professional 或 Visual Studio Enterprise 之间进行选择。
-
0Windows开发者人员模式功能 开发人员模式将替换 Windows 8.1 对于开发人员许可证的要求。 除了旁加载外,开发人员模式设置还支持调试和其他部署选项。 这包括启动 SSH 服务允许部署该设备。 为了停止运行此服务,必须禁用开发人员模式。 在桌面上启用开发人员模式时,会安装功能包,其中包括: 诚接Windows驱动开发外包 Windows 设备门户。 仅当“启用设备门户”选项打开时,才会启用设备门户,并为它配置防火墙规则。 安装允许远程安装应用的 SSH 服
-
0Windows 应用开发的系统要求 若要为 Windows 11 和 Windows 10 开发应用,需要 Visual Studio、Windows SDK 和 Windows App SDK。 在安装这些工具之前,请查看本文中的信息,确保你的开发计算机符合最低系统要求。 有关安装和设置这些工具的说明,请参阅 设置开发环境。 Visual Studio 2019 Visual Studio 是一种全面的集成开发环境 (IDE) ,可用于编辑、调试和生成代码,然后发布应用。 有关最低系统要求,请参阅Visual Studio 2019 系统要求。 承接Windows驱动开发外包 Windows SDK Windo
-
0Windows 桌面应用开发入门 本文提供了开始构建适用于 Windows 桌面环境的应用或更新现有应用以在 Windows OS 中采用最新体验所需的信息。 新建应用 若要构建适用于 Windows 11 或 Windows 10 的新应用,首先要决定构建哪种类型的应用。 Visual Studio 中的 Windows 和 .NET 开发工具提供了几种可以构建的不同类型的应用,每种都有自己的 Visual Studio 项目类型和不同的优势。 承接Windows驱动开发外包 每种应用类型都包括应用模型(用于定义应用的生命周期)、默认 UI 框
-
0Windows 11 WHQL认证已经开始启动 2021年6月下旬,微软发布了Windows 11 预览版。跟以往一样,在发布Windows 11预览版的同时微软启动了对应的兼容性测试计划。 目前微软合作伙伴中心(partner Center) 已经可以接收Windows 11的驱动提交。微软已经将Windows 11 HLK测试工具和兼容列表(playlist)发布到官网供下载。 采用windows 11 21H2版本的HLK 做测试, 之前的HLK不能用于测试windows 11. 下图列出的是各架构的Windows 硬件兼容列表(playlist) Testing Target Architecture Applicable Playlist(s)
-
0命令行上编译本机 C++ 程序的先决条件 先决条件 要完成此演练,必须安装 Visual Studio 和可选的“使用 C++ 进行桌面开发”工作负载,或 Visual Studio 的命令行生成工具。 Visual Studio 是一个集成开发环境 (IDE)。 它支持多种语言和平台的功能完备的编辑器、资源管理器、调试器和编译器。 可用版本包括免费的 Visual Studio Community 版本,且所有版本都支持 C 和 C++ 开发。 有关如何下载和安装 Visual Studio 的信息,请参阅在 Visual Studio 中安装 C++ 支持。 Visual Studio
-
0Windows 10 低版本驱动数字签名更新的必要性 最近我们在接到一位客户的反馈,之前做的windows 10 WHQL认证获得的驱动数字签名在新版本的Windows 10 20H2无法安装,提示是数字签名无法验证。而之前其他的Windows 10版本一直都是能正常使用的。 事情让人感到蹊跷,我们调出了这位客户之前做WHQL认证的驱动存档。他们是在2018年3月份做的认证,当时测试的系统版本是Windows 10 RS2也就是1704版本。我们查看了当时微软对catalog文件签名所用的算法是Sha1RSA. 这也许问题
-
0Windows驱动开发需要注意的细节 此“Hello, World”示例与 C++ 程序一样简单。 现实世界中的程序通常有头文件、更多源文件和指向库的链接。 你可以使用本演练中的步骤来创建自己的 C++ 代码,而不是键入所示的示例代码。 还可通过这些步骤生成你在其他位置看到的许多 C++ 代码示例程序。 你可以在任何可写目录放置源代码并生成应用。 默认情况下,Visual Studio IDE 在用户文件夹的“source\repos”子文件夹中创建项目。 旧版本可能会将项目放入 Documents\Visua
-
0C++如何打开“开发人员命令提示” 如果在 Windows 10 上安装了 Visual Studio 2017 或更高版本,请打开“开始”菜单并选择“所有应用”。 向下滚动并打开“Visual Studio”文件夹(不是 Visual Studio 应用程序)。 选择“VS 开发人员命令提示”以打开命令提示窗口。 如果在 Windows 10 上安装了 Microsoft Visual C++ 生成工具 2015,请打开“开始”菜单并选择“所有应用” 。 向下滚动并打开“Visual C++ 生成工具”文件夹。 选择“Visual C++ 2015 x86 本机工具命令提示”,打开
-
0创建 Visual C++ 源文件并在命令行上对其进行编译 在“开发人员命令提示”窗口中,输入 md c:\hello 以创建目录,然后输入 cd c:\hello 更改为该目录。 此目录是创建源文件和编译程序的位置。 在命令提示窗口中输入 notepad hello.cpp。 当记事本提示你创建新文件时,选择“是”。 此步骤将打开一个空白记事本窗口,你可以在名为 hello.cpp 的文件中输入代码。 在记事本中,输入以下代码行: C++ 复制 #include <iostream> using namespace std; int main() { cout << "
-
2
-
0Windows驱动分为如下几种类型: 设备函数驱动程序 设备筛选器驱动程序 软件驱动程序 文件系统筛选器驱动程序 文件系统驱动程序 驱动程序不是一定需要与硬件通讯,如果需要访问操作系统核心数据,往往应用程序没有足够的权限,这种情况则需要在内核模式下进行访问。就上面5种驱动类型,笔者参考着微软的驱动例子开发过 鼠标键盘设备过滤驱动 和 网络过滤软件驱动程序,所以对驱动开发的理解仍在浅水区,如在阅读过程中发现有误的地方,还
-
0如何在Linux用户态开发驱动 用户态的驱动应用场景主要是以下几种,如果有其他的,希望各位朋友拍砖 1、功能基本集中在芯片,驱动主要做控制芯片用途的 2、加速器,功能独立,无需内核调度的 用户态驱动最大的好处就是代码灵活,可以自己定自己的代码架构。不好的地方也就是内核无法识别设备,还有中断处理需要用到内核部分无法全部。 安信接Windows驱动开发外包 常用的用户态的驱动开发 1、打开devmem 后,使用MMAP映射出芯片物理地址对应的虚
-
0Windows驱动如何用INF文件安装 设备相关的驱动安装可以选择INF进行安装,INF安装文件的编写建议从 WDF Sample 中找到合适的INF文件进行修改 通过设备管理器手工安装 打开控制台,输入 devmgmt 回车,这是打开设备管理器的其中一种方式,其他方式比如右键系统菜单栏图标均可以打开任务管理器,只是使用命令行的方式比较少见,这里特意记录一下。找到感兴趣的 设备节点,右键 属性(或更新驱动程序软件),切换到 驱动程序,可以进行感兴趣的操作。
-
0基于WDF的驱动开发 WDF的开发需要遵循一定的规则,开发实现时需要考虑较多的细节,由于篇幅有限,笔者凭着自己的经验暂且稍做列举,后续将写一篇针对WDF驱动开发的文章。 安信接Windows驱动开发外包 PNP和电源管理(WDF已经帮忙封装了大部分的接口); 各种对象:驱动对象,设备对象,WDF对象,文件对象,队列对象; 驱动上下文:有时称为设备扩展,用于存储特定设备对象的相关信息的数据结构; 对象的释放:需要考虑不同性质对象释放的时机
-
0驱动开发入门 首先要进行驱动开发,那就要知道驱动是什么。驱动,就是芯片要运作起来,必须要依赖软件的一系列的配置,这一系列配置就是驱动。至于为什么需要驱动,能点开这篇文章的人应该都清楚。 安信接Windows驱动开发外包 可能有些才开始接触底层开发的人员或者对这部分不太了解的人会认为驱动开发是个很高大上的职业。但笔者作为工作在基层的员工来说,大部分驱动开发并没有太多的技术含量。为什么这么说,原因如下: 1、大部分功
-
0Windows 11 功能特定的要求 Windows 11 中的某些功能在上面列出的最低要求之外,又增加了一些要求。以下是对一些主要功能的额外要求: 5G 支持 需要支持 5G 的调制解调器。自动 HDR 需要 HDR 监视器。BitLocker to Go 需要 U 盘(仅在 Windows 专业版及更高版本中可用)。客户端 Hyper-V 需要支持二级地址转换 (SLAT) 的处理器(仅在 Windows 专业版及更高版本中可用)。Cortana 需要麦克风和扬声器,目前在澳大利亚、巴西、加拿大、中国、法国、德国、印度、意大利、
-
0Windows 10 和 Windows 11 有什么区别? Windows 11 具有 Windows 10 的全部功能和安全性,同时具有经重新设计而焕然一新的外观。它还自带一些新的工具、声音和应用。所有细节面面俱到。颜值、功能与安全性集于一体,带给您全新的电脑体验。 1:Win 11比Win10有更精简也更快的内核 2:Win10一直没能解决好的多设备互动和触控操作,在Win 11上有显著提升 3:11代酷睿桌面版在Win11上的速度提升1%-2%的水平 4:对电源控制比较敏感的U系列笔记本处理器测试中,Win11也
-
0升级Win 11的硬件基本要求 以下是在电脑上安装 Windows 11 的基本要求。如果您的设备不满足这些要求,您可能无法在设备上安装 Windows 11,建议您考虑购买一台新电脑。如果您不确定您的电脑是否满足这些要求,可以咨询您的原始设备制造商 (OEM);如果您的设备已经在运行 Windows 10,您可以使用电脑健康状况检查应用来评估兼容性。 处理器: 1 GHz 或更快的支持 64 位的处理器(双核或多核)或系统单芯片 (SoC) RAM: 4 GB 存储: 64 GB 或更大的存储设备 注意
-
0系统升级到win 11弃用及移除的win10功能 在从 Windows 10 升级到 Windows 11 或在安装 Windows 11 的更新时,某些功能可能会被弃用或移除。请查看下方与受影响的一些主要功能有关的信息: Cortana 将不再包含在首次启动体验中,也不再固定在任务栏中。 使用 Microsoft 帐户登录时桌面壁纸无法漫游到设备,也无法从设备漫游。 Internet Explorer 将不再使用。Microsoft Edge 成为推荐的替代产品,其中含有 IE 模式,可能适用于某些情况。 数学输入面板被移除。数学识别器
-
0安信Windows驱动外包教程:Windows驱动开发入门 一、驱动开发环境搭建 在Download the Windows Driver Kit (WDK)页面中下载最新版本的Visual Studio和WDK进行安装。如果要下载老版本可以到Other WDK downloads下载。 本文演示环境为:Visual Studio 2017版本,WDK for Windows 10 17740。其他版本亦可。 二、Hello Word工程 在Visual Studio中选择Visual C++ -> Windows Driver -> Empty WDM Driver模板,新建一个空的WDM驱动项目,如图: 由于是简单的HelloWorld驱动,故删除用于驱动安装的inf文件,即Hell
-
0Window驱动程序, 应用程序定制开发 随着移动端设备的日益发展,越来越多的软件工程师偏向移动端的开发。Windows 软件开发工程师日渐稀缺。安信考虑到市场和客户的需要,开展Windows驱动程序和应用程序开发定制服务。 多年的技术支持服务为安信积累了一批优秀的Windows开发工程师,能帮助客户满足种种需求,解决各种难题,让贵司产品的研发畅通无阻。 一, HID类Windows驱动程序和应用程序开发 主要运用领域: 1, 游戏竞技产品(键盘,鼠标,手柄等
-
0Windows 10 不同版本WHQL认证驱动数字签名兼容问题 Windows 10 自微软公司发行以来不断的推出新的版本,尤其是近期更新更是频繁。微软不断的更新本件非常好的事,修正发现的Bug然后推出更为稳定的Windows 操作系统。 今天我们来说一下不同版本Windows 10 WHQL认证兼容的问题。 自发行Windows 10 1607版本以来, 微软对 WHQL认证的测试平台HLK (Hardware Lab. Kit) 也不断的升级, Windows 10 的1607, 170x, 180x, 190x 分别对应不同的版本的HLK 测试工具。 哪么,不同的版本Window
-
0
-
1微软停止支持WINDOWS 中国数亿台WINDOWS 7终端面临重大安全问题 据微软官方报道,2020年1月14日,停止支持WINDOWS 7,对用户来说,意味着不再有系统安全补丁,而WINDOWS 系统做为闭源(非开源)的系统,一旦被黑客和病毒制造者发现漏洞并据此对WINDOWS 7用户进行攻击,用户将无能为力,可以说非常危险。 WINDOWS 7,XP以下的系统的根证书是基于SHA1算法的,微软从WINDOWS 8开始支持更加安全的SHA256算法,SHA256算法不被WINDOWS 7系统所支持,2017年停止支持SHA1算法,
-
0微软最新发布Windows 10 21H1 硬件兼容计划(WHCP) Windows 10 21H1 硬件兼容计划没有做任何更新,还是沿用Windows 10 20H2 硬件兼容计划,以下是最新的Windows硬件兼容计划更多详细信息: WHCP要求:没有变化, 依旧沿用Windows 10 20H2兼容要求。 Hardware Lab. Kit : 微软没有为Windows 10 20H2版本发布新的HLK,还是用2004版本的HLK来做认证。 Errata: 没有变化, 用于2004版本的Errata 在测试windows 10 20H2中同样有效。 HLK Playlist: 没有变化,HLK 2004版本的playlist可以适用用于Windows 10 2004
-
0Windows10 21H1 硬件兼容计划没有做任何更新,还是沿用Windows 10 20H2 硬件兼容计划,以下是最新的Windows硬件兼容计划更多详细信息: WHCP要求:没有变化, 依旧沿用Windows 10 20H2兼容要求。 HardwareLab. Kit : 微软没有为Windows 10 20H2版本发布新的HLK,还是用2004版本的HLK来做认证。 Errata: 没有变化, 用于2004版本的Errata 在测试windows 10 20H2中同样有效。 HLKPlaylist: 没有变化,HLK 2004版本的playlist可以适用用于Windows 10 2004, 20h2, 21h1版本上。 DriverSignature: 没有变化,Windows 2
-
0前两年微软宣布在2020年1月14日正式停止Windows 7的支持维护。与此同时,驱动通过微软WHQL认证的Catalog文件获得数字签名的算法也变更成SHA256。而最初版的Windows 7 系统只能识别 Sha128算法的签名,无法识别SHA256算法的数字签名。这就意味着部分Windows 7系统(指未安装KB3033929补丁的系统)无法使用通过微软WHQL认证的数字签名。 由于windows 7 微软没有强制要求通过WHQL认证, 起初还可以通过申请sha128算法的代码签名证书来解决这个问题。但是2020年随着Globalsign
-
5微软在WINDOWS 95大获成功后,大量的相关企业开始为WINDOWS操作系统做各种各样的应用,发布WINDOWS 98后,WINDO
-
0
-
0在win10系统的搜索菜单 输入windows powershell,右键"以管理员身份运行" 打开命令行界面: 输入:confirm-securebootuefi 1: 如果显示"true" 表示系统开启了Secure boot,内核驱动程序需要去微软做徽标认证或进入系统BIOS 将Secure boot设置为Disabled; 2:如果显示如下图的乱码或者"False" 则表示不支持Secure boot或未开启Secure boot. EV代码签名证书(GlobalSign EV code) 产品详细介绍:http://www.evtrust.com/globalsign/ev-code-signing.html ● 在SmartScreen® 筛选器中快速自动建