当前位置: 首页 > 2017年5月发布的所有日志
  • Linux 驱动程序 USB控制

    Linux 驱动程序  USB控制

    ## USB 驱动程序   ### USB的一般化定义 (概念来源于互联网资料)   从1994年11月11日发表了USB V0.7版本以后,USB版本经历了多年的发展,已经发展为3.1版本,成为二十一世纪电脑中的标准扩展接口。当前(2016年)主板中主要是采用USB2.0和USB3.0接口,各USB版本间能很好的兼容。USB用一个4针(USB3.0标准为 ...

    阅读全文
    作者:root | 分类:Linux kernrl, 驱动程序
  • linux 驱动程序 PCI控制

    linux  驱动程序  PCI控制

    7.6.9 PCI程序   PCI驱动程序   一.理论        PCI总线的特点:   (1)速度上快,时钟频率提高到33M,而且还为进一步把时钟频率提高到66MHZ、总线带宽提高到64位留下了余地。(2)对于地址的分配和设置,系统软件课自动设置,每块外设通过某种途径告诉系统该外设有几个存储区间和I/O地址区间 ...

    阅读全文
    作者:root | 分类:Linux kernrl, 驱动程序
  • Linux 驱动程序 中断管理

    Linux 驱动程序  中断管理

    中断处理 首先,关于中断和异常的概念,可以参考我的博客,或者等后边的同学进行补充,我们不再这里赘述。我们尽可能的讨论一些进阶的东西。   /proc 接口   如图:我们可以在/proc/interrupts 中看到我们系统中安装的中断。     可以看到,我的电脑是有4个CPU ,其实是双核4线程,看来内核是以 ...

    阅读全文
    作者:root | 分类:Linux kernrl, 驱动程序
  • linux 驱动程序 内核数据类型

    linux 驱动程序 内核数据类型

    ## 内核的数据类型   ### 基本数据类型   我们写了两个小的模块来测试实际数据类型和内存对齐的长度。   内核基本数据类型       C语言类型(int)   char、short、int、long long在不同的平台上大小不变。   long、ptr(指针)平台不同其大小不同,但二者的大小始终相同。 &nbs ...

    阅读全文
    作者:root | 分类:Linux kernrl, 驱动程序
  • linux 驱动程序 端口通信

    linux 驱动程序 端口通信

     IO 通信 每种外设都能通过读写寄存器进行控制。大部分外设都有几个寄存器。不管在内存地址还是IO地址空间都是连续的。 ISA设备    IO端口方案 PCI设备    将寄存器映射到内存区段   IO寄存器和传统内存对比 尽管硬件寄存器和内存之间有很强的相似性, 程序员在存取 I/O 寄存器的时候还是要格外小心,避免被CPU(或 ...

    阅读全文
    作者:root | 分类:Linux kernrl, 驱动程序
  • linux 驱动程序 内存管理

    linux 驱动程序 内存管理

    内存分配   这里不再讨论具体架构的内存管理问题,内存的具体结构可以参考我对内存关系分析的博客。我们主要来讨论下,一致的内存分配接口问题。 kmalloc “include/linux/slab.h” static __always_inline void *kmalloc(size_t size, gfp_t flags) { if (__builtin_constant_p(size)) { if (size > KMALLOC_MA ...

    阅读全文
    作者:root | 分类:Linux kernrl, 驱动程序