ARM Cortex-A8嵌入式系统开发与实践——WinCE与Android平台

-
【作 者】上海怡鼎信息科技有限公司 倪旭
【I S B N 】978-7-5084-8177-7
【责任编辑】宋俊娥
【适用读者群】科技
【出版时间】2011-01-25
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】
【千字数】537
【印 张】20.75
【定 价】¥45
【丛 书】暂无分类
【备注信息】 随书赠送一CD
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书以飞思卡尔应用处理器i.MX51为例,全面系统地讲述基于新一代高性能ARM Cortex-A8内核应用处理器以及WinCE 6.0和Android 系统的软硬件系统开发指导。具体内容包括:以i.MX51应用处理器为例介绍基于Cortex-A8内核的高性能应用处理器典型的功能模块,开发系统的主要硬件功能模块的结构与工作原理,典型硬件系统与典型应用;WinCE 6.0在Cortex-A8系统上的移植与开发,系统地讲述Windows Embedded CE 6.0的体系结构、系统安装、环境设置,在i.MX51开发系统下的软件包的编译和调试,主要功能模块驱动程序的详细描述与开发指导,以及典型的嵌入式系统WinCE 6.0 应用开发例程;Android 2.2在Cortex-A8系统的移植与开发,系统讲述Android体系结构、开发环境与编译,Android BSP的移植与开发(包含Bootloader、内核移植、HAL实现等),以及Android应用程序开发指导。
本书可作为工程技术人员学习最新的Cortex-A8高端嵌入式系统软硬件开发技术的入门教材,掌握WinCE 6.0以及Android系统在高端应用处理器系统上的实战演练,也可作为工程技术人员在实际工作中针对智能手持设备(平板电脑、智能手机)、高端嵌入式设备、汽车信息娱乐设备等系统开发的参考书。
涵盖Android和WinCE两大系统
最新Android系统实战演练
详解ARM Cortex-A8应用系统
最新最全的高端嵌入式系统学习宝典
ARM Cortex-A8是ARM公司针对高端嵌入式系统新推出的高性能内核,性能与其前代ARM9、ARM11相比有了质的飞跃,处理能力几乎可以与X86系统媲美,而功耗却同ARM9/ARM11系统几乎维持在同一数量级。于是,这个市场风起云涌,各种划时代的产品纷纷推出。Apple公司的智能手机iPhone 4、平板电脑iPAD所采用的处理器内核都是基于Cortex-A8。国际上的半导体大腕,如飞思卡尔、高通、Ti等也都纷纷推出了各自基于Cortex-A8(ARMv7)的应用处理器,如飞思卡尔的i.MX51,高通的Snapdragon 8250,Ti的OMAP3等。我们迅速进入了一个ARM叫板Intel的时代。
嵌入式平台正是因为有了这样一个强劲的“芯”,也催生了各种开源软件系统在ARM体系上安营扎寨,如Ubuntu、Android、MeeGo等。这里我们来说一说Android。Android原本是Google针对智能手机推出的基于Linux内核的开源系统。由于开源,所以包含完整的中间件及丰富的上层应用程序,同时针对ARM内核做了大量的优化,执行效率非常高,再加上Google这杆大旗的号召力,不仅有Google Search、融入Web应用,还推出Android市场(Android Market)让广大的程序员加入到Android应用程序开发这个大市场中来,于是原本Linux阵营一盘散沙、各据山头的局面得到了迅速的改观。最有意思的是,Android不但在智能手机领域攻城略地,迅速成为智能手机排名前三的操作系统,在非手机领域,如平板电脑、上网本、车载信息娱乐系统,甚至是智能家电领域也得到了迅速发展。从某种程度上来说,Android成为近年来高端嵌入式领域最时髦的词汇。
当然我们也不能忽略Microsoft。Windows Embedded CE 6.0在Cortex A8平台上运行也是如虎添翼。(我们更期待CE 7.0的早日推出。)
正因为如此,上海怡鼎信息科技有限公司(由一群在半导体与嵌入式领域从业多年的“老”工程师,以及若干“海外回流人员”创办成立),与浙江大学的倪旭翔教授、上海电机学院的计春雷教授一起,策划并编篡了本书。本书的编写也得到了ARM(中国)以及飞思卡尔半导体公司相关人员的大力支持。参加本书部分章节内容编写的还有李文浩、周文瑞、周芃、昝婷婷、李信音、顾冬平、李宾,在此还要特别感谢中国水利水电出版社万水分社杨庆川总经理和豆芽为本书的出版付出的努力。我们希望通过本书,让国内的广大嵌入式系统开发人员尽快了解和掌握高端嵌入式领域的最新最前沿技术(Cortex-A8、i.MX51、Android 2.2等),摆脱目前国内嵌入式学习与设计参考仍然普遍以ARM9系统为主的局面。
由于编者水平有限,加之时间仓促,书中疏漏之处在所难免,恳请广大读者批评指正,以期再版时修订。
编 者
2010年11月
第1章 基于Cortex-A8的Freescale i.MX51
体系构架 1
1.1 i.MX51系统框图与功能简介 1
1.1.1 i.MX51应用处理器的应用 2
1.1.2 i.MX51应用处理器CPU的结构 2
1.1.3 i.MX51应用处理器的多媒体能力 2
1.1.4 i.MX51应用处理器的物理性能
及扩展能力 2
1.1.5 i.MX51应用处理器的特点 3
1.2 ARM Cortex-A8内核(CPU、Cache、
NEON、VFP和ETM) 4
1.3 i.MX51应用处理器中的IPU与
VPU单元 5
1.3.1 图像处理单元IPU 5
1.3.2 视频处理单元VPU 6
1.4 i.MX51应用处理器的图形处理
(GPU)功能 6
1.4.1 3D 图形处理单元(3D GPU) 7
1.4.2 2D 图形处理单元(2D GPU) 7
1.5 i.MX51应用处理器的输入输出接口 8
1.6 i.MX51应用处理器的时钟、电源与
JTAG口 9
1.7 i.MX51应用处理器的典型系统 12
1.8 参考文献 13
第2章 基于i.MX51的系统硬件介绍 14
2.1 内容概述 14
2.2 硬件系统的总体框图和功能组成 15
2.3 i.MX51应用处理器的启动模式设置 17
2.4 存储器部分(DDR2、SPI NOR、
NAND Flash) 18
2.4.1 DDR2 SDRAM 18
2.4.2 NAND Flash 21
2.4.3 SPI NOR 22
2.5 电源管理 22
2.5.1 MC13892的电源输出 22
2.5.2 i.MX51与MC13892之间的信号
接口控制 24
2.5.3 电池充放电电路 24
2.5.4 电阻触摸屏接口电路 26
2.6 USB接口 26
2.6.1 USB的定义 26
2.6.2 USB标准简介 27
2.6.3 USB-OTG设计 27
2.6.4 USB-HS设计 29
2.6.5 USB扩展接口 29
2.7 DVI显示接口 32
2.8 MMC/SD卡接口 33
2.9 UART调试串口和JTAG调试口 36
2.10 Ethernet网口 38
2.11 Audio CODEC与音频输入输出 39
2.12 Camera接口 42
2.13 键盘功能 43
2.14 扩展接口 43
2.14.1 Bluetooth和WIFI扩展接口 43
2.14.2 3G扩展接口 44
2.15 参考文献 45
第3章 基于Cortex-A8 i.MX51的WinCE 6.0
系统移植与开发 46
3.1 Windows Embedded CE 6.0介绍 46
3.1.1 WinCE 6.0简介 47
3.1.2 WinCE 6.0的安装 48
3.1.3 WinCE 6.0编译环境 57
3.1.4 WinCE 6.0体系架构 85
3.2 WinCE 6.0软件开发包的安装、编译、
下载与调试 94
3.2.1 WinCE 6.0 软件开发包的安装 94
3.2.2 WinCE 6.0软件开发包的编译 103
3.2.3 WinCE 6.0软件开发包的镜像下载 112
3.2.4 WinCE 6.0软件开发包的调试 117
3.3 基于怡鼎MX51开发系统的WinCE 6.0
的Bootloader 121
3.3.1 i.MX51芯片内部Bootloader 121
3.3.2 怡鼎MX51 WINCE软件开发包
的XLDR 130
3.3.3 怡鼎MX51 WinCE 6.0软件开
发包的EBOOT 132
3.4 WinCE 6.0 OEM适配层 144
3.4.1 Windows CE操作系统的启动顺序 144
3.4.2 OAL的电源管理 156
3.5 WinCE 6.0驱动概述 161
3.5.1 文件系统驱动、线程驱动与
本地驱动 162
3.5.2 用户模式驱动与内核模式驱动 164
3.5.3 加载驱动 164
3.5.4 驱动的中断处理 165
3.5.5 驱动的电源管理 165
3.6 怡鼎MX51 WinCE 6.0 驱动详述 166
3.6.1 音频编解码器驱动 166
3.6.2 显示驱动 170
3.6.3 摄影头驱动 176
3.6.4 eSDHC驱动 180
3.6.5 网络驱动 182
3.6.6 电源管理芯片驱动 184
3.6.7 USB OTG驱动 192
3.7 WinCE 6.0 应用程序开发与实践 203
3.7.1 导出并安装SDK 203
3.7.2 使用SDK编译Hello World 206
3.7.3 使用PB编译VPU测试代码 210
3.7.4 使用PB编译OpenGL ES 2.0 3D
应用程序 211
3.7.5 多媒体 212
3.8 参考文献 217
第4章 基于Cortex-A8的i.MX51的Android系统移植与应用程序开发 218
4.1 Android简介 218
4.1.1 Android系统架构 218
4.1.2 Android核心组件 220
4.1.3 Android应用程序基础 227
4.2 基于i.MX51的怡鼎Android系统
使用介绍 235
4.3 Android系统的开发环境及编译 247
4.3.1 搭建PC开发环境 248
4.3.2 获取Android官方代码 248
4.3.3 应用怡鼎补丁 249
4.3.4 Android源代码结构 249
4.3.5 源代码编译 252
4.4 Linux 内核及驱动程序 254
4.4.1 Linux内核简介 254
4.4.2 Linux驱动程序简介 256
4.5 Android BSP移植与开发 267
4.5.1 Bootloader 267
4.5.2 Android 内核移植 271
4.5.3 Android HAL移植与实现 279
4.5.4 常见问题 287
4.6 Android应用程序开发 288
4.6.1 搭建应用程序开发环境 289
4.6.2 Hello World应用程序 292
4.6.3 多媒体播放应用程序 296
4.6.4 浏览器应用程序 302
4.6.5 3D应用程序 307
4.7 本章小结 314
4.8 参考文献 315
- 嵌入式系统设计师考前冲刺100题 [倪奕文 王建平 编著]
- 嵌入式系统设计师5天修炼 [倪奕文 编著]
- 嵌入式ARM技术项目化教程 [晓利 周永福 黄日胜 杨凌]
- 嵌入式Linux开发技术基础 [主编 伍德雁]
- 嵌入式应用Qt_C++传感数据采集开发实训教程 [主编 刘和文 文燕 谢忠敏]
- 基于ARM Cortex-M4内核的物联网/嵌入式系统开发教程 [主编 刘雯]
- 嵌入式网络那些事——STM32物联实战 [朱升林 欧阳骏 杨晶 著]
- 嵌入式Qt开发项目教程 [主编 王浩 陈邦琼]
- 嵌入式系统实验教程 [ 张志勇 邢国春 李晓宁]
- 嵌入式网络那些事:LwIP协议深度剖析与实战演练 [朱升林]
- Windows CE(C#)嵌入式应用开发实训教程 [王浩 编著]
- Windows CE(C#)嵌入式应用开发 [王浩 林艺春 编著]
- 16位单片机及语音嵌入式系统 [赵定远 马洪江 主编]
- EVC高级编程及其应用开发(Embedded Visual C++嵌入式编程) [汪兵 等编著]
- 单片机原理及基于单片机的嵌入式系统设计 [蔡方凯 主编]
- Windows CE嵌入式高级编程及其实例详解(用C++实现) [汪兵 等编著]