ARM嵌入式Linux系统开发详解——前言

2019-07-12 18:03发布

 

随着超大规模集成电路的发展,计算机处理器技术不断提高,计算机芯片的处理能力越来越强,体积越来越小,计算机技术应用到生活的方方面面。与人们日常生活打交道最多的就是嵌入式系统,从目前广泛使用的手机、MP3播放器到家用电器,嵌入式系统的应用无处不在。嵌入式系统的开发占整个计算机系统开发的比重也越来越高。 嵌入式系统开发与传统的PC程序开发不同。嵌入式系统开发涉及软件硬件的开发,是一个协同工作的统一体。目前,已经有许多的嵌入式系统硬件和操作系统软件,其中应用最广泛的是ARM嵌入式处理器和Linux系统,本书也将以ARM处理器和Linux作为讲解对象,帮助读者进入嵌入式开发领域。 目前嵌入式开发的书籍种类繁多,但是内容都比较有针对性。主要可以分成3类,一类是侧重嵌入式硬件开发;一类侧重嵌入式操作系统原理和设备驱动开发;还有一类是针对嵌入式系统应用程序开发。由于以上3类图书都是针对某个特定领域编写的,内容针对性强,不便于初学者学习。 本书从嵌入式初学者的角度出发,力求由浅入深地介绍嵌入式系统开发的各部分知识,帮助初学者快速进入嵌入式开发领域,掌握嵌入式开发的基本技术。

本书特 {MOD}

1.配视频讲解光盘

为了让读者更加快速、直观地学习本书内容,作者专门为本书录制了大量多媒体语音视频进行讲解,读者可以结合视频讲解更高效地学习,学习效果更好。

2.循序渐进,由浅入深

为了让初学者快速进入嵌入式系统开发领域,本书一开始对嵌入式系统的软件和硬件做了全面的介绍,让读者对嵌入式系统有一个基本的认识。同时,在书中讲解的知识点都配备了完整的实例,读者可以通过实例学习嵌入式系统开发的相关知识。

3.技术全面,内容充实

作者本人从事嵌入式系统开发多年,深入了解嵌入式系统开发的各个方面,在书中讲解了嵌入式Linux开发的各个要点,包括Linux内核的构成、工作流程、驱动程序开发、文件系统、程序库等知识,使读者全面了解嵌入式Linux开发的各个知识点。

4.实例讲解,理解深刻

嵌入式Linux开发书籍众多,很多书籍偏重理论。本书所有的实例都经过作者验证,并且有详细的操作过程和实验结果。其次,本书的操作实例有完整的实验环境描述,读者可以通过实例加深对知识点的理解。

5.化整为零,深入剖析

嵌入式系统开发涉及知识面广,技术复杂。本书剥茧抽丝,力求找出开发过程中关键的知识点。从关键点入手,通过简单易懂的例子剖析技术原理,帮助读者掌握复杂的技术。

本书内容

1章:介绍嵌入式系统的基本概念。本章从日常生活的例子入手,给读者对嵌入式系统一个初步认识。然后介绍了嵌入式系统的发展历程,以及基本的嵌入式系统开发知识。 2章:嵌入式软件和硬件知识。从模拟电路和数字电路的对比入手,介绍嵌入式系统硬件的基本知识。在此基础上,讲解软件的基本概念和开发流程,最后是操作系统的基础知识。 3章:全面介绍ARM处理器。先比较了微控制器和微处理器的异同,然后介绍ARM嵌入式处理器。讲解ARM处理器的指令集和结构,最后是处理器选型需要考虑的因素。 4章:引入本书的重点——嵌入式Linux操作系统。本章可以分成两部分,前半部分介绍常见的几种嵌入式操作系统,通过对比得出Linux系统在嵌入式领域的优势。后半部分讲解嵌入式Linux相关的知识。 5章:本章介绍如何搭建一个嵌入式Linux系统的开发环境。嵌入式Linux系统开发可以在Linux系统上进行,也可以在其他系统(如Windows系统)上进行。因此,本章介绍了在两种平台下搭建开发环境的知识点,并且给出了详细的操作步骤。 6章:由一个最基本的Linux应用程序入手,讲解应用程序的工作原理和工作流程。最后还介绍了Linux管理编译程序的方法。 7章:讲解Linux应用程序开发的关键技术之一,如何操作内存和文件。内存和文件是应用程序使用最多的两种资源。 8章:讲解多线程和多进程程序开发。多线程和多进程程序可以提高应用程序的并发处理能力,是现代计算机应用中重要的技术。 9章:讲解目前应用最广泛的网络功能,如何在应用程序中通过套接字在网络中传输数据。 10章:串口是嵌入式系统应用最广泛的基本数据传递方式之一,本章讲解串口的基本工作原理、在应用程序中使用串口传递数据。 11章:图形界面是嵌入式系统的一个热点。本章讲解了如何开发嵌入式系统的图形界面,以应用广泛的Qt图形程序库为例,讲解了嵌入式系统移植和开发Qt程序的全        过程。 12章:嵌入式系统开发通常涉及多个人相互协作,软件管理的必要性尤为突出。本章讲解了嵌入式系统开发中常见的集中软件管理方法。包括文档管理、代码管理等。每种管理方法都是基于实际的管理软件,并且给出了实际的操作过程。 13章:本章在第3章的基础上深入讲解ARM处理器。主要内容包括ARM处理器的体系结构、编程模型、内存管理、外部设备访问等关键技术。在最后给出S3C2440 ARM处理器的操作实例。 14章:讲解Bootloader工作原理。介绍了嵌入式系统常见的集中Bootloader,以U-Boot为例讲解了Bootloader的工作原理,移植U-BootARM开发板等知识。 15章:解析Linux内核。包括Linux内核的代码工程结构,主要工作原理等知识。本章内容理论较多,需要结合相关章节理解。 16章:Linux内核启动过程涉及到软硬件多方面知识,学习Linux内核启动过程对理解Linux内核结构有很大帮助。 17章:讲解Linux文件系统工作原理和制作方法。以ARM平台为例制作嵌入式Linux系统常用的闪存文件系统。 18章:讲解嵌入式Linux系统开发交叉编译工具链的创建和使用。 19章:介绍嵌入式Linux常用的命令系统BusyBox工作原理、裁剪和交叉编译等知识。 20章:讲解嵌入式Linux内核移植的全部过程。 21章:介绍Linux内核和应用程序的调试技术。 22章:讲解Linux系统设备驱动程序开发的基本知识,包括设备驱动的分类、特点、内核模块编写实例。在最后给出了一个字符设备开发实例。 23章:在第22章的基础上详细讲解Linux网络设备驱动开发,描述Linux内核网络体系结构,并且用实例分析了DM9000网络适配器驱动程序。 24章:这一章讲解嵌入式系统中广泛应用的Flash设备驱动程序开发,用实例分析了NORNAND Flash设备驱动。 25章:讲解USB体系结构和设备驱动开发。内容包括USB接口标准、工作流程等,最后给出了USB设备驱动开发实例。

本书读者对象

q      嵌入式系统移植程序员 q      嵌入式系统应用程序开发人员 q      大中专院校的学生 q      社会培训学生