图书介绍
嵌入式软件开发及C语言实现 MiniGUI剖析PDF|Epub|txt|kindle电子书版本网盘下载
![嵌入式软件开发及C语言实现 MiniGUI剖析](https://www.shukui.net/cover/73/32257503.jpg)
- 魏永明著 著
- 出版社: 北京:电子工业出版社
- ISBN:7121063093
- 出版时间:2008
- 标注页数:400页
- 文件大小:30MB
- 文件页数:418页
- 主题词:软件开发;C语言-程序设计
PDF下载
下载说明
嵌入式软件开发及C语言实现 MiniGUI剖析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 使用嵌入式开发工具2
第1章 综述2
1.1 常用嵌入式操作系统2
1.1.1 实时嵌入式操作系统的一般结构2
1.1.2 常用(实时)嵌入式操作系统2
1.2 嵌入式Linux/uClinux4
1.3 eCos操作系统5
1.4 MiniGUI简介6
1.4.1 嵌入式产品开发中常用的图形解决方案6
1.4.2 MiniGUI的起源和发展7
1.4.3 基于MiniGUI的嵌入式系统软件结构8
1.4.4 MiniGUI的运行模式8
1.5 嵌入式软件的开发过程及相关概念10
1.5.1 一般开发过程10
1.5.2 交叉编译10
1.5.3 内核移植12
1.5.4 驱动程序开发12
1.5.5 应用软件开发及调试12
1.6 小结13
第2章 运行嵌入式操作系统14
2.1 嵌入式Linux的体系结构14
2.1.1 Linux系统的构成14
2.1.2 内核15
2.1.3 根文件系统17
2.1.4 函数库和应用程序18
2.2 嵌入式Linux的开发流程、方法和开发环境18
2.2.1 基本的开发流程和方法18
2.2.2 建立开发环境19
2.2.3 GNU交叉开发工具链21
2.2.4 终端模拟程序22
2.3 系统引导23
2.3.1 嵌入式Linux的启动过程23
2.3.2 引导装载器24
2.3.3 系统引导方式25
2.4 内核的选择、编译与安装25
2.4.1 选择内核25
2.4.2 配置和编译内核26
2.5 准备根文件系统28
2.5.1 根文件系统的基本结构29
2.5.2 函数库29
2.5.3 内核映像和内核模块30
2.5.4 设备文件31
2.5.5 安装系统程序32
2.5.6 系统初始化32
2.6 选择和安装文件系统35
2.6.1 存储设备和文件系统35
2.6.2 各种类型文件系统的特性36
2.6.3 使用NFS37
2.6.4 CRAMFS38
2.6.5 JFFS239
2.6.6 ROMFS39
2.6.7 使用RAM disk40
2.7 在SkyEye上运行ARM Linux44
2.7.1 安装SkyEye45
2.7.2 安装交叉编译工具链46
2.7.3 配置、编译和运行内核47
2.7.4 构建根文件系统51
2.8 在Xcopilot上运行uClinux59
2.8.1 安装Xcopilot60
2.8.2 安装交叉编译工具链60
2.8.3 配置、编译和运行uClinux60
2.9 运行eCos的Linux Synthetic目标64
2.9.1 获取并安装eCos及其开发工具65
2.9.2 配置并编译eCos65
2.9.3 编译eCos Linux Synthetic应用程序68
2.10 小结69
第3章 编译并运行嵌入式应用程序71
3.1 交叉编译及相关工具71
3.2 利用Makefile维护嵌入式应用工程78
3.2.1 make和makefile的简单回顾78
3.2.2 编写针对交叉编译的Makefile文件80
3.2.3 将应用程序放到uClinux-dist中编译83
3.3 利用Automake/Autoconf维护嵌入式软件工程84
3.3.1 准备源代码树85
3.3.2 准备configure.in文件86
3.3.3 准备Makefile.am文件87
3.3.4 生成configure文件及makefile文件88
3.3.5 增强configure.in文件使之支持交叉编译89
3.4 交叉编译开源软件90
3.4.1 交叉编译zlib函数库90
3.4.2 交叉编译JPEG函数库91
3.5 Cygwin环境简介92
3.6 小结93
第4章 在PC上运行MiniGUI94
4.1 了解MiniGUI94
4.2 在Linux PC上运行MiniGUI96
4.2.1 安装MiniGUI的Linux PC开发包96
4.2.2 建立MiniGUI的PC运行环境96
4.2.3 运行MiniGUI示例程序101
4.3 维护MiniGUI应用软件工程103
4.3.1 MiniGUI应用程序的链接选项103
4.3.2 利用Automake/Autoconf脚本维护MiniGUI工程103
4.4 快速掌握MiniGUI应用软件开发108
4.4.1 “Hello,world”程序版本一:直接输出屏幕108
4.4.2 “Hello,world”程序版本二:主窗口版本110
4.4.3 “Hello,world”程序版本三:使用控件114
4.4.4 “Hello,world”程序版本四:使用对话框模板115
4.5 定制编译MiniGUI GPL版本118
4.5.1 MiniGUI-GPL源代码包的组成118
4.5.2 定制MiniGUI-GPL版本118
4.6 小结121
第5章 在嵌入式操作系统上运行MiniGUI122
5.1 在嵌入式操作系统中访问设备122
5.1.1 再论“Hello,world”程序122
5.1.2 访问图形设备122
5.1.3 访问输入设备128
5.2 在SkyEye的EP7312模拟器上运行MiniGUI131
5.2.1 确认内核配置131
5.2.2 SkyEye EP7312模拟器的MiniGUI输入引擎133
5.2.3 为SkyEye的EP7312模拟器交叉编译MiniGUI134
5.2.4 在SkyEye的EP7312模拟器上运行MiniGUI示例程序136
5.3 在Xcopilot模拟器上运行MiniGUI140
5.3.1 确认内核及uClibc配置140
5.3.2 Xcopilot模拟器的MiniGUI输入引擎142
5.3.3 为Xcopilot模拟器交叉编译MiniGUI143
5.3.4 在Xcopilot模拟器上运行MiniGUI示例程序146
5.4 小结149
第二篇 嵌入式应用软件开发的特殊性152
第6章 嵌入式软件和桌面软件的主要不同152
6.1 嵌入式软件的特殊性152
6.2 嵌入式软件开发中的常见问题153
6.2.1 程序入口153
6.2.2 避免命名污染155
6.2.3 编译器的兼容性问题157
6.2.4 采用宏实现的标准库函数159
6.2.5 在嵌入式系统中应慎用的标准C函数161
6.3 嵌入式软件开发中的其他重要问题162
6.4 小结162
第7章 嵌入式处理器的特殊性164
7.1 处理器和字节序164
7.2 识别目标系统的字节序166
7.3 编写字节序无关程序168
7.4 字节对齐171
7.5 小结173
第8章 嵌入式系统中的内存管理174
8.1 虚拟内存技术介绍174
8.1.1 虚拟内存模型174
8.1.2 内存映射和需求分页176
8.13 写时复制176
8.2 Linux中的虚拟内存技术177
8.2.1 Linux的进程地址空间177
8.2.2 Linux进程虚拟地址空间的使用178
8.2.3 Linux提供的内存相关系统调用180
8.2.4 基于虚拟内存技术的共享内存180
8.3 嵌入式操作系统中的内存管理181
8.3.1 堆的概念181
8.3.2 嵌入式操作系统的堆181
8.3.3 C程序的栈184
8.4 uClibc提供的三种堆实现算法185
8.4.1 基于“匿名映射”的堆实现算法185
8.4.2 标准堆实现算法186
8.4.3 其他堆实现算法187
8.5 栈的管理187
8.5.1 多任务环境下的栈187
8.5.2 uClinux进程的栈188
8.5.3 POSIX线程的栈188
8.6 小结189
第9章 浮点运算和定点运算190
9.1 浮点支持的软件实现190
9.1.1 浮点仿真器191
9.1.2 浮点运算的纯软件实现192
9.1.3 浮点数的类型及存储格式192
9.1.4 浮点数的字节序194
9.2 将浮点运算转化成整数运算194
9.2.1 触摸屏校正195
9.2.2 计算机图形学中的插补算法202
9.3 定点数207
9.3.1 定点数的概念207
9.3.2 MiniGUI中的定点数实现207
9.4 小结210
第10章 外部数据的处理211
10.1 嵌入式操作系统中的文件系统211
10.1.1 Linux的文件系统组织方式211
10.1.2 其他嵌入式操作系统中的文件系统组织215
10.1.3 嵌入式系统中常用的文件系统215
10.2 嵌入式操作系统提供的文件系统及文件操作221
10.2.1 ISO C定义的标准I/O接口221
10.2.2 POSIX标准定义的文件系统及文件操作225
10.2.3 uC/OS-II提供的文件系统及文件操作228
10.3 外部文件的特殊处理方法229
10.3.1 Linux中的内存映射229
10.3.2 将文件数据内嵌到程序中231
10.3.3 压缩数据231
10.4 小结232
第11章 在C程序中内嵌汇编233
11.1 内嵌汇编的概念233
11.2 GCC的内嵌汇编语法233
11.2.1 内嵌汇编的基本规则233
11.2.2 内嵌汇编语法234
11.2.3 操作数约束236
11.2.4 约束的修饰词237
11.3 常见内嵌汇编例程237
11.3.1 strcpy的内嵌汇编版本237
11.3.2 memcpy的特殊版本238
11.3.3 memset的两个特殊版本238
11.3.4 反向复制239
11.4 小结240
第三篇 MiniGUI剖析242
第12章 MiniGUI的体系结构242
12.1 MiniGUI体系概览242
12.2 MiniGUI-Threads运行模式244
12.2.1 线程的概念和POSIX线程接口244
12.2.2 基于POSIX线程的微客户-服务器结构250
12.2.3 多线程通信的关键数据结构——消息队列251
12.3 MiniGUI-Processes运行模式254
12.3.1 MiniGUI-Processes的多进程模型255
12.3.2 UNIX域套接字简介256
12.3.3 简单请求/应答处理257
12.3.4 UNIX域套接字封装259
12.4 MiniGUI窗口管理262
12.4.1 窗口Z序262
12.4.2 窗口剪切算法262
12.5 小结267
第13章 灵活运用设计模式268
13.1 什么是设计模式268
13.2 有效隔离数据和代码270
13.2.1 对话框模板270
13.2.2 界面封装接口276
13.2.3 组合框的整数输出格式285
13.3 回调函数285
13.3.1 窗口过程函数285
13.3.2 通知回调函数287
13.3.3 曲线生成器288
13.4 使用句柄隐藏内部实现292
13.5 面向对象技术292
13.6 小结292
第14章 面向对象技术的运用293
14.1 控件和控件类293
14.1.1 控件和控件类的概念293
14.1.2 MiniGUI控件类的实现296
14.1.3 MiniGUI中控件数据结构297
14.2 逻辑字体及对多种字体和字符集的支持299
14.2.1 逻辑字体、设备字体及字符集之间的关系300
14.2.2 MiniGUI中的字符集支持302
14.2.3 字符集的实现举例305
14.2.4 MiniGUI中的字体支持309
14.2.5 MiniGUI的设备字体支持310
14.2.6 设备字体的实现举例313
14.3 其他使用面向对象技术的模块317
14.4 小结317
第15章 可移植性及其实现318
15.1 图形抽象层和输入抽象层318
15.2 旧的图形抽象层319
15.3 Native图形引擎的实现325
15.3.1 Native引擎的子驱动程序328
15.3.2 Native引擎的fbcon子引擎330
15.3.3 Native引擎的qvfb子引擎331
15.4 新的图形抽象层(NEWGAL)333
15.5 输入抽象层335
15.6 典型的输入引擎实现340
15.6.1 Linux控制台输入引擎340
15.6.2 针对iPAQ的输入引擎实现344
15.7 编写可移植代码的其他考虑349
15.7.1 MiniGUI的字节序相关读写函数349
15.7.2 利用条件编译编写可移植代码350
15.8 小结352
第16章 降低程序的资源占用353
16.1 两种位图装载的实现方法353
16.1.1 位图相关的基本概念353
16.1.2 设备相关位图和设备无关位图355
16.1.3 MiniGUI-GPL版本位图装载接口的实现359
16.1.4 MiniGUI V2.0.4版本位图装载接口的实现365
16.2 巧用mmap368
16.3 小结372
第17章 抽象数据源接口373
17.1 MiniGUI的抽象数据源接口373
17.2 利用抽象数据源实现灵活的数据处理接口376
17.3 MiniGUI的抽象数据源实现382
17.4 自定义抽象数据源384
17.5 小结386
附录A 安装开发用Linux PC387
A.1 安装Ubuntu Linux 7.04387
A.2 安装常用软件包388
附录B MiniGUI-GPL版本的配置选项390
B.1 MiniGUI-GPL的编译配置选项390
B.1.1 通用配置选项391
B.1.2 MiniGUI-GPL配置选项392
B.1.3 支持中文显示的最小MiniGUI-GPL函数库配置选项394
B.2 MiniGUI-GPL的运行时配置文件——MiniGUI.cfg395
B.2.1 system段396
B.2.2 fbcon和qvfb段396
B.2.3 systemfont段396
B.2.4 rawbitmapfonts和varbitmapfonts段397
B.2.5 mouse和event段398
B.2.6 cursorinfo、iconinfo和bitmapinfo段398
B.2.7 bgpicture段398
B.2.8 mainwinmetrics和windowelementcolors段398
B.2.9 只支持英文显示的最小配置文件398