第1章 .NET Micro Framework介绍 1
1.1 小型设备的.NET架构 1
1.2 托管代码无所不能 2
1.3 NET Micro Framework的发展历史 2
1.4 NET Micro Framework架构 3
1.4.1 .NET Micro Framework的基础结构 3
1.4.2 硬件层 3
1.4.3 运行时组件层 4
1.4.4 类库层 5
1.4.5 应用层 5
第2章 创建.NET Micro Framework托管应用程序 6
2.1 CLR介绍 6
2.2 类库介绍 7
2.2.1 命名规范 7
2.2.2 命名空间概要 7
2.3 使用Visual Studio创建.NET Micro Framework项目 8
2.3.1 使用Visual Studio创建.NET Micro Framework项目步骤 8
2.3.2 项目属性 9
2.4 编写并且编译应用 12
第3章 .NET Micro Framework基础类库介绍 13
3.1 用输出面板输出诊断程序 13
3.2 暂停执行程序 15
3.3 获取和设置系统时间和区域 16
3.4 Timer类的应用 17
3.5 使用String类 20
3.5.1 System.String类 20
3.5.2 连接字符串 22
3.5.3 String的编码 22
3.6 使用Array类 23
3.6.1 多维数组 23
3.6.2 合并字节数组 24
3.6.3 从数组中提取数据 25
3.6.4 复制合并数组到一个空数字 25
3.6.5 整型和字节型数组 26
3.7 使用集合 26
3.7.1 理解ArrayList类 26
3.7.2 使用ArrayList类 28
3.8 处理数字 28
3.8.1 decimal类型数字 28
3.8.2 十六进制数字输出 29
3.8.3 数字转化 29
3.9 数学方法 30
3.10 异常处理 32
3.10.1 抛出异常 33
3.10.2 捕获异常 33
3.10.3 finally关键字 34
3.10.4 处理多种类型异常 34
3.10.5 从异常中获取错误信息 35
3.10.6 捕获异常后,抛出异常 35
第4章 .NET Micro Framework的中文支持 37
4.1 TFConvert字体工具介绍 37
4.2 创建.tinyfnt字体文件 37
4.2.1 TinyFNT文件格式 37
4.2.2 创建TinyFNT字体向导 38
4.3 在应用程序中增加字体 39
4.3.1 在应用程序中添加字体的资源 39
4.3.2 在应用程序中使用字体 39
4.4 为应用程序提供中文支持 40
4.4.1 微软雅黑字体介绍 40
4.4.2 创建字体定义文件 40
4.4.3 运行TFConvert工具 40
4.4.4 在应用程序中添加微软雅黑字体资源并在应用程序中使用 41
4.5 字体定义文件中需要注意的问题 43
4.5.1 AddFontToProcess的参数 43
4.5.2 使用SelectFont函数选择合适的字体 43
4.5.3 使用ImportRange确定字体的范围 44
4.6 TFConvert工具不支持的一些功能 45
第5章 使用WPF进行用户界面设计 46
5.1 .NET Micro Framework和WPF 46
5.2 第一个WPF应用 47
5.3 用户界面设计基础 50
5.3.1 Application类 50
5.3.2 显示控件 52
5.3.3 使用Panel容器布局 55
5.3.4 计时器和用户界面 63
5.3.5 字体 64
5.3.6 位图 64
第6章 使用WPF绘制图形 65
6.1 Bitmap类简介 65
6.2 显示时刷新位图 68
6.3 使用颜色 69
6.4 绘制图形 70
6.4.1 绘制矩形 70
6.4.2 绘制圆形 74
6.5 绘制图像 74
6.5.1 绘制全尺寸图像 74
6.5.2 绘制缩小图像 75
6.5.3 绘制透明背景的图片 76
6.6 绘制文字 78
6.6.1 使用Font类 78
6.6.2 绘制文本 79
6.6.3 定制文本的格式 79
6.6.4 在矩形中显示文本 80
6.6.5 显示不同颜色的文字 81
第7章 可扩展的.NET Micro Framework模拟器 84
7.1 模拟器简介 84
7.1.1 什么是.Net Micro Framework模拟器 84
7.1.2 模拟器支持什么外部硬件 85
7.1.3 可扩展的模拟器 85
7.2 创建自定义模拟器 86
7.3 模拟器组件 89
7.3.1 使用模拟器组件 89
7.3.2 .NET Micro Framework常用的模拟器组件 91
7.3.3 创建模拟器组件 97
7.4 配置模拟器 98
7.4.1 使用XML配置模拟器 99
7.4.2 使用程序配置模拟器 103
7.5 模拟器建立用户界面 104
7.6 创建自定义模拟器 104
7.6.1 模拟硬件环境描述 105
7.6.2 创建模拟器工程 105
7.6.3 在代码中定义输入引脚 106
7.6.4 为输入引脚创建用户界面 107
7.6.5 创建一个模拟器上的程序 110
7.6.6 用模拟器的Config文件增加输出引脚到模拟器 113
7.6.7 将输出引脚信息用Scroll Bar控件呈现 114
第8章 .NET Micro Framework调用Web Service 117
8.1 .NET Micro Framework中的DPWS 117
8.1.1 DPWS的基本结构 118
8.1.2 建立设备之间的连接 119
8.2 添加DPWS类库 119
8.3 DPWS类库中命名空间简介 120
8.4 用MfSvcUtil工具创建服务模型代码 121
8.4.1 从命令行启动MfSvcUtil 122
8.4.2 用WSDL文件定义Web Services 123
8.5 初始化设备信息 123
8.6 服务器端代码操作 125
8.7 订阅事件 134
8.8 异常处理 135
8.8.1 异常 135
8.8.2 异常信息 135
8.9 DPWS中的线程 137
8.10 DPWS客户端操作 138
8.10.1 搜寻服务 138
8.10.2 DPWS客户端如何发送一个请求 138
第9章 .Net Micro Framework的网络编程 143
9.1 .NET Micro Framework中的Sockets 143
9.1.1 Internet和Socket简介 143
9.1.2 TCP协议 145
9.1.3 UDP协议 145
9.1.4 端口简介 146
9.1.5 .NET Micro Framework中的Socket类 146
9.2 使用.NET Micro Framework中的Socket类传输数据 148
9.2.1 Socket通信过程 148
9.2.2 使用Socket通过协议传输数据 150
9.3 制作一个.NET Micro Framework的服务器端 153
9.3.1 建立.NET Micro Framework服务器端项目 154
9.3.2 添加必要程序集引用及命名空间 154
9.3.3 增加服务器端代码 156
9.3.4 多线程处理多用户连接 157
9.4 制作一个.NET Micro Framework的客户端 159
9.4.1 填写.NET Micro Framework的客户端代码 159
9.4.2 联调服务器端与客户端代码 160
9.5 网络设备的信息 161
9.5.1 NetworkInterface类 162
9.5.2 MAC地址 162
9.5.3 子网掩码 163
9.5.4 网关 164
9.5.5 DHCP 165
9.5.6 DNS 166
第10章 .NET Micro Framework中的密码术 167
10.1 XTEA:对称加密 167
10.1.1 XTEA算法概述 167
10.1.2 .Net Micro Framework中使用XTEA 168
10.1.3 .NET Framework和.NETCompactFrameworks中的XTEA 171
10.2 RSA非对称加密算法 178
10.2.1 常见密钥对使用场景 178
10.2.2 创建公钥和私钥 180
10.2.3 使用RSA算法进行加密和解密 182
10.2.4 实现数字签名 187
第11章 嵌入式开发实例 188
11.1 飞思卡尔i.MXS设备开发简介 188
11.2 用USB方式连接设备 190
11.3 Side Show简介及用Side Show方式连接方式设备 195
11.4 Side Show与USB连接方式的切换 200
11.5 开发飞思卡尔i.MXS的一个简单测试程序 205
11.5.1 开发目标 205
11.5.2 开发环境的搭建 205
11.5.3 新建项目 206
11.5.4 绑定按钮引脚 206
11.5.5 处理按钮相应事件 208
11.5.6 将程序部署到设备 209
11.5.7 调试程序 211
第12章 访问全球定位系统(GPS) 213
12.1 全球定位系统介绍 213
12.2 GPS如何工作 214
12.3 差分GPS 214
12.4 GPS应用 215
12.5 开发GPS应用程序 215
12.5.1 串口通信 215
12.5.2 NMEA命令和数据处理 218
12.5.3 显示NMEA数据 225
12.5.4 用多线程处理GPS数据更新 227
12.5.5 启动GPS应用 228
附录1 信息产业部软件与集成电路促进中心(CSIP)简介 229
附录2 信息产业部-微软嵌入式系统与硬件平台实验室简介 230
附录3 微软中国研发集团战略合作部硬件创新中心(HIC)简介 231
附录4 德州仪器TMS320DM335平台简介 233