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

网站建设中搭建页面结构上海网络推广需要多少

网站建设中搭建页面结构,上海网络推广需要多少,WordPress破解分享,手表网站排名大全驱动学习笔记 1、字符设备驱动 Linux 驱动有两种运行方式 第一种就是将驱动编译进 Linux 内核中#xff0c;这样当 Linux 内核启 动的时候就会自动运行驱动程序。 第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko)#xff0c;在 Linux 内核启动以后使用“insmod”命…驱动学习笔记 1、字符设备驱动 Linux 驱动有两种运行方式 第一种就是将驱动编译进 Linux 内核中这样当 Linux 内核启 动的时候就会自动运行驱动程序。 第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko)在 Linux 内核启动以后使用“insmod”命令加载驱动模块。 2、Linux 并发与竞争 3、Linux 内核定时器 高节拍率会提高系统时间精度如果采用 100Hz 的节拍率时间精度就是 10ms 高节拍率会导致中断的产生更加频繁频繁的中断会加剧系统的负担。但是现在的处理器性能都很强大所以采用 1000Hz 的系统节拍率并不会增加太大的负载压力。 init_timeradd_timer 向内核注册定时器以后 定时器就会开始运行del_timerdel_timer_sync 会等待其他处理器使用完定时器再删除mod_timer 修改定时值如果定时器还没有激活的话会激活 4、中断上下部 上半部与下半部 上半部上半部就是中断处理函数那些处理过程比较快不会占用很长时间的处理就可以放在上半部完成。 下半部如果中断处理过程比较耗时那么就将这些比较耗时的代码提出来交给下半部去执行这样中断处理函数就会快进快出。 使用参考 ①、如果要处理的内容不希望被其他中断打断那么可以放到上半部。 ②、如果要处理的任务对时间敏感可以放到上半部。 ③、如果要处理的任务与硬件有关可以放到上半部 ④、除了上述三点以外的其他任务优先考虑放到下半部。 上半部机制 request_irq 申请中断的时候注册的中断服务函数属于中断处理的上半部 request_irq 可能会导致睡眠因此不能在中断上下文或者其他禁止睡眠的代码段中使用free_irq中断处理函数 irqreturn_t (*irq_handler_t) (int, void *)中断使能与禁止函数 enable_irq disable_irq disable_irq_nosync 函数调用以后立即返回不会等待当前中断处理程序执行完毕local_irq_enable 用于使能当前处理器中断系统local_irq_disable 用于禁止当前处理器中断系统 下半部机制 获取中断号和获取字符设备号的函数不一样 5、阻塞和非阻塞 IO 阻塞式 IO 就会将应用程序对应的线程挂起休眠直到设备资源可以获取为止。 非阻塞 IO应用程序对应的线程不会挂起它要么一直轮询等待直到设备资源可以使用要么就直接放弃。 6、异步通知 7、platform 设备驱动 驱动分离与分层 8、MISC 驱动 misc 的意思是混合、杂项的。当我们板子上的某 些外设无法进行分类的时候就可以使用 MISC 驱动MISC 驱动其实就是最简单的字符设备驱动通常嵌套在 platform 总线驱动中实现复杂的驱动所有的 MISC 设备驱动的主设备号都为 109、INPUT 子系统 输入设备本质上还是字符设备只是在此基础上套上了 input 框架用户只需要负责上报输入事件比如按键值、坐标等信息input 核心层负责处理这些事件 驱动层输入设备的具体驱动程序比如按键驱动程序向内核层报告输入内容。 核心层承上启下为驱动层提供输入设备注册和操作接口。通知事件层对输入事件进行处理。 事件层主要和用户空间进行交互。 代码编写 使用 input_allocate_device 函数申请一个 input_dev。初始化 input_dev 的事件类型以及事件值。使用 input_register_device 函数向 Linux 系统注册前面初始化好的 input_dev。卸载input驱动的时候需要先使用input_unregister_device函数注销掉注册的input_dev 然后使用 input_free_device 函数释放掉前面申请的 input_dev。上报输入事件 input_event 10、LCD驱动 Linux 内核将所有的 Framebuffer 抽象为一个叫做 fb_info 的结构体fb_info 结构体包含了 Framebuffer 设备的完整属性和操作集合因此每一个 Framebuffer 设备都必须有一个 fb_info 换言之就是LCD 的驱动就是构建 fb_info并且向系统注册 fb_info的过程 11、RTC驱动 RTC 设备驱动是一个标准的字符设备驱动 Linux 内核将 RTC 设备抽象为 rtc_device 结构体因此 RTC 设备驱动就是申请并初始化rtc_device准备好RTC设备驱动函数集 rtc_class_ops 。最后将 rtc_device 注册到 Linux 内核里面 12、I2C 驱动 I2C 总线驱动 与platform不同的是platform 是虚拟出来的一条总线目的是为了实现总线、设备、驱动框架。对于 I2C 而言不需要虚拟出一条总线直接使用 I2C 总线即可。 I2C 总线驱动或者说 I2C 适配器驱动的主要工作就是初始化 i2c_adapter 结构体变量然后设置 i2c_algorithm 中的 master_xfer 函数完成以后通过 i2c_add_numbered_adapter 或 i2c_add_adapter 这两个函数向系统注册设置好的 i2c_adapter 一般 SOC 的 I2C 总线驱动都是由半导体厂商编写的。因此 I2C 总线驱动对我们这些 SOC 使用者来说是被屏蔽掉的我们只要专注于 I2C 设备驱动即可 I2C 设备驱动 i2c_client 就是描述设备信息的i2c_driver 描述驱动内容类似于 platform_driver。 一个设备对应一个 i2c_client每检测到一个 I2C 设备就会给这个 I2C 设备分配一个 i2c_client。重点工作就是构建 i2c_driver构建完成以后需要向 Linux 内核注册这个 i2c_driver。i2c_driver 注册函数为 int i2c_register_driverI2C 设备和驱动的匹配过程是由 I2C 核心来完成的 13、SPI 驱动 SPI 驱动框架和 I2C 很类似都分为主机控制器驱动和设备驱动 主机控制器驱动 transfer 函数和 i2c_algorithm 中的 master_xfer 函数一样控制器数据传输函数。 SPI 主机驱动的核心就是申请 spi_master然后初始化 spi_master最后向 Linux 内核注册spi_master。 和 I2C 适配器驱动一样SPI 主机驱动一般都是 SOC 厂商去编写的所以我们作为 SOC 的使用者这一部分的驱动就不用操心了 SPI 设备驱动 我们在编写 SPI 设备驱动的时候需要实现 spi_driverspi_driver 和 i2c_driver、platform_driver 基本一样当 SPI 设备和驱动匹配成功以后 probe 函数就会执行。spi_driver 初始化完成以后需要向 Linux 内核注册spi_driver 注册函数为 spi_register_driver 14、RS232/485/GPS 驱动 串口分为 TTL 和 RS232。不管是什么样的接口电平其驱动程序都是一样的 串口驱动没有什么主机端和设备端之分就只有一个串口驱动而且这个驱动也已经由 NXP 官方已经编写好了我们真正要做的就是在设备树中添加所要使用的串口节点信息。当系统启动以后串口驱动和设备匹配成功相应的串口就会被驱动起来生成 /dev/ttymxcX(X0….n)文件。 15、电容触摸屏驱动 老版本的 linux 内核是不支持多点电容触摸的(Multi-touch简称 MT)。 TypeA时序 TypeB时序 使用“devm_”前缀的函数申请到的资源可以由系统自动释放不需要我们手动处理。 16、音频驱动 音频编解码芯片英文名字就是 Audio CODEC 采样率和采样位数就是衡量一款音频 CODEC 最重要的指标 I2S 总线接口 I2S 接口需要 3 根信号线(如果需要实现收和发那么就要 4 根信号线收和发分别使用一根信号线)随着技术的发展在统一的 I2S 接口下出现了不同的数据格式根据 DATA 数据相对于 LRCK 和 SCLK 位置的不同出现了 LeftJustified(左对齐)和 RightJustified(右对齐)两种格式 17、CAN 驱动 CAN 的全称为 Controller Area Network也就是控制局域网络 每个单元都是独立的 CAN 节点 同一个 CAN 网络中所有单元的通信速度必须一致 1.CAN 的特点主要有一下几点 ①、多主控制: 根据标识符Identifier 以下称为 ID决定优先级,仲裁失利的单元则立刻停止发送而进行接收工作 ②、系统的柔软性: 没有类似于“地址”的信息。因此增加单元时其他单元不需要改变③、通信速度快距离远 ④、具有错误检测、错误通知和错误恢复功能 ⑤、故障封闭功能 ⑥、连接节点多 2.CAN 电气属性 CAN 总线上没有节点传输数据的时候一直处于隐性状态 3.CAN协议 CAN 协议提供了 5 种帧格式来传输数据 18、USB驱动 1.usb接口类型 USB A 方口usb B mini usb micro usb usb TypeC 2.USB 电气特性 3.USB 拓扑结构 USB 是主从结构分为 HOST(主机)和从机(或 DEVICE) USB OTG既可以做 HOST 又可以做 DEVICE 支持 OTG 模式的 USB 接口一般都是 Mini USB 或 Micro USB 等这些带有 ID 线的接口 ID 线的高低电平表示 USB 口工作在 HOST 还是 DEVICE 模式 ID1OTG 设备工作在从机模式。 ID0OTG 设备工作在主机模式。 19、Linux 块设备驱动 前面我们都是在学习字符设备驱动 块设备驱动要远比字符设备驱动复杂得多不同类型的存储设备又对应不同的驱动子系统 块设备驱动相比字符设备驱动的主要区别如下 ①、块设备只能以块为单位进行读写访问块是 linux 虚拟文件系统(VFS)基本的数据传输单位。字符设备是以字节为单位进行数据传输的不需要缓冲。 ②、块设备在结构上是可以进行随机访问的对于这些设备的读写都是按块进行的块设备使用缓冲区来暂时存放数据等到条件成熟以后在一次性将缓冲区中的数据写入块设备中。这么做的目的为了提高块设备寿命。 块设备结构的不同其 I/O 算法也会不同比如对于 EMMC、SD 卡、NAND Flash 这类没有任何机械设备的存储设备就可以任意读写任何的扇区(块设备物理存储单元)。 块设备中最小的可寻址单元是扇区一个扇区一般是 512 字节有些设备的物理扇区可能不是 512 字节。不管物理扇区是多少内核和块设备驱动之间的扇区都是 512 字节。 1.块设备 I/O 请求过程 内核将对块设备的读写都发送到请求队列 request_queue 中request_queue 中是大量request(请求结构体)而 request 又包含了 biobio 保存了读写相关数据比如从块设备的哪个地址开始读取、读取的数据长度读取到哪里如果是写的话还包括要写入的数据等。     20、Linux 网络驱动 1.嵌入式下的网络硬件接口 本章节讨论的都是有线网络 网卡是独立的硬件如果电脑要上网就得买个网卡插上去类似现在的显卡一样。 随着技术的不断发展现在只需要一个芯片就可以实现有线网卡功能 嵌入式网络硬件分为两部分MAC 和 PHY 先不学网络驱动学不进去- -
http://www.w-s-a.com/news/403026/

相关文章:

  • 设计外贸英文网站国家企业信息信用公信系统
  • 主题资源网站创建时 如何突出设计的特点阿里云是做网站的吗
  • 乌市建设工程质量监督站网站外资公司注册
  • 档案馆网站机房建设做游戏网站打鱼
  • 网站建设平台 创新模式搭建好ftp服务器 如何通过网站访问
  • 苏州集团网站制作设计网页制作软件ai
  • 网站建设新手教程视频教程手帐风格wordpress主题
  • 做投标网站条件网站更改指定字段
  • mvc5 网站开发之美做印刷网站公司
  • 医疗网站建设精英微信网站用什么制作的
  • 银川网站设计联系电话地推加人2元1个
  • 龙华网站 建设深圳信科北京知名的网站建设公司
  • 怎么做qq刷赞网站搜盘 资源网
  • 微网站怎么做的好名字吗陕西省医院网站建设管理
  • 泉州seo-泉州网站建设公司温州企业自助建站系统
  • 网站建设属于什么费网站建设网络推广
  • 德州网站开发人员网站怎么才能被百度收录
  • wordpress网站怎么加小游戏乐山网站制作公司
  • 企业购 网站建设做兼职有哪些网站
  • 湖州网站做等保费用大型网站建站
  • 优创智汇高端网站建设网站设计工作流程
  • 什么网站可以学做西餐个人网站怎么做支付功能
  • 千户微建站平台做网站需要切图吗
  • 织梦cms 学校网站模板网站建设中的问题
  • 山东济南网站建设公司制作wordpress模板教程视频教程
  • 档案网站的建设怎样更新网站内容
  • 网站开发项目规划房地产趋势与前景
  • 网上网站开发这个百度的网站怎么做的
  • 南昌市建设局官方网站网龙网络公司地址
  • 自助建站平台源码公司网站谁负责做