1、 高通平台Driver开发的参考文档a41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - I -版权说明本文本中所包含的一切信息,包括文字,图表,数据,图形,图象,方法和思想都是联想移动通信科技有限公司财产,未经联想移动通信科技有限公司书面授权,任何个人和组织都无权透露,拷贝,复制,拍照和传输该文本中的一切信息。联想移动通信科技有限公司版权所有a41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - II -修订记录版本 作者 审核 批准 日期 修改说明1.00 Chenljc 2009/11/13
2、 Createa41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - I - 目 录第 1 章 前言 .31.1 文档目的及开发背景 .31.2 参考文献 .31.3 术语和缩写解释 .3第 2 章 综述 .52.1 高通平台的硬件架构 .52.2 高通平台驱动文件结构 .62.3 ARM 相关知识 .62.3.1 ARM 基本知识 .62.3.2 ARM 存储器格式 .9第 3 章 Driver 相关模块介绍 .103.1 REX 简介 .103.2 Boot.113.2.1 Nor Boot.133.2.2 Nand Boot.133.2.3
3、 Boot 流程 .143.3 Gpio .153.3.1 GPIO 的作用 .153.3.2 GPIO 的用法 .163.3.3 GPIO 注意事项 .193.4 内存管理 .193.4.1 队列(Queue) .193.4.2 DS 存储池 .203.4.3 Watermark flow control point .223.5 Sleep.253.5.1 Sleep 硬件相关知识 .253.5.2 Sleep 软件相关知识 .263.5.3 查 Sleep 电流方法 .273.6 SIO.283.6.1 SIO 模块的架构 .283.6.2 SIO 数据处理流程 .293.7 重启问题分
4、析 .303.7.1 软件狗检测异常 .303.7.2 发生 data abort 导致重启 .313.7.3 指针未初始化引起的系统重启 .313.7.4 注意事项 .32a41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - II - a41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - 3 - 第 1 章 前言1.1 文档目的及开发背景本文为高通平台 driver 开发的学习文档,对部分概念性的东西进行了学习和总结。由于 driver 的跨度太大,内容很多,加上本人水平有限。如有不足之处及遗
5、漏地方,麻烦大家多多包涵!希望这份文档能对大家学习高通平台的驱动开发有所帮助!1.2 参考文献序号 文档名称 作者 出版单位1 80-VC881-1&QSC6055&QSC6065 QSC6075 AND QSC6085 SINGLE CHIP DEVICE SPECIFICATIONQualcomm -2 80-VC881-2&QSC6055,QSC6065, QSC6075,QSC6085 SOFTWARE INTERFACEQualcomm3注:高通提供的文档比较详细,各个模块都有相关文档!因为文档提供比较齐全(需要自己去下,对于初学者是个难题) ,相对来说他的技术支持不怎么样!有得必有
6、失!1.3 术语和缩写解释术语和缩写解释a41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - 4 - DS DATA ServiceSIO Serial Input&Output RDM Runtime Device MappeBT Blue ToothPBL Primary Boot Loadera41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - 5 - 第 2 章 综述2.1 高通平台的硬件架构目前开发 EVDO 的手机或模块大部分采用了 QSC6085 平台。高通 QSC 系列的平台是高
7、度集成化,它将 PMIC、RF 相关模块也集成到一块芯片里(其他公司很少做到这点) ,对硬件来说可以省很多事。除了上述特殊模块之外,当然也包括一般的 LCD、KPD 、AUDIO CODEC 等很多驱动模块!具体如下图所示:QSC6085 处理器采用 ARM9 核+DSP 的架构,一般就不需要再加 DSP 去处理 Audio 和图片。它集成这么多,其他硬件厂商的饭碗都被他抢了,不过这也是大势所趋!a41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - 6 - 2.2 高通平台驱动文件结构在一般高通工程(60X5 系列)目录下有一个 Drivers
8、 文件夹,在该文件夹下包含了 60X5 系列平台上所有驱动文件,分门别类!从上图中我们可以看到,每一个驱动都有独立的文件夹,这样对于新手学习代码来说比较容易找到相关代码。2.3 ARM 相关知识因为高通处理器采用的 ARM 内核,遵循 ARM 指令,我们有必要学习一下 ARM 的一些基础知识。一般驱动开发中很少涉及到 ARM 指令,除了 BOOT 以及 flash 开发,大部分都在 C 语言环境中开发。在这部分我讲的不会太深入,如果大家想深入了解 ARM 架构,可以去看ARM 体系结构与编程这本书,相当经典!2.3.1 ARM 基本知识ARM 采用的是 32 位架构。也就是说 ARM CPU
9、内部的总线是 32 位的,每条 ARM 汇编指令都是 32位的指令。一个 CPU 时钟周期最多可以处理一条 32 位指令或者读取一个 32 位的数据。32 位的指令意味着,与 8 位和 16 位的 CPU 相比,在一个时钟周期内,指令可以携带更多的信息。a41870d0c39c6423137aa982de3b9bca.pdf 联想移动产品开发部软件处 - 7 - ARM 有 7 个基本工作模式:User:非特权模式,大部分任务执行在这种模式正常程序执行的模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式高速数据传输和通道处理IRQ:当一个低优先级(normal)中断产生时将会进入
10、这种模式通常的中断处理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)
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。