首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式项目开发

    Linux驱动开发: USB驱动开发

    驱动程序把驱动程序对象注册到USB子系统中,稍后再使用制造商和设备标识来判断是否安装了硬件。 当然,这些制造商和设备标识需要我们编写进USB 驱动程序中。 USB 驱动程序依然遵循设备模型 —— 总线、设备、驱动。 和I2C 总线设备驱动编写一样,所有的USB驱动程序都必须创建的主要结构体是 struct usb_driver,它们向USB 核心代码描述了USB 驱动程序。 鼠标驱动代码: 该模板适用于键盘驱动。 整体驱动思路: (1).

    77.3K22编辑于 2022-01-12
  • 来自专栏三流程序员的挣扎

    规格模式

    现在有许多 User 对象,根据 name 和 age 之类的条件查询出匹配的对象。

    67320编辑于 2022-10-25
  • 来自专栏嵌入式项目开发

    Linux驱动开发: FrameBuffe(LCD)驱动开发

    frameBuffer 是出现在2.2.xx 内核当中的一种驱动程序接口。 六、OLED显示屏驱动+帧缓冲驱动模板 6.1 OLED简介 OLED,即有机发光二极管( Organic Light Emitting Diode)。 4)OLED屏开发了两种接口的 Demo 板,接口分别为七针的 SPI/IIC 兼容模块,四针的IIC 模块。 u8 y,u8 c); static void OLED_RefreshGRAM(void); /* 函数功能: OLED对应的GPIO口初始化 硬件连接: OLED模块---Tiny4412开发板 7.1 编写S70屏幕驱动 如果自己编写了LCD驱动(S720屏幕),测试LCD驱动之前,先去除内核自带的LCD驱动,编译烧写内核: Device Drivers  --->        

    53.4K13编辑于 2022-01-12
  • 来自专栏嵌入式项目开发

    Linux驱动开发: 块设备驱动开发

    块设备是与字符设备并列的概念, 这两类设备在 Linux 中驱动的结构有较大差异,总体而言, 块设备驱动比字符设备驱动要复杂得多,在 I/O 操作上表现出极大的不同,缓冲、 I/O 调度、请求队列等都是与块设备驱动相关的概念 在Linux中,驱动对块设备的输入或输出(I/O)操作,都会向块设备发出一个请求,在驱动中用request结构体描述。 但对于一些磁盘设备而言请求的速度很慢,这时候内核就提供一种队列的机制把这些I/O请求添加到队列中(即:请求队列),在驱动中用request_queue结构体描述。 编写块设备驱动时,使用的一些单位介绍: 1. 扇区(Sectors):任何块设备硬件对数据处理的基本单位。通常,1个扇区的大小为512字节。(对设备而言) 2. 绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。

    36.7K31编辑于 2022-01-17
  • 来自专栏电光石火

    机柜规格

    常规配置的固定托盘深度有440mm、480mm、580mm、620mm等规格。固定托盘的承重不小于50KG。 常规配置的滑动托盘深度有400mm、480mm两种规格。滑动托盘的承重不小于20KG。 配电单元:选配电源插座,适合于任何标准的电源插头,配合19"安装架,安装方式灵活多样。规格:6插口。 盲板:盲板用于遮挡19"标准机柜内的空余位置等用途,有1U、2U......等多种规格。常规盲板为1U、2U两种。 键盘托架:用于安装标准计算机键盘,可配合市面上所有规格的计算机键盘;可翻折90度。键盘托架必须配合滑动托盘使用。 服务器机柜应合乎标准化、规格化、系列化的要求。机柜造型美观、适用、色彩协调。

    2K10发布于 2021-06-10
  • 驱动开发:配置Visual Studio驱动开发环境

    在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的vs_ultimate.exe 安装包,Visual Studio的安装非常的简单,您只需要按照提示全部选择默认参数即可,根据机器配置不同可能需要等待一段时间; 配置驱动开发环境 在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境 ,避免重装系统,在后续课程中读者会出现无数次的蓝屏,而虚拟机快照的快速恢复功能则是一个很好的选择; 配置驱动开发模板 1.打开Visual Studio开发工具,然后选择【文件】菜单新建项目,并在已安装模板中选中 DbgPrint("Hello LyShark \n"); Driver->DriverUnload = UnDriver; return STATUS_SUCCESS; } 9.最后生成一个驱动开发模板 ,依次选择【文件-导出模板-项目模板-下一步-完成】即可完成模板的导出,此时关闭VS工具并再次打开,就能直接使用我们的模板来开发驱动了,当用户需要使用时,不需要每次都配置。

    1.7K20编辑于 2023-03-14
  • 来自专栏嵌入式项目开发

    Linux驱动开发: 网络设备驱动开发

    /选中SP0总线支持*/ (使用的测试开发板是友善之臂的Tiny4412开发板) 因为开发板引出的SPI接口只有SPI0,所以只能配置SPI0总线。 1. 修改驱动端的probe函数,增加对SPI模式配置与中断号获取,正常情况下可以直接在SPI设备端直接修改,驱动端直接获取信息即可。 它们由设备驱动初始化,并且只能被设备驱动访问;高层协议不需要关心这块内存。 6.1 网络设备驱动编程步骤 1. 以下代码,在上面的网络设备驱动模型里加入了ENC28J60驱动代码,实现了完整的网卡驱动程序。

    18.6K11编辑于 2022-01-27
  • 1.1 Windows驱动开发:配置驱动开发环境

    在进行驱动开发之前,您需要先安装适当的开发环境和工具。首先,您需要安装Windows驱动开发工具包(WDK),这是一组驱动开发所需的工具、库、示例和文档。 然后,您需要安装Visual Studio开发环境,以便编写和调试驱动程序。在安装WDK和Visual Studio之后,您还需要配置适当的项目设置,以便能够正确编译和构建驱动程序。 ,某些读者可能听说过DDK或者IFSDDK,最典型的开发工具包莫过于DDK7600,直到目前此类工具包仍然可以正常使用,但并不推荐。 图片为了能测试驱动程序运行状态,读者需安装VMWare虚拟机,双击附件中的VMware-workstation-full-16.2.4-20089737.exe安装程序一直点击下一步即可,需要注意的是在如下选项中请在增强型键盘驱动程序上打对勾 Tools工具,该组件在安装后可让虚拟机具备有拖拽上传文件的功能,且鼠标键盘将可以自由切换,该功能是我们必须要用到的;图片安装VMware Tools工具很容易,只需要点击安装菜单,后会在虚拟机中出现DVD驱动

    1.2K10编辑于 2023-10-14
  • 驱动开发:配置Visual Studio驱动开发环境

    在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的vs_ultimate.exe 安装包,Visual Studio的安装非常的简单,您只需要按照提示全部选择默认参数即可,根据机器配置不同可能需要等待一段时间; 配置驱动开发环境 在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境 ,避免重装系统,在后续课程中读者会出现无数次的蓝屏,而虚拟机快照的快速恢复功能则是一个很好的选择; 图片 配置驱动开发模板 1.打开Visual Studio开发工具,然后选择【文件】菜单新建项目,并在已安装模板中选中 DbgPrint("Hello LyShark \n"); Driver->DriverUnload = UnDriver; return STATUS_SUCCESS; } 9.最后生成一个驱动开发模板 ,依次选择【文件-导出模板-项目模板-下一步-完成】即可完成模板的导出,此时关闭VS工具并再次打开,就能直接使用我们的模板来开发驱动了,当用户需要使用时,不需要每次都配置。

    2.3K50编辑于 2023-03-13
  • 来自专栏全栈程序员必看

    windows驱动开发教程_windows内核驱动开发

    对于驱动开发开发指引,微软官方文档网站已经提供了很详细的教程文档,并且在Github上提供了一系列典型的例程源码用于开发人员参考。 就上面5种驱动类型,笔者参考着微软的驱动例子开发过 鼠标键盘设备过滤驱动 和 网络过滤软件驱动程序,所以对驱动开发的理解仍在浅水区,如在阅读过程中发现有误的地方,还请不吝指出。 目前在网上能找到的关于驱动开发的中文书籍基本上都是围绕WDM模式进行讲述的,而关于WDF(Windows 驱动框架)开发的书籍寥寥无几,《竹林溪径——深入浅出Window驱动开发》和《Developing 基于WDF的驱动开发 WDF的开发需要遵循一定的规则,开发实现时需要考虑较多的细节,由于篇幅有限,笔者凭着自己的经验暂且稍做列举,后续将写一篇针对WDF驱动开发的文章。 开发人员熟悉驱动安装逻辑有利于驱动开发,感兴趣可以通过此处进行了解。 6.

    2.5K21编辑于 2022-09-27
  • YashanDB物理规格

    # 数据库规格名称规格类型规格值控制文件数量最小值2控制文件数量默认值建库默认不指定时控制文件为3个控制文件数量最大值8数据块大小最大值32KB支持8KB、16KB、32KB块大小数据块大小默认值8KB 实例个数最大值64# 表空间规格名称规格类型规格值表空间数量最大值2048数据文件数量单表空间内最大值64数据文件数量最大值16384数据文件大小最小值1MB数据文件大小最大值2TB单个表空间Databucket 数量最大值64Databucket数量最大值4096Databucket数量默认值256# 日志文件规格名称规格类型规格值日志文件大小最小值6MB最小值受DB_BLOCK_SIZE,MAX_SESSIONS Block大小最小值512Bytes日志Block大小最大值32KB日志Block大小默认值4KB日志文件数量单实例最小值3日志文件数量单实例最大值256归档文件数最大文件数量1000000# 主备高可用规格名称规格类型规格值物理备库最大备库数量单机部署 5MN 8CN 32*5DN# 共享集群规格名称规格类型规格值同一套集群的数据库服务器个数最大值4同一套集群中,单台服务器部署数据库实例的个数最大值1系统盘大小最小值1GLUN路径长度最大值31B# 集群文件系统规格名称规格类型规格

    45300编辑于 2025-02-19
  • 来自专栏阮一峰的网络日志

    读懂 ECMAScript 规格

    一、概述 规格文件(specification)是计算机语言的官方标准,详细描述语法规则和实现方法。 一般来说,没有必要阅读规格,除非你要写编译器。 因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了解语言标准是怎么说的。 规格是解决问题的"最后一招"。 这对JavaScript语言很有必要。 查看规格,不失为一种解决语法问题的最可靠、最权威的终极方法。 本文介绍如何读懂ECMAScript 6的规格文件。 规格的12.2.5小节《数组的初始化》给出了答案。

    1.2K40发布于 2018-04-12
  • 来自专栏Dimples开发记

    读懂 ECMAScript 规格

    # 读懂 ECMAScript 规格 # 概述 规格文件是计算机语言的官方标准,详细描述语法规则和实现方法。 一般来说,没有必要阅读规格,除非你要写编译器。 因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了解语言标准是怎么说的。 查看规格,不失为一种解决语法问题的最可靠、最权威的终极方法。 本章介绍如何读懂 ECMAScript 6 的规格文件。 # 术语 ES6 规格使用了一些专门的术语,了解这些术语,可以帮助你读懂规格。本节介绍其中的几个。 其中,开发者只需要关注[[Type]]为throw的情况,即运行出错;break、continue、return这三个值都只出现在特定场景,可以不用考虑。

    1K10编辑于 2022-12-21
  • 来自专栏张善友的专栏

    Mono技术规格

    企业和 ISV 开发人员可以在 Linux 服务器上运行 .NET 应用程序,还能在 Apache 万维网服务器上运行支持 ASP.NET 2.0、ASP.NET AJAX 和 ASP.NET MVC 通过在这些应用程序中配置 .NET 功能并允许开发人员在 Linux 上同时运行 .NET 和 Java,可以改善 .NET 应用程序与 Java 以及其它 旧式 Linux/UNIX 应用程序的互操作性 无需使用 linux 开发工具。

    2K50发布于 2018-01-19
  • 来自专栏Tom弹架构

    规格模式(Specification Pattern)

    本文节选自《设计模式就该这样学》 1 规格模式的定义 规格模式(Specification Pattern)可以认为是组合模式的一种扩展。 这里的每个条件都是一个规格,多个规格(条件)通过串联的方式以某种逻辑关系形成一个组合式的规格规格模式属于结构型设计模式。 2 规格模式的应用场景 规格模式主要适用于以下应用场景。 3 规格模式的UML类图 规格模式的UML类图如下图所示。 [file] 由上图可以看到,规格模式主要包含6个角色。 (1)抽象规格书(Specification):对规格书的抽象定义。 (3)与规格书(AndSpecification):对规格书进行与操作,实现isSatisfiedBy()方法。 (4)或规格书(OrSpecification):对规格书进行或操作,实现isSatisfiedBy()方法。

    1K10发布于 2021-11-25
  • YashanDB逻辑规格

    # 对象规格名称规格类型规格值用户数量最大值10240(包括数据库内置用户)表数量最大值不限制对象名称长度最大值64Bytes角色数量最大值9640(不包括数据库内置角色)私有临时表数量单会话内最大值64 密码长度最大值127# 表规格名称规格类型规格值列数最大值4096记录数最大值不限制行长度最大值行存:64512Bytes列存:32000KB列长度最大值8000BytesLOB列长度最大值不限制# 索引规格名称规格类型规格值索引列数最大值 32索引键值长度最大值6000Bytes索引数单表最大索引数255索引层数最大值24# 访问约束(AC)规格名称规格类型规格值列数最大值31列长度最大值8000Bytes访问约束数单表最大访问约束数255 # undo规格名称规格类型规格值undo段数量最大值1024undo段数量最小值8# 事务规格名称规格类型规格值事务数最大事务数量不限制自治事务最大嵌套层数不限制# 序列规格名称规格类型规格值序列值最大值 /索引可以创建的最大分区数量1M - 1分区列数最大值16间隔分区(interval)仅支持单列分区# 语法规格名称规格类型规格值单个SQL语句长度最大值2MB - 1(包含空格和特殊字符)yasql单行字符数最大值

    41800编辑于 2025-02-19
  • 来自专栏老欧说安卓

    Android开发笔记(八十一)屏幕规格适配

    Configuration 适配各种屏幕规格,首先要取到系统对于屏幕的配置信息,这些配置可从工具类Configuration获得。 该方式的具体例子参见《Android开发笔记(七十四)布局文件优化》。 适配手机/平板 Android中没有明确区分手机和平板的方法,但我们可以根据某些参数来判断,具体方法如下: 1、从Configuration对象的screenLayout属性判断当前的屏幕规格,只要是大尺寸以上的都算平板 获取屏幕分辨率的详细说明参见《Android开发笔记(三)屏幕分辨率》。 点击下载本文用到的屏幕规格适配的工程代码 点此查看Android开发笔记的完整目录

    1.8K30发布于 2019-01-18
  • 来自专栏sofu456

    驱动开发(WDM)

    ,显卡设备函数地址存储在VIDEO_HW_INITIALIZATION_DATA中,修改函数地址即可自定义设备驱动 三种驱动程序 总线驱动程序(负责和具体的硬件设备交互),单个 I/O 总线设备,并提供与设备无关的单槽功能 ,创建设备对象=>PDO 功能驱动程序(设备功能的具体实现),驱动单个设备,创建设备对象=>FDO 筛选器驱动,筛选设备的 I/O 请求、设备类或总线(使用ObReferenceObjectByHandle 打开设备修改驱动关联的函数),创建设备对象=>DO API Io,IO管理 Ex,内存分配 Ke,内核对象调用函数,不能分页 Rtl,字符串内存操作 Zw、NT,文件和注册表操作 Ps,进程、线程 内核用户层数据交换 setupapi或者cmapi(pnp安装) WDM WDM、WDF(WDM基础上架构的开发框架) NT驱动通过服务安装(服务通过sc命令查询) WDM驱动inf、cat、cer文件安装 windows drv) bus注册和注销,bus_register(struct bus_type *bus) device注册和注销,int device_register(struct device *dev) 驱动安装

    1.7K31发布于 2020-10-26
  • SDD驱动开发

    基于SDD驱动开发方法实践测试请关注微信公众号:阿呆-bot记录基于AI设计与开发工程,实践总结一套方法程序员使用AI开发Top5常见问题1.需求描述不清导致AI理解偏差程序员在给AI描述需求时,常常因为表达不准确或缺乏上下文 基于SDD驱动开发方法AI设计与开发过程中,如何确保AI生成的代码结构化、可控,成为关键难题。 目前业内普遍认识到,仅靠prompt驱动往往结果不可预测,因此逐步转向“设计驱动开发(Specification/SDDDrivenDevelopment,简称SDD)”模式。 “SDD驱动开发”是当前业界最具前瞻性的解决思路。它强调以结构化设计文档为源头,驱动AI实现,而非直接代码生成,让整个开发过程主动可控、可复查。这也是AI工程化的核心趋势之一。 SDD定义SDD(SpecificationDrivenDevelopment,规范驱动开发)是一种以明确规范(Specification/DesignDocument)为基础,驱动AI自动生成设计方案

    80111编辑于 2025-11-16
  • 来自专栏嵌入式项目开发

    Linux驱动开发-编写按键驱动

    杂项设备注册函数 这篇文章介绍,如何使用杂项设备框架编写一个简单的按键驱动,完成编写、编译、安装、测试等流程,了解一个杂项字符设备驱动开发流程。 编写按键驱动 使用杂项设备注册按键驱动,应用层使用read接口读取按键值。 编写驱动之前需要先找到按键的原理图,找到按键接到CPU那个IO上的。 \n"); } module_init(tiny4412_key_init); /*驱动入口--安装驱动的时候执行*/ module_exit(tiny4412_key_exit); /*驱动出口-- 卸载驱动的时候执行*/ MODULE_LICENSE("GPL"); /*设置模块的许可证--GPL*/ 2.2 makefile文件 编译驱动的makefile代码。 : 驱动卸载成功 [root@wbyq code]#

    24.1K31编辑于 2022-04-08
领券