走出山寨:MTK芯片开发指南
基本信息
- 作者:
陈智鹏
- 丛书名: 移动开发系列
- 出版社:人民邮电出版社
- ISBN:9787115216687
- 上架时间:2009-12-31
- 出版日期:2010 年1月
- 开本:16开
- 页码:322
- 版次:1-1
- 所属分类:
通信 > 通信技术理论与基础
编辑推荐
第一本MTK芯片中文开发指南
以创意、架构、设计、实用为主线
图文结合,配合实例说明
真实案例,为您揭示MTK平台开发的核心技术
巴掌大小的手机背后隐藏着一条极有可能代表中国制造业希望的产业链
mtk平台是联发科公司推出的一种新型的手机设计解决方案,到目前为止,它已经成为了国产手机生成厂商首选的平台,其高度的模块集成特性、快捷的出货速度和低廉的价格优势催生了中国大陆数量庞大的手机研发公司,它创造了这个时代最响亮的名词:“山寨”,并引领了从2006年以来山寨机的潮流。
mtk平台的特殊性使得初次接触的开发人员上手困难,而相关资料的缺乏让广大mtk爱好者也无法完整和准确地研究该平台。本书全面地介绍了mtk应用开发的基础知识,它不仅向读者阐述了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
山寨机为我们指明了未来的三种创新策略:一是坚定地站在用户的一边;二是将非技术的创新系统化;三是捕捉本地的机会,但在全球整合创意与资源。从某种意义上说,这是有中国特色的创新之道,能够在花费较少的情况下取得最大成效。山寨机的成功,告诉我们一个重要的道理:企业的发展并不完全在于核心技术的掌握,更重要的在于对市场的感应和这种感应之后的反应速度。
《中国企业家》
山寨是否能像”沙盒创新”一样,成为新兴市场为商业世界贡献的另一颗明星,取决子山寨的低成本到底来源子创造性的低成本能力,冗余功能,还是只不过是功能多样的廉价方案。
《21世纪商业评论》
“山寨产品”是市场处于无序状态时才会盛行的,它们只能寄生于正常生产和销售所照顾不到的环节,在不影响大局的前提下,它是对市场的一种补充。现在它却大有颠覆所有制造业的发展趋势,而在讲究创意价值、重视创造力的时代,“山寨产品”的大行其道,完全不可思议。
《中国青年报》
是时候摘掉有色眼镜,重新审视”山寨”问题了,巴掌大小的手机背后隐藏着一条极有可能代表中国制造业希望的产业链。这股野蛮生长的力量,以目前引人注目的生产能力和市场占有率,已经从产业的谷底爬升到了半坡之上。山寨精神,正在为中国制造注入新的活力。
《中外管理》
保卫山寨,是在保卫某种我们失落的精神,保卫这种精神是在反抗现代社会固有的势利。当然保卫山寨,并不是要认可某种侵犯知识产权的高模仿行为,也不是要赞同企业愉税漏税的做法。保卫山寨,保卫的是一种日渐丧失的自由精神。
《南都周刊》
评论交流
共有9人开贴评论
12人参与评论
6人参与打分
查看

加载中...