嵌入式软件开发实用教程

出版社:华中科技大学出版社
出版日期:2011-7
ISBN:9787560970806
作者:李浪,刘宏,熊江
页数:285页

章节摘录

版权页:插图:成本函数是进行软硬件划分的依据,成本函数考虑的主要因素有:软件的执行时间、硬件的成本、使用期的功耗、各个模块之间潜在的并发性以及模块的重用性等。软硬件划分的实质就是一个组合优化问题,模型和求解算法的选择是解决软硬件功能划分问题的关键。目前,常用的划分算法有:免疫遗传算法、遗传算法、模拟退火算法、整数线性规划算法、动态规划算法、基因算法、贪婪算法等。这些划分算法在各自的使用环境和特定的应用领域内取得了较好的实验结果,但它们不是通用的划分方法,都只适用于某个具体领域和环境,因此在选择软硬件划分算法时,要根据其使用环境和目标系统的设计目标等具体要求进行选择。至今,仍然没有一个软硬件划分方法明显优于其他方法,主要原因是划分问题的内在复杂性,加上嵌入式系统带来的巨大搜索空间,使问题更难以解决,从系统描述自动生成软硬件代码的自动软硬件划分工具在近期内还不可能实用。3.接口协同综合软硬件协同综合是根据系统描述和软硬件划分的结果,在已有的设计规则和既定的设计目标前提下,决定系统中软件和硬件部分以及其接口的具体实现方法,并将其集成。具体地说,这一过程就是要明确系统将采用哪些硬件模块(如全定制芯片、MCU、DSP、FPGA、存储器、I/O接口部件等)、软件模块(嵌入式操作系统、驱动程序、功能模块等)以及软硬件模块之间的通信方法(如总线、共享存储器、数据通道等)以及这些模块的具体实现方法。4.协同仿真与验证软硬件协同仿真的目的是在硬件生产出来以前,通过仿真(模拟)的手段验证软硬件集成方面的问题。软件模拟和硬件仿真都存在不同层次的抽象,也取得了一定的成绩。例如,SystemC是一个开放源代码的C++建模平台,提供支持门级、RTL级、系统级等各个抽象层次上硬件建模和仿真的C++类库及相应的仿真内核。SystemC支持硬件/软件协同设计,能够描述由硬件和软件组成的复杂系统的结构,支持在C++环境下对硬件、软件和接口的描述。 协同仿真验证是检验系统设计正确性的过程。它对设计结果的正确性进行评估,以避免在系统实现过程中发现问题再进行反复修改。在系统仿真验证的过程中,模拟的工作环境和实际使用环境相差甚远,软硬件之间的相互作用方式及作用效果也就不同,这也难以保证系统在真实环境下工作的可靠性,因此系统仿真的有效性是有限的。

书籍目录

第1章嵌入式系统概述(1)
1.1嵌入式系统定义与特点(1)
1.1.1嵌入式系统的定义(1)
1.1.2嵌入式系统的特点(2)
1.2嵌入式系统的应用领域及发展趋势(3)
1.2.1嵌入式系统的应用领域(4)
1.2.2应用的发展趋势(5)
1.3嵌入式系统的组成结构(5)
1.3.1嵌入式系统的硬件(5)
1.3.2嵌入式系统的软件(10)
1.4嵌入式系统分类(12)
1.5嵌入式系统的发展历史(13)
1.5.1嵌入式发展的初始阶段(13)
1.5.2嵌入式系统的发展阶段(14)
1.5.3未来嵌入式系统的发展趋势(15)
习题一(16)
第2章嵌入式系统的设计方法(17)
2.1嵌入式系统的一般设计流程(17)
2.1.1单片机系统(17)
2.1.2嵌入式处理器系统(18)
2.2传统的嵌入式系统设计方法(21)
2.3嵌入式系统的软硬件协同设计(22)
2.4嵌入式系统的测试技术(24)
2.4.1嵌入式软件的测试方法(24)
2.4.2嵌入式软件的测试工具(25)
2.4.3嵌入式系统的测试策略(26)
习题二(27)
第3章嵌入式系统硬件组成(28)
3.1引言(28)
3.2嵌入式系统微处理器(29)
3.2.1微处理器(29)
3.2.2嵌入式系统对微处理器的要求(30)
3.2.3嵌入式处理器技术指标(31)
3.2.4嵌入式处理器选择原则(33)
3.2.5典型的嵌入式处理器(36)
3.3多核处理器(54)
3.3.1多核处理器的发展及其结构(54)
3.3.2多处理器结构需要考虑的几个方面(56)
3.3.3多核编程应用(58)
3.4嵌入式系统的存储器(61)
3.4.1嵌入式系统存储器的选择原则(62)
3.4.2示例(66)
3.5嵌入式系统的外部设备和I/O接口(68)
3.5.1外部设备(69)
3.5.2常见输入/输出接口类型(77)
3.5.3I/O接口原理(86)
习题三(99)
第4章Windows CE介绍(102)
4.1Windows CE概述(105)
4.2Windows CE的特性(105)
4.3Windows Embedded CE 6.0新特点(107)
4.4基于Windows CE的产品开发流程(110)
4.5Windows Embedded CE 6.0的体系结构(111)
4.6Windows Embedded CE 6.0的进程(113)
4.7Windows Embedded CE 6.0的线程(114)
4.8Windows Embedded CE 6.0的调度(115)
4.9Windows Embedded CE 6.0的同步(116)
4.10Windows Embedded CE 6.0的进程间通信(117)
4.11Windows Embedded CE 6.0的内存管理(117)
4.12如何选择嵌入式操作系统(119)
习题四(120)
第5章基于Windows CE的嵌入式操作系统定制(121)
5.1在PC上运行Windows CE(121)
5.1.1Windows CE 6.0环境搭建(121)
5.1.2软件开发环境搭建(121)
5.2Platform Builder集成开发环境(128)
5.2.1Platform Builder概述(128)
5.2.2Platform Builder 6.0简述(130)
5.2.3VS 2005简介(130)
5.3定制Windows CE操作系统的一般流程(134)
5.4操作系统移植(142)
5.5实例构建(147)
习题五(148)
第6章基于Windows CE的嵌入式应用程序开发实例(149)
6.1概述(149)
6.2基于Windows CE嵌入式应用程序开发环境(149)
6.2.1硬件资源(149)
6.2.2软件资源(150)
6.3基于Windows CE的嵌入式应用程序开发流程(150)
6.4嵌入式系统应用程序开发实训(151)
6.4.1实训一定制操作系统内核(151)
6.4.2实训二用EVC开发应用程序(158)
6.4.3实训三Windows CE.NET动态链接库(163)
6.4.4实训四Windows CE.NET虚拟内存管理(166)
6.4.5实训五Windows CE.NET设备驱动程序开发(173)
6.4.6实训六Windows CE.NET文件系统开发(184)
6.4.7实训七个人通信录(193)
6.4.8实训八画图程序(201)
6.4.9实训九计算器程序编制(206)
习题六(212)
第7章驱动程序开发(214)
7.1驱动程序概述(214)
7.1.1设备驱动程序(214)
7.1.2Windows Embedded CE 6.0驱动程序的新特性(215)
7.1.3驱动程序的样例源程序代码(216)
7.2Windows Embedded CE 6.0驱动程序分类(217)
7.2.1分层驱动程序、单体驱动程序和混合驱动程序(218)
7.2.2Windows Embedded CE 6.0驱动程序加载(221)
7.2.3本地驱动、流式驱动和文件系统驱动(222)
7.2.4Windows Embedded CE 6.0内核模式驱动和用户模式驱动(222)
7.3本地设备驱动程序的设计与样例(224)
7.3.1本地设备驱动的分层结构(224)
7.3.2本地设备驱动程序样例(224)
7.4流式设备驱动程序设计与样例(227)
7.4.1流式驱动的接口函数(228)
7.4.2接口函数详细论述(229)
7.4.3流式驱动程序工作流程(233)
7.4.4流式驱动程序样例(234)
7.5Windows Embedded CE 6.0库函数与样例(241)
7.5.1CEDDK库(241)
7.5.2简化注册表操作的函数(243)
7.5.3库函数使用样例(244)
7.6中断处理与实例(245)
7.6.1中断处理的过程(246)
7.6.2中断服务例程ISR(247)
7.6.3中断服务线程IST(247)
7.6.4中断延迟及实时性(248)
7.6.5中断处理样例(249)
7.7DMA处理与实例(255)
7.7.1使用CEDDK库函数(256)
7.7.2使用内核函数(258)
7.7.3DMA处理样例(258)
7.8电源管理与实例(260)
7.8.1电源管理器的结构(260)
7.8.2电源状态(261)
7.8.3设备电源管理(264)
7.8.4电源管理接口(265)
7.8.5在驱动程序中添加电源管理(269)
7.8.6电源管理驱动程序样例(269)
习题七(270)
第8章BSP开发(271)
8.1BSP概述(271)
8.1.1BSP的特点(271)
8.1.2BSP的组成(272)
8.1.3Windows Embedded CE 6.0自带BSP(273)
8.2开发BSP(273)
8.2.1硬件开发的设计和测试(274)
8.2.2克隆BSP(274)
8.2.3开发Boot Loader(276)
8.2.4开发OAL(276)
8.2.5添加驱动程序(276)
8.2.6增加电源管理(276)
8.2.7发布BSP(277)
8.3标准CETK测试的使用(277)
8.3.1CETK环境搭建(277)
8.3.2自定义测试(278)
8.3.3CETK实例(282)
习题八(284)
参考文献(285)

编辑推荐

《嵌入式软件开发实用教程》为普通高等教育“十二五”规划教材,高等院校计算机系列教材之一。

作者简介

《嵌入式软件开发实用教程》是为嵌入式软件入门开发者编写的实用教程。全书根据初学者的特点,由浅入深、系统地讲述了嵌入式软件开发的方法和技能,目的是学习者学习《嵌入式软件开发实用教程》后,能够掌握嵌入式软件的基本开发方法。全书从嵌入式系统的基本原理、概念开始,继而对基于Windows CE的嵌入应用软件设计开发进行深入介绍。全书共分8章,第1章对嵌入式系统基本知识作初步介绍;第2章对嵌入式系统的设计方法及设计的详细流程进行剖析;第3章对嵌入式系统的硬件组成进行讲述;第4章主要介绍Windows CE操作系统;第5章介绍基于Windows CE嵌入式操作系统定制;第6章从嵌入式软件工程师的角度,着重介绍嵌入式应用程序开发,一些典型例题的选取让初学者可以快速掌握嵌入式软件编程技巧;第7章主要论述设备驱动程序的设计与开发;第8章介绍BSP的开发技术。
对于没有PXA255开发板的学习者,书中第6章详细介绍了如何在模拟器上进行嵌入式软件开发的学习方法。
《嵌入式软件开发实用教程》内容充实、重点突出,所选例题均具有较强的代表性,适合举一反三。教程特别适合嵌入式系统软件开发初学者,遵循循序渐进的原则,从基本原理介绍到注重开发能力的逐步提高。

图书封面


 嵌入式软件开发实用教程下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024