设备驱动开发详解第一章读书笔记
来源:互联网 发布:linux文件夹修改权限 编辑:程序博客网 时间:2024/06/05 17:06
设备驱动开发详解
第一章 Linux设备驱动概述
硬件是基础,代码最终会落实为硬件的组合逻辑和时序逻辑。
OS适合于多任务环境。
计算机硬件:1. CPU 2. 存储器 3. 外设 驱动针对存储器与外设,而不是CPU核
字符设备:串行顺序访问
块设备:可随机访问
网络设备:不对应文件系统节点
Linux设备驱动重点:良好的硬件基础,懂得SRAM Flash SDRAM读写方式, UART IIC USB接口以及轮询,中断,DMA原理,PCI总线,MMU单元等。
第二章 驱动设计的硬件基础
主流嵌入式CPU: 1. ARM
2. MIPS公式的MIPS :常用于以太网交换
3. IBM与Motorola的PowerPC:常用于通信和工控
4. 飞思卡尔半导体公司的68K/Coldfire: 常用于DSP模块
Motorola的半导体部已独立为飞思卡尔半导体公司
中央处理器的体系:1. 冯洛伊曼结构 2. 哈佛结构
指令集: RISC CISC
DSP一般采用改进的哈佛结构
德州仪器(TI) 美国模拟器件公司(ADI)是全球DSP两大主要厂商
芯片使用:
一般来讲在一部手机中会使用多种芯片:1. MCU用于处理图形用户界面和OS
2. DSP进行音视频编解码
3. ASIC进行射频
存储器: 1. 只读存储器(ROM) 2. 闪存(Flash) 3. 随机存取存储器(RAM) 4. 光/磁介质存储器
ROM(将被Flash取代的趋势) :ROM(不可编程) PROM(可编程) EPROM(可擦出、可编程) EEPROM(电可擦出、可编程)
Flash:1. NOR Flash 或非Flash: Intel<---------SRAM----------->CPU接口
2. NAND Flash 与非Flash 东芝<---------------控制电阻转换--------------->CPU接口
一个Nand Flash接口主要信号:
1. I/O总线 2. 芯片启动 3.写使能 4. 读使能 5. 指令锁存使能 6. 地址锁存使能 7. 就绪/忙
NOR && NAND Flash对比:
1 容量/性价比: NAND > NOR
2. 擦写次数: NAND > NOR
3. 擦写/编程速度:NAND > NOR
4. 反转概率(出错):NAND > NOR
Flash 编程原理都是将1写成0,而不能将0写成1。所以在Flash编程之前必须将对应的块擦除,而擦出过程就是将所有位写1,块内的所有字节变成0xFF
问题:Flash可编程含义?擦出与编程含义?
典型的类SRAM接口 P26
ROM Flash 磁介质存储器 非易失性存储器(掉电不会丢失)
RAM(掉电丢失):静态RAM(SRAM) 动态RAM(DRAM)
DRAM 以电荷形式存储数据 存储在电容器中 有固定的刷新周期
SDRAM:无刷新频率
SDRAM,DDR均属于DRAM,采用与CPU外存控制器同步的时钟工作
原理图分析获得各种存储器,外设所使用的硬件资源。
主要包括存储器和外设控制器芯片所使用的片选,中断和DMA资源,大多情况下,硬件工程师已经做好。
分析方法: 以CPU为中心向存储器外设辐射
原理图元素:symbol 描述芯片的外围引脚及信号 P42页
Net描述芯片,接插件和分离原件的互联关系
时序分析: 驱动工程师调试电路板
作用:让芯片间的访问满足芯片手册中时序图信号的先后顺序;采样建立时间,保持时间的要求
- 设备驱动开发详解第一章读书笔记
- 《Linux设备驱动》读书笔记:第一章:设备驱动简介
- linux学习笔记-读《Linux设备驱动开发详解》~第一章 设备驱动概述
- Linux设备驱动开发详解(宋宝华)学习笔记-第一章 设备驱动概述
- 《Linux4.0设备驱动开发详解》笔记--第一章:Linux设备驱动概念及基础
- 《Linux设备驱动开发详解》读书笔记(1)
- 《Linux设备驱动开发详解》读书笔记(2)
- 《Linux设备驱动开发详解》读书笔记(3)
- 《Linux设备驱动开发详解》读书笔记(4)
- 《Linux设备驱动开发详解》读书笔记(5)
- 《Linux设备驱动开发详解》读书笔记(6)
- 《Linux设备驱动开发详解》读书笔记(7)
- Linux设备驱动开发详解——读书笔记
- 读书笔记《Linux Device Drivers》:第一章,设备驱动介绍
- Linux设备驱动开发详解
- LINUX设备驱动开发详解
- linux设备驱动开发详解
- VxWorks设备驱动开发详解
- Three20/Three20.h: No such file or directory
- Simulating class in JavaScript - 5
- 数据透传的概念
- android中drawable的分类
- activity四种加载模式
- 设备驱动开发详解第一章读书笔记
- pureMVC与设计模式之二. Facade模式与Singleton模式
- Matlab画图希腊字母显示
- poj 1936 All in All
- HDU 3065 AC自动机模板题
- 安装linux-ubuntu的系统--之版权问题
- OCI学习笔记(一) demo1
- 修饰符public,private,protected作用域范围
- The Zen of Python