前言
嵌入式技术是当前发展最快、应用最广、最有发展前景的应用技术之一。嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁剪的,能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。随着嵌入式技术的发展,嵌入式系统已经逐渐渗透到我们生活的各个方面——家用电器、玩具、汽车、电视、医疗仪器、工业控制、仪器仪表、移动计算设备、网络设备等。技术的迅速发展带来了人才的旺盛需求,但是嵌入式系统,尤其是嵌入式Linux系统的开发对开发者的综合能力要求比较高,开发者不仅需要了解硬件,也需要了解软件;不仅需要看懂电路原理图,看懂芯片数据手册,还需要了解操作系统及相关的编程技术,并且在调试的过程中需要用到的工具五花八门,这常常使初学者望而却步。
嵌入式技术是一门实践性很强的技术,因此,本书的编写以工程实践为指导、以嵌入式Linux系统开发流程为主线,紧扣开发过程的每个阶段展开内容,使读者可以边阅读,边跟着书中的内容实践,有些难点内容甚至可以先用后学,这样才能逐步提高学习嵌入式Linux的兴趣。
本书以LINPO-PS-LPC3250的开发板为例,从硬件系统的构成到嵌入式Linux系统的移植及为新硬件编写设备驱动,一步步展开每个阶段的内容。“LINPO-PS-LPC3250的Linux系统移植”是“桂电-丰宝联合实验室”继“LPC2400系列ARM实验教学平台”的另一个成功的合作开发项目,在此基础上,由上海丰宝科技有限公司资助并与桂林电子科技大学合作编写了这本基于LPC3250的嵌入式Linux系统开发教材,以求达到理论与实践的高度统一。
本书共6章,包括4个部分,分别为:嵌入式系统概述、LPC32xx系统处理器简介及LINPO-PS-LPC3250 开发板的硬件设计、Linux内核的生成和移植及不同阶段设备驱动的编写。第一部分为第1章,即嵌入式系统概述,介绍嵌入式系统的基本概念、嵌入式处理器的分类和常用的嵌入式操作系统;第二部分为嵌入式系统的硬件平台基础,即第2 章,介绍基于LPC3250的嵌入式硬件平台。内容包括LPC3250处理器的芯片资源、内置的系统启动过程、时钟和功率控制、中断控制器及由上海丰宝电子有限公司开发的LINPO-PS-LPC3250开发板硬件设计。第三部分为嵌入式Linux系统移植,即第3章,介绍在基于LPC3250的嵌入式开发板上移植Linux的过程,其中包括如何配置和建立系统,如何向目标板部署引导程序、内核和根文件系统映像。第四部分为设备驱动开发,即第4~6章,该部分包括3个层次,第一层次是进入Stage1之前的设备驱动,主要介绍目标板的串行口、Nand、SPI芯片驱动及用VC++开发的串行口装载工具,使读者不需要额外的仿真器,利用串行口就可以直接加载Kickstart、Stage1 甚至U-Boot;第二层次是进入U-Boot之前的芯片驱动,主要讨论U-Boot的代码结构、启动流程、Nand芯片的驱动及以太网芯片驱动;第三层次是Linux系统层次的设备驱动,主要介绍以太网、I2C等设备的驱动设计。附录部分介绍常用Linux命令和Script编程,内容包括Linux常用命令、Shell脚本编程、交叉编译工具的使用说明、Makefile规则及常用函数、代码阅读、编辑工具Source Insight和Kscope。
与“与芯片无关”类的嵌入式书籍相比,本书的开发板例子采用NXP最新推出的LPC3250处理器,本书的例子都是在开发板上运行调试过的,可以在开发板上直接使用;而“与芯片无关”类的书籍,书上的例子读者是需要根据具体芯片对程序做相应的改动才能使用的,但对一般的初学者来说,这常常是比较困难的;而且先用后学式的学习方法对提高初学者的兴趣是很有帮助的。
本书适合作为高等院校电子信息类、计算机类、自动控制类和机械电子类等高年级本科生及研究生“嵌入式Linux系统理论与实践”课程的教材,也可供从事嵌入式系统设计的工程技术人员参考。
本书由张红梅担任主编,由“桂电-丰宝联合实验室”的教师和工程师共同策划和编写,其中参与策划和编写的有张红梅、魏艺海、张向利、欧阳宁、黄建华、宾辰忠、牛晓东、傅钿。本书各章的编写分工如下:欧阳宁编写第1章,宾辰忠编写第2章的2.1~2.5节,牛晓东编写第2章的2.6节,张向利编写第3章、第4章的4.1~4.2节、第6章的6.7节,张红梅编写第4章的4.3~4.6节、第6章的6.1~6.5节和附录D,黄建华编写第5章及附录A~C,傅钿编写第6章的6.6节。全书由张红梅负责统稿工作,刘文正、冯欢、宋天楹对本书进行了认真的校对。
特别感谢桂林电子科技大学欧阳缮教授、刘永根副研究员,上海丰宝电子科技有限公司朱玉峰先生,恩智浦半导体(上海)有限公司王维先生,华东理工大学王行愚教授、牛玉刚教授、卿湘运博士给予的大力支持。项目实施的过程中遇到问题时,得到了恩智浦半导体(北京)有限公司王鹏鹏女士很多有益的帮助,在此特别感谢。
由于时间仓促及作者水平有限,书中难免存在遗漏和不足之处,恳请读者批评指正。
编者
2009年12月