12 2018 档案
摘要:学习目标:编写USB鼠标驱动程序,并测试(将USB鼠标的左键当作L按键,将USB鼠标的右键当作S按键,中键当作回车按键). 一、怎么写USB设备驱动程序?步骤如下: 1. 首先先定义全局变量usb_driver结构体,并在入口函数中通过usb_register()函数进行注册; 2. 分别写usb_
阅读全文
摘要:学习目标:分析USB驱动源码结构。 一、Windows下USB驱动理论问题 1. 当usb设备接入PC时,右下角弹出"发现AAA",并弹出对话框,提示安装驱动程序。没有驱动程序,Windows是怎样知道是AAA设备? --> Windows有USB的总线驱动程序,接入USB设备后,"总线驱动程序"就
阅读全文
摘要:1. source insight查看函数的上一级调用的位置(函数) --> 鼠标放在函数上,右键 选择 Jump To caller,就可以看到有哪些函数调用它了;
阅读全文
摘要:目标:写出bootloader的第一阶段代码和第二阶段代码,并测试。 最简单的bootloader的编写步骤: 1. 初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND FLASH2. 如果bootloader比较大,要把它重定位到SDRAM3. 把内核从NAND FLASH读到SDRA
阅读全文
摘要:linux系统编程之框架: 1. 进程 1.1 进程概念 1.1.1 PCB 1.1.2 环境变量 1.2 进程控制 1.3 进程间通信 1.3.1 管道 1.3.2 有名管道 1.3.3 共享内存 1.3.4 消息队列 1.3.5 信号量 2. 信号 3. 线程 3.1 线程概念 3.2 线程控制
阅读全文
摘要:参考: https://blog.csdn.net/Swing_Liu/article/details/79202479
阅读全文
摘要:目标:以NAND Flash K9F2G08U0M为例介绍其结构及其驱动程序的书写 1. 结构 由芯片手册中的图可知:K9F2G08U0M大小为2112Mbits(即 256MB = 2Gb ) 共有2048Block=128K页 这里: 1个device=2048Block 1块Block=64P
阅读全文
摘要:如何区分大端和小端? 小端: FF FE开头 低字节在前 ,高字节在后 例如:FF FE 61 00 表示‘a’; 大端: FE FF开头 高字节在前,低字节在后 例如:FE FF 00 62 表示:‘b’
阅读全文
摘要:1. .tar.gz 包,和 .tar.bz2包解压命令为: .tar.gz 格式解压为 tar -zxvf xx.tar.gz .tar.bz2 格式解压为 tar -jxvf xx.tar.bz2 .tar.gz 格式解压为 tar -zxvf xx.tar.gz .tar.bz2 格式解压为
阅读全文
摘要:1. 软件设置 安装完Source Insight,需要对其进行设置添加对“.S”汇编文件的支持: 2. 新建linux-2.6.22.6工程 1)选择工程存放的路径: 2)下载linux-2.6.22.6内核源码,并解压。在Source Insight中 指定源码的位置并添加源文件: 3)然后点击
阅读全文