44922004.doc
第1章 前言
1.1 文档目的及开发背景
本文为高通平台driver开发的学习文档,对部分概念性的东西进行了学习和总结。由于driver的跨度太大,内容很多,加上本人水平有限。如有不足之处及遗漏地方,麻烦大家多多包涵!希望这份文档能对大家学习高通平台的驱动开发有所帮助! 1.2 参考文献 序号 文档名称 作者 出版单位 -- 1 80-VC881-1&QSC6055&QSC6065 QSC6075 AND QSC6085 SINGLE CHIP DEVICE SPECIFICATION 2 80-VC881-2&QSC6055,QSC6065, QSC6075,QSC6085 SOFTWARE INTERFACE 3 Qualcomm Qualcomm 注:高通提供的文档比较详细,各个模块都有相关文档!因为文档提供比较齐全(需要自己去下,对于初学者是个难题),相对来说他的技术支持不怎么样!有得必有失! 1.3 术语和缩写解释
术语和缩写 解释 联想移动产品开发部软件处 - 3 -
44922004.doc
DS SIO RDM BT PBL DATA Service Serial Input&Output Runtime Device Mappe Blue Tooth Primary Boot Loader 联想移动产品开发部软件处 - 4 -
44922004.doc
第2章 综述
2.1 高通平台的硬件架构
目前开发EVDO的手机或模块大部分采用了QSC6085平台。高通QSC系列的平台是高度集成化,它将PMIC、RF相关模块也集成到一块芯片里(其他公司很少做到这点),对硬件来说可以省很多事。除了上述特殊模块之外,当然也包括一般的LCD、KPD、AUDIO CODEC等很多驱动模块!具体如下图所示:
QSC6085处理器采用ARM9核+DSP的架构,一般就不需要再加DSP去处理Audio和图片。它集成这么多,其他硬件厂商的饭碗都被他抢了,不过这也是大势所趋!
联想移动产品开发部软件处 - 5 -
44922004.doc
2.2 高通平台驱动文件结构
在一般高通工程(60X5系列)目录下有一个Drivers文件夹,在该文件夹下包含了60X5系列平台上所有驱动文件,分门别类!
从上图中我们可以看到,每一个驱动都有独立的文件夹,这样对于新手学习代码来说比较容易找到相关代码。
2.3 ARM相关知识
因为高通处理器采用的ARM内核,遵循ARM指令,我们有必要学习一下ARM的一些基础知识。一般驱动开发中很少涉及到ARM指令,除了BOOT以及flash开发,大部分都在C语言环境中开发。在这部分我讲的不会太深入,如果大家想深入了解ARM架构,可以去看《ARM体系结构与编程》这本书,相当经典!
2.3.1 ARM基本知识
ARM 采用的是32位架构。也就是说ARM CPU内部的总线是32位的,每条ARM汇编指令都是32位的指令。一个CPU时钟周期最多可以处理一条32位指令或者读取一个32位的数据。32位的指令意味着,与8位和16位的CPU相比,在一个时钟周期内,指令可以携带更多的信息。
联想移动产品开发部软件处 - 6 -
44922004.doc
ARM 有7个基本工作模式:
User:非特权模式,大部分任务执行在这种模式 正常程序执行的模式
FIQ:当一个高优先级(fast)中断产生时将会进入这种模式 高速数据传输和通道处理
IRQ:当一个低优先级(normal)中断产生时将会进入这种模式 通常的中断处理
Supervisor:当复位或软中断指令执行时将会进入这种模式 供操作系统使用的一种保护模式 Abort: 当存取异常时将会进入这种模式 虚拟存储及存储保护
Undef: 当执行未定义指令时会进入这种模式 软件仿真硬件协处理器
System: 使用和User模式相同寄存器集的特权模式 特权级的操作系统任务
ARM 有37个32-Bits长的寄存器. 1 个用作PC( program counter) 1个用作CPSR(current program status register) 5个用作SPSR(saved program status registers) 30 个通用寄存器 当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取:
相应的r0-r12子集?相应的 r13 (the stack pointer, sp) and r14 (the link register, lr) 相应的 r15 ( the program counter, pc)
相应的CPSR(current program status register, cpsr) 特权模式 (除system模式) 还可以存取; 相应的 spsr (saved program status register)
联想移动产品开发部软件处 - 7 -