内容简介本书适合的读者是对ARM微处理器有一定了解,对嵌入式内核有一定了解和对嵌入式产品开发有一定经验的读者。对于从事嵌入式产品开发,特别是基于ARM的嵌入式产品开发的项目经理、体系结构设计师、设计师、代码开发工程师、测试工程师,解决实际问题有一定的帮助。本书内容内容共7章,各章主题如下:第0章为嵌入式环境的选择,对嵌入式产品开发中常见的芯片、软件方案进行了简单比较分析。第1章为OS内核概念,包括ARM微处理器特性、内核结构基础等重要概念的详细说明。它是本书中非常重要的一章。第2章为μC/OSII移植过程,是在常见ARM微处理器上移植μC/OSII的代码详解。第3章为代码组织及功能设计,把嵌入式产品的设计从简单移植的角度扩展到内核整体体系结构设计及功能组件组织的角度并引入一个有益的、重要的COS组件方法。它是本书中篇幅最长的一章,也是最重要的一章。第4章为μRtosV1.0代码说明,介绍一种硬实时分层调度体系结构的嵌入式内核产品。第5章为ARM开发环境,解答软件开发工具使用中的一些常见问题。第6章为软件工程简述,对嵌入式产品开发中的软件项目管理中的要点进行了探讨,讨论了一些如何提高产品品质的技术知识。前言随着国内工业化、数字化的步伐加快,嵌入式开发在IT行业中的重要性越来越显著。中国成为“世界制造中心”甚至“设计中心”的趋势,必然导致对小型数字控制系统的需求越来越大。在嵌入式系统开发方面,最核心的技术就是微处理器芯片和嵌入式操作系统。其中在微处理器芯片方面,ARM已经给出了比较理想的一个答案;而在嵌入式操作系统方面,适合国内发展方向的解决方案以及系统基础结构方面并不理想。风河公司的VxWorks操作系统成本高,结构复杂,不适合小型应用。微软公司的WinCE操作系统更适合民用、便携式娱乐设备等。开源的Linux操作系统体系结构同样复杂,产品化和商业化程度不够,即使在Linux本来的PC目标环境下,也难寻理想的技术支持,更不用说嵌入式环境下的Linux。这方面的弱势对批量生产、大规模、长时间运行使用的工业化产品来说是致命的。另外,在以上讨论的这3种系统中,只有VxWorks是硬实时操作系统,而WinCE和Linux是非硬实时操作系统。在这种情况下,类似于μC/OSII的小型硬实时嵌入式操作系统内核具有低成本、易控制、小规模、高性能的特性,因而有相当好的发展前景。但是这类系统的基础较为薄弱,面临产品化和商业化程度不够的局面。采用此类系统进行产品开发需要仔细分析和设计,否则也很难真正满足工业产品生产的要求。本书正是针对这种情况,在ARM微处理器环境下,针对商业化、产品化环境的严格要求,设计、构造了一种硬实时嵌入式内核体系结构。当然,真正的商业化、产品化的嵌入式内核既需要这种能够满足高标准要求的体系结构设计基础,又需要严格的产品化软件开发测试过程。只有理论基础与工程实践完整地结合,才能产生真正经受得起考验的,能够满足工业化生产,能够在各种环境下稳定运行并确保达到设计目的的产品。从这个角度考虑,仅仅拿来一个操作系统内核并开发应用产品很难完全满足这种要求。必须要对内核的设计思路进行仔细的考虑和验证,对应用的可选开发设计方法进行审慎的评估,并配合真正工业化的项目开发管理办法,才能保障产品达到要求。本书中提到的μRtosV1.0内核,正是作者及其所在团队按照以上精神付出巨大努力严格设计、测试的产品。该内核的体系结构设计思路在本书中有充分详细的解释和说明。另外,μC/OSII是读者在市面上可以方便获得的一种“半开源”的操作系统内核。本书针对该内核在ARM下的移植以及与本书所述内核体系结构的关系及比较,进行了详细解说。通过对比,既方便μC/OSII的爱好者、使用者学习掌握μC/OSII内核,同时又在对比分析过程中,使读者掌握μC/OSII和μRtosV1.0内核各自的详细特征、特点,方便读者在此基础上开发设计出更好的嵌入式系统产品。作者2005年7月25日