随着信息技术的迅猛发展,21世纪以来,人类已进入后PC时代。32位嵌入式系统作为以应用为核心、软硬件可裁剪,并能满足实际系统对功能、可靠性、成本、体积和功耗有特殊要求的专用计算机系统,已被广泛应用于通信、雷达、测试、工业控制、消费电子等众多领域,正进入千家万户,成为后PC时代的主力军。ARM公司设计的基于RISC结构的32位微处理器内核在低功耗、低成本的嵌入式应用领域占据市场主导地位,鉴于这种现状,国内许多院校已开设基于ARM 32位微处理器的嵌入式系统相关课程,嵌入式系统开发技术正成为高校教学的热点。
嵌入式系统开发的实质就是完成一台专用计算机系统的开发,嵌入式系统的两大特点是软、硬件密切联系和以应用为**。因此,教学内容中涉及较多的软、硬件知识与技巧,内容庞杂,且教学过程具有较强的实践性。在教学实施中,必然会产生课程内容与学时的矛盾,以及教学目标与培养效果的矛盾。目前,在国内高校所开展的嵌入式系统课程教学中,普遍存在两点不足:(1)部分高校开设的嵌入式课程仅仅局限于理论学习和软件开发,忽视了嵌入式系统的硬件开发和动手实践,或者暂时不具备开展基于具体硬件的嵌入式系统实验的条件;(2)有相当多高校是借助于市售的嵌入式系统实验箱来完成课程教学的,而在这些实验箱中,由于添加了过多的外围器件,学生们望而生畏,并且价格昂贵;同时,厂商屏蔽了大量底层内容,让学生们停留在上层软件开发,无法通过实践来学习、掌握一个完整的嵌入式系统开发流程。这就导致许多走上工作岗位的高校毕业生,不能自行设计和实现嵌入式系统硬件平台,即使完成了硬件电路,也时常无法将应用程序加载上去,更谈不上让系统上电后能自动运行。
在开发技术上,32位ARM嵌入式系统与过去常见的8位/16位单片机存在较大的差异。专用计算机系统的性质决定了32���嵌入式系统教学**更侧重于硬件,其中包括芯片选型、外围电路设计、PCB设计、板级测试、引导程序编写、操作系统裁剪、驱动程序编写等内容。因此,作为一门技术课程的教学,仅仅对学生进行应用程序的编写训练是不够的。而嵌入式系统中的应用程序往往采用C/C++语言来编写,与通用计算机上的编程方法差异不大。
正因如此,本书始终以嵌入式系统的软、硬件开发流程为主线,清晰地展现出嵌入式系统开发涉及的各种技术和细节,并采用流程框图的形式,直观形象地展现在读者面前,给人以耳目一新的感觉。本书在正式出版前,作为大学讲义,已在四川大学**三年,取得了良好的教学效果。在教学中,要求学生利用课余时间,按2~3人/组的分组方式,在寝室和学校电子实验室中,与课程同步地独立完成硬件板卡的设计、装焊与调测工作,以及后续的引导程序、操作系统程序、驱动程序、应用程序开发工作;并对学生自己所制作完成的嵌入式系统实验板进行评定打分,计入期末综合成绩。这种新颖的教学模式极大地调动了学生的学习积极性和主动性,他们在教学过程中变得主动,并且每次上课前心中充满了疑问,而这些疑问在课程中得到了解答。教学实践表明,“兴趣是*好的老师”,在实际动手过程中,学生将一次次经历发现问题的困惑和解决问题的喜悦。使学生带着问题去思索、学习、研讨、实践,是学好该课程的一条极其有效的途径。