
前言
在今天所处的大时代背景下,嵌入式、3G、物联网、云计算俨然已经成为信息产业的主旋律,不管是从政府大力扶持的角度,还是从产业变革的角度来说,这股潮流早已势不可挡。而嵌入式系统正是这些产业应用技术中最核心的部分。随着智能化电子行业的迅猛发展,嵌入式行业更是凭借其“应用领域广、人才需求大、就业薪资高、行业前景好”等众多优势,成为当前最热门、最有发展前途的行业之一。与此同时,嵌入式研发工程师更是成为IT职场的紧缺人才。因此,近几年来,各大学院校纷纷开设嵌入式专业课程。但是,各院校在嵌入式专业建设和教学的过程中几乎都面临教材难觅、内容更新迟缓的困境。虽然目前市场上嵌入式开发的相关书籍比较多,但几乎都是针对有一定基础的行业内研发人员而编写的,并不完全符合高校的教学要求。
针对高校专业教材缺乏的现状,我们以多年来在嵌入式工程技术领域内人才培养、项目研发的经验为基础,汇总了近几年积累的数百家企业对嵌入式研发相关岗位的真实需求,并结合行业应用技术的最新状况及未来发展趋势,调研了数十所开设“嵌入式工程技术”专业的院校的课程设置情况、学生特点和教学用书现状,通过细致的整理和分析,对专业技能和基本知识进行了合理划分,编写了这套高等院校嵌入式人才培养规划教材,包括:
· 《从实践中学ARM嵌入式体系结构与接口技术》
· 《从实践中学嵌入式Linux操作系统》
· 《从实践中学嵌入式Linux C编程》
· 《从实践中学嵌入式Linux应用程序开发》
本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。《从实践中学ARM嵌入式体系结构与接口技术》侧重介绍接口技术;在操作系统教材方面,根据各院校的教学重点和行业实际应用情况,编写了《从实践中学嵌入式Linux操作系统》;考虑到嵌入式专业对学生C语言能力要求较高,编写了《从实践中学嵌入式Linux C编程》,可作为“C语言基础”课程的后续提高课程使用;《从实践中学嵌入式Linux应用程序开发》则重点突出了贯穿前面所学知识的实训内容,供“嵌入式Linux应用开发”课程使用。
ARM作为一种32位的高性能、低成本的嵌入式RISC微处理器,得到了广泛的应用。目前,ARM9及Cortex系列的处理器已经占据了大部分嵌入式处理器的中高端产品市场。本书以目前行业应用的主流S3C2410X处理器及最新的Cortex-A8和Cortex-M0系列的处理器为平台,介绍了ARM嵌入式系统开发的各个主要环节。本书侧重实践,辅以代码讲解,使读者从分析的角度来学习嵌入式开发的各种技术。本书使用的工具是Keil公司的MDK(Microcontroller Development Kit)。MDK是ARM公司推出的专业嵌入式开发工具RealView的工具集,它是为了满足基于MCU进行嵌入式软件开发的需求而推出的,包含强大的设备调试和仿真支持、众多的案例模板和固件实例,以及存储优化的RTOS库。MDK适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发入门者,并能满足要求较高的微控制器应用。
本书将嵌入式软硬件理论讲解和技能实践融合在一起,共14章。第1章为嵌入式系统基础知识,介绍了嵌入式系统的组成及嵌入式开发概述。第2章为ARM技术概述,讲解了ARM体系结构、应用选型及编程模型等。第3章为ARM微处理器的指令系统,重点介绍了ARM指令集。第4章为ARM汇编语言程序设计,主要介绍了ARM程序中常用的伪指令、伪操作及ARM汇编语句的格式和结构。第5章为ARM RealView MDK集成开发环境,主要介绍了RealView MDK环境的安装和使用。第6章为GPIO编程,介绍了GPIO的概念及S3C2410X的GPIO操作方法。第7章为ARM异常中断处理及编程,介绍了ARM处理器的异常处理,以及S3C2410X的中断控制器工作原理。第8章为串行通信接口,介绍了串行通信的概念及S3C2410X串口的操作方法。第9章为存储器接口,介绍了NOR Flash、NAND Flash、SDRAM存储器的操作方法。第10章为定时器,介绍了定时器的工作原理及S3C2410X定时器接口的操作方法。第11章为A/D转换器,介绍了A/D转换器的工作原理及S3C2410X A/D控制器的操作方法。第12章为LCD接口设计,介绍了S3C2410X的LCD控制器的工作原理。第13章为温度监测仪开发实例,融合了前面章节中的大部分知识。第14章重点介绍了ARM体系的最新发展情况,并且介绍了目前在业界得到广泛应用的Cortex-A8和Cortex-M0处理器。
在学习本书时,读者要具有一定的数字电路和C语言的基础知识。
本书由华清远见研发中心技术总监刘洪涛和赵孝强编著并统校全稿。在此还要感谢华清远见嵌入式学院的大力支持,教材内容参考了学院与嵌入式企业需求无缝对接的、科学的专业人才培养体系。同时,在嵌入式学院从业或执教多年的行业专家团队也对教材的编写工作做出了贡献,曾宏安、季久峰、冯利美、曹忠明、赵孝强、陈刚、程姚根、温尚书、贾燕枫、方琳琳、沈静、冯瑜、杨曼、王利丽、李媛媛、张丹、刘晶晶、王丽丽、谭翠君、关晓强、王彦红等老师在书稿的编写过程中认真阅读了所有章节,提供了大量在实际教学中积累的重要素材,对教材结构、内容提出了中肯的建议,并在后期审校工作中提供了很多帮助,在此表示衷心的感谢。
由于编者水平所限,书中不妥之处在所难免,恳请读者批评指正。对于本书的批评和建议,可以发到www.embedu.org技术论坛。
编者
2012年1月