《走出山寨 MTK芯片开发指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陈智鹏编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115216687
  • 页数:322 页
图书介绍:本书是一本技术书籍,第一部分讲述手机的产业链。第二部分简单的实例展示MTK解决方案。第三部分通过MTK的高级开发,展示MTK芯片的高级用法——手机开发是否山寨,完全由开发者来决定。第四部分驱动及开发。

第1章 MTK的横空出世 1

1.1 引子 1

1.2 MTK简介 1

1.3 MTK平台的生命力 2

1.4 山寨来了 3

1.5 走出山寨的强者 5

1.6 来自3G的机遇和挑战 6

第2章 MTK软件方案 9

2.1 MTK软件方案组成 9

2.2 MTK总体软件方案架构 10

2.2.1 Nucleus实时操作系统 11

2.2.2 L1协议栈 11

2.2.3 设备驱动 12

2.2.4 L2/L3/L4层协议栈 13

2.2.5 MMI 14

2.3 MMI架构 14

2.3.1 Task 15

2.3.2 MMI与L4通信 15

2.3.3 框架层(Framework Layer) 16

2.3.4 应用层(Application Layer) 18

2.3.5 UI层 18

2.3.6 MMI开发常用目录 19

2.4 启动流程 20

第3章 MTK工程的编译 22

3.1 编译环境的搭建 23

3.1.1 工具安装与配置 23

3.1.2 进行开发环境检查 25

3.2 如何进行编译 26

3.2.1 包含Modis仿真环境的工程 27

3.2.2 不包含Modis仿真环境的工程 27

3.2.3 生成文件及Log日志文件 28

3.3 软件系统的目录结构 28

3.4 构建原理 29

3.5 配置编译选项 35

3.5.1 包含源代码的第三方库 36

3.5.2 无源代码的第三方库 36

3.6 烧写版本 37

第4章 MMI开发起步 40

4.1 MMI初探 40

4.1.1 MMI概念 40

4.1.2 MTK-MMI模块概览 42

4.2 如何浏览代码 44

4.3 Hello MTK 47

4.4 屏幕起步 49

4.4.1 什么是屏幕 49

4.4.2 如何创建新的屏幕 50

4.4.3 History机制 51

4.5 规范化 55

4.5.1 确定目录结构及模块相关文件 55

4.5.2 将相关文件路径加入Plutommi的编译配置文件 56

4.5.3 为新增模块增加编译开关 56

4.6 资源 58

4.6.1 字符串 61

4.6.2 菜单 64

4.6.3 图片 69

4.7 SDK的制作和使用 70

4.7.1 生成真机版本的SDK 71

4.7.2 生成模拟器版本的SDK 72

4.7.3 使用真机版本SDK 72

4.7.4 使用模拟器版本SDK 73

第5章 MTK的图形系统 75

5.1 概述 75

5.2 图形系统结构 75

5.2.1 模板子系统 76

5.2.2 绘画子系统 76

5.2.3 设备子系统 77

第6章 基本绘图 81

6.1 文本绘制 81

6.1.1 基本函数 81

6.1.2 字体 83

6.1.3 颜色 84

6.1.4 排版 85

6.2 图形绘制 86

6.3 图像 90

6.3.1 静态图像 90

6.3.2 动画 91

6.3.3 图像排版 93

6.4 区域裁剪 93

6.5 背景绘制 95

6.5.1 填充结构体 95

6.5.2 纯色背景 97

6.5.3 渐进色背景 98

6.5.4 纹理背景 100

6.5.5 图片背景 101

6.5.6 动画背景 101

6.5.7 系统默认背景 103

第7章 图层 104

7.1 主要作用 105

7.2 创建新层 105

7.3 激活新层 106

7.4 基础层 107

7.5 合并 108

7.6 通透 110

7.7 图层剪切 111

7.8 透明效果 112

7.9 释放图层 113

7.10 分配更多的内存 114

7.11 锁层 117

7.12 GDI锁 119

第8章 Task 121

8.1 创建Task 121

8.1.1 增加索引和ID 122

8.1.2 增加映射 122

8.1.3 配置Task 123

8.1.4 实现 124

8.2 Task的消息循环过程 125

8.3 使用Task 126

8.3.1 消息结构 126

8.3.2 填充消息结构体 126

8.3.3 投递到消息队列 127

第9章 文件操作 129

9.1 常用函数 130

9.1.1 FS_Open 130

9.1.2 FS_Close 131

9.1.3 FS_Read 132

9.1.4 FS_Write 132

9.1.5 FS_Seek 133

9.1.6 FS_Commit 133

9.1.7 FS_GetFileInfo 134

9.1.8 FS_GetAttributes 135

9.1.9 FS_FindFirst 135

9.1.10 FS_FindNext 136

9.1.11 FS_FindClose 136

9.1.12 FS_CreateDir 137

9.1.13 FS_GetDrive 137

9.2 文件读写 139

第10章 控件 146

10.1 GUI基本控件 146

10.1.1 按钮(Button) 147

10.1.2 文本按钮(TextButton) 148

10.1.3 图标按钮(IconButton) 149

10.1.4 单行输入框 150

10.1.5 提示框 151

10.1.6 文本图标列表控件 151

10.2 WGUI高级控件 162

10.2.1 文本图标列表 163

10.2.2 动态列表控件 164

10.2.3 左右按键 165

第11章 屏幕模板 166

11.1 系统提供的屏幕模板 166

11.2 自定义屏幕模板 167

11.2.1 定义新的屏幕模板函数 167

11.2.2 提取变化的元素 168

11.2.3 提取重绘函数 171

11.2.4 模板历史管理 172

11.2.5 退出模板 174

第12章 高级屏幕模板 176

12.1 高级模板的绘制流程 178

12.2 模板ID 180

12.2.1 模板ID的传递 180

12.2.2 模板ID和窗体组件、组件的属性的关联和交互 181

12.3 模板组件 182

12.3.1 构成模板的组件定义 182

12.3.2 各组件的属性定义 183

12.4 模板组件类型 184

12.4.1 控制类型控件 184

12.4.2 标准显示类控件 184

12.4.3 扩展显示类控件 185

12.5 自定义模板 186

12.5.1 模板数据库 186

12.5.2 普通模板加入DM 187

12.5.3 自绘制控件 189

12.5.4 更加漂亮的界面 189

第13章 多国语言 196

13.1 添加新的语言 196

13.1.1 前期准备 196

13.1.2 MTK支持该语言 196

13.1.3 MTK不支持该语言 197

13.1.4 自己实现输入法的总结 198

13.2 移植多国语言 198

13.2.1 语言宏控的修改 199

13.2.2 字库文件的添加 199

13.2.3 修改默认显示语言 199

13.2.4 移植Zi输入法 199

13.2.5 移植手写汉王(hanwang)输入法 201

13.2.6 打开MTK自带输入法支持 202

13.3 虚拟键盘 202

13.4 输入法提示符的显示 202

第14章 SOCKET 203

14.1 SOC定义浅析 203

14.1.1 SOCKET宏常量 204

14.1.2 套接字类型 204

14.1.3 套接字事件 205

14.1.4 封装的套接字函数 205

14.2 SOC实例分析 206

14.2.1 进入工程模式 206

14.2.2 输入URL地址 206

14.2.3 Socket初始化 210

14.2.4 请求准备工作 211

14.2.5 发送请求 212

14.2.6 连接 214

14.2.7 等待服务器响应 215

14.2.8 处理消息事件 216

14.2.9 回调函数执行 216

14.2.10 输出结果 216

14.3 HTTP连接方式编程总结 217

14.3.1 创建Socket连接 217

14.3.2 设置Socket非阻塞/异步模式 217

14.3.3 链接准备 217

14.3.4 连接 218

14.3.5 发送HTTP请求 218

14.3.6 接收数据 218

14.3.7 关闭Socket连接 218

14.3.8 启动/关闭定时器 218

14.3.9 注册事件回调函数 218

14.4 精简的代码 219

14.5 WAP浏览器 221

第15章 高仿NOKIA N73 223

15.1 认识N73界面 223

15.2 待机界面分析 224

15.3 基本布局 225

15.3.1 定义宏开关 225

15.3.2 打开左右按键 226

15.3.3 上移快捷菜单 226

15.4 状态栏修改 227

15.4.1 电量和信号状态图标 227

15.4.2 修改状态栏重绘区域 228

15.4.3 移动小图标绘制坐标 229

15.4.4 时间显示修改 230

15.4.5 状态栏刷新 235

15.4.6 运营商名称 237

15.4.7 修改快捷菜单 238

15.4.8 注册快捷菜单事件 240

15.4.9 添加快捷菜单安全区 241

15.5 动态列表 242

15.5.1 添加动态列表控件 242

15.5.2 今天无日历项 243

15.5.3 列表初始化 244

15.5.4 音乐标题显示 248

15.5.5 按键切换 249

15.5.6 动态列表触摸事件 255

15.6 主菜单初步 258

第16章 MTK驱动开发 262

16.1 基本架构 262

16.2 MTK手机启动过程 268

16.3 EMI配置 272

16.3.1 EMI概述 272

16.3.2 EMI时间设置 272

16.3.3 EMI自动配置过程 275

16.3.4 EMI存储区域划分 277

16.4 驱动定制工具的使用 280

16.4.1 驱动定制工具简介 280

16.4.2 工具使用说明 281

16.4.3 GPIO/GPO设置 283

16.4.4 EINT设置 286

16.4.5 ADC设置 289

16.4.6 Keypad设置 292

16.5 设备默认值的设置 294

16.5.1 PWM设置 294

16.5.2 LCD对比度设置 296

16.5.3 电池电量等级设置 297

16.5.4 声音模块设置 298

16.6 可插入设备的配置 302

16.6.1 充电参数设置 302

16.6.2 辅助设备检测设置 304

16.6.3 USB设置 305

16.7 其他设备的配置 307

16.7.1 MSDC设置 307

16.7.2 触摸屏设置 308

16.7.3 LCD屏幕移植 310

16.7.4 摄像头移植 320