ARM嵌入式Linux系统开发详解-(第2版)

本书特色

[

  “linux典藏大系”自2010年陆续出版以来,因其内容丰富、讲解细腻、通俗易懂和实用性强等特色而深受广大读者的喜爱,长期位居同类图书销售排行榜的前列,累计销量近10万册。丛书中部分图书荣获51cto读书频道“*受读者喜爱的原创it技术图书奖”,还有多种图书的中文繁体字版权输出到了中国台湾地区出版发行。丛书中的多个品种被国内几十所培训机构和大中专院校选为教材。丛书的出版还得到了国内linux领域*知名的技术社区chinaunix的大力支持。读者在chinaunix社区的论坛上与社区中的linux爱好者进行了广泛的交流,取得了良好的学习效果。2014年2月“linux典藏大系“全新升级版(第2版)正式出版,第2版图书迎合了linux技术的*新发展,全部采用当前*流行和稳定的linux发行版或者相关工具,是linux爱好者学习linux的好帮手。 

  《linux典藏大系:arm嵌入式linux系统开发详解(第2版)》是获得了大量读者好评的“linux典藏大系”中的《arm嵌入式linux系统开发详解》的第2版。《linux典藏大系:arm嵌入式linux系统开发详解(第2版)》由浅入深,全面、系统地介绍了基于arm体系结构的嵌入式linux系统开发所涉及的方方面面技术,并提供了大量实例供读者实战演练。另外,《linux典藏大系:arm嵌入式linux系统开发详解(第2版)》提供了9小时多媒体教学视频及书中涉及的实例源程序,便于读者高效、直观地学习。

  《linux典藏大系:arm嵌入式linux系统开发详解(第2版)》共分4篇。第1篇介绍了嵌入式系统入门、嵌入式软硬件系统、arm处理器、嵌入式linux、软件开发环境建立和**个linux应用程序;第2篇介绍了linux应用程序编程基础、开发多进程/线程程序、网络通信应用、串行口通信编程、嵌入式gui程序开发和软件项目管理;第3篇介绍arm体系结构及开发实例、深入bootloader、解析linux内核、嵌入式linux启动流程、linux文件系统、建立交叉编译工具链、命令系统busybox、linux内核移植,以及内核和应用程序调试技术;第4篇结合5个案例介绍了linux设备驱动、网络设备驱动、flash设备驱动和usb驱动的开发过程,以此提高读者的实战水平。

  《linux典藏大系:arm嵌入式linux系统开发详解(第2版)》适合广大从事嵌入式linux系统开发的人员、对嵌入式linux系统开发有兴趣的爱好者及大中专院校相关专业的学生阅读。

]

内容简介

[

      嵌入式linux开发精品图书全面升级,chinaunix社区鼎力推荐

  由浅入深,全面解析基于arm体系结构的嵌入式linux系统开发

  结合多个实例和5个典型案例,深入剖析嵌入式开发的原理及过程

  赠送40段共9小时语音教学视频,赠送教学ppt

  版本新颖:书中涉及的软件及开发环境都是当前*为流行的版本

  由浅入深:从嵌入式系统的软硬件开始讲解,逐步深入到实际开发

  内容全面:涵盖嵌入式linux系统开发的大部分知识点和典型应用

  注重原理:对每个知识点从概念和基本原理进行了详细而透彻的分析

  重点突出:对bootloader和linux内核的功能和移植进行了详细介绍

  实践性强:结合多个典型实例和5个应用案例,提高读者的开发水平

推荐阅读(请点丛书链接查看)

“linux典藏大系”(丛书畅销10万册,全面、详细、深入、实用,linux爱好者必读经典)

入门很简单丛书(精品畅销丛书,有口皆碑,新手必读)

零点起飞学编程(新手学编程好帮手,编程其实并不难)

web开发典藏大系 (涵盖众多web开发的前言技术,由一线web开发人员打造)

《程序员的数学思维修炼(趣味解读)》(专门为程序员而写的数学书,生动有趣,程序员必读!)

]

作者简介

[

弓雷,从事嵌入式系统软件开发9年。擅长计算机通信技术,对操作系统内核及底层技术有深入研究。技术涉猎广泛,熟悉Intel IXA架构网络处理器、ARM体系结构、MIPS体系结构和TCP/IP网络协议栈等。曾经移植过Linux 2.6内核到嵌入式设备,参与研发了某部队火控武器通信系统、无人驾驶汽车项目通信系统及10GE/POS骨干网流量管理系统等。目前担任嵌入式软件研发工程师和微码软件研发工程师,从事某公司骨干网P2P流量管理设备的研发。

]

目录

第1篇linux嵌入式开发基础篇第1章嵌入式系统入门1.1什么是嵌入式系统1.2嵌入式系统应用领域1.2.1家用电器和电子类产品1.2.2交通工具1.2.3公共电子设施1.3嵌入式系统发展1.3.1嵌入式微控制器1.3.2嵌入式微处理器1.3.3未来嵌入式系统发展的方向1.4典型的嵌入式系统组成1.5小结第2章嵌入式软硬件系统2.1电路基本知识2.1.1什么是模拟电路2.1.2什么是数字电路2.1.3数制转换2.2计算机组成原理2.2.1计算机体系的发展2.2.2中央处理器2.2.3存储系统2.2.4总线系统2.2.5输入输出系统2.3软件基础知识2.3.1什么是软件2.3.2软件开发流程2.3.3常见的软件开发模型2.3.4计算机编程语言2.3.5数据结构2.4操作系统知识2.4.1什么是操作系统2.4.2操作系统的发展历史2.4.3操作系统由什么组成2.4.4几种操作系统的设计思路2.4.5操作系统分类2.5小结第3章arm处理器3.1微处理器和微控制器3.2arm处理器介绍3.2.1arm微处理器的应用领域3.2.2arm的功能特点3.3arm指令集3.3.1算术运算指令3.3.2逻辑运算指令3.3.3分支指令3.3.4数据传送指令3.4arm的结构3.4.1arm体系结构的命名方法3.4.2处理器系列划分3.4.3处理器工作模式3.4.4存储系统3.4.5寻址方式3.5arm的功能选型3.5.1arm的选型原则3.5.2几种常见的arm核处理器选型参考3.6小结第4章嵌入式linux4.1常见的嵌入式操作系统4.1.1vxworks4.1.2windowsce4.1.3palmos4.1.4symbian4.2嵌入式linux操作系统4.2.1什么是linux4.2.2linux与unix的不同——gpl版权协议介绍4.2.3linux发行版4.2.4常见的嵌入式linux系统4.3小结第5章建立软件开发环境5.1独立的linux系统5.1.1安装ubuntulinux5.1.2怎样安装、卸载软件5.1.3怎样配置系统服务5.1.4安装主要的开发工具5.1.5安装其他的开发工具和文档5.2运行在windows上的linux系统5.2.1什么是cygwin5.2.2如何安装cygwin5.2.3安装开发环境5.3linux常用工具5.3.1linuxshell和常用命令5.3.2文本编辑工具vi5.3.3搜索工具find和grep5.3.4ftp工具5.3.5串口工具minicom5.4windows常用工具5.4.1代码编辑管理工具sourceinsight5.4.2串口工具xshell5.5arm集成开发环境ads5.5.1ads集成开发环境介绍5.5.2配置ads调试环境5.5.3建立自己的工程5.6小结第6章**个linux应用程序6.1向世界问好——hello,world!6.1.1用vi编辑源代码文件6.1.2用gcc编译程序6.1.3执行程序6.2程序背后做了什么6.2.1程序执行的过程6.2.2窥视程序执行中的秘密6.2.3动态库的作用6.3程序如何来的——编译的全部过程6.3.1编译源代码6.3.2连接目标文件到指定的库6.4更简单的办法——用makefile管理工程6.4.1什么是makefile6.4.2它是如何工作的6.4.3如何使用makefile6.4.4好的源代码管理习惯6.5小结第2篇linux嵌入式开发应用篇第7章linux应用程序编程基础7.1内存管理和使用7.1.1堆和栈的区别7.1.2内存管理函数malloc()和free()7.1.3实用的内存分配函数calloc()和realloc()7.1.4内存管理编程实例7.2ansic文件管理7.2.1文件指针和流7.2.2存储方式7.2.3标准输入、标准输出和标准错误7.2.4缓冲7.2.5打开、关闭文件7.2.6读写文件7.2.7文件流定位7.2.8ansic文件编程实例7.3posix文件i/o编程7.3.1底层的文件i/o操作7.3.2文件描述符7.3.3创建/打开/关闭文件7.3.4读写文件内容7.3.5文件内容定位7.3.6修改已打开文件的属性7.3.7posix文件编程实例7.4小结第8章开发多进程/线程程序8.1多进程开发8.1.1什么是进程8.1.2进程环境和属性8.1.3创建进程8.1.4等待进程结束8.1.5退出进程8.1.6常用进程间通信的方法8.1.7进程编程实例8.2多线程开发8.2.1线程的概念8.2.2进程和线程对比8.2.3创建线程8.2.4取消线程8.2.5等待线程8.2.6使用pthread库线程操作实例8.3小结第9章网络通信应用9.1网络通信基础9.1.1tcp/ip协议族9.1.2ip协议9.1.3tcp协议9.1.4udp协议9.1.5学习分析协议的方法9.2socket通信基本概念9.2.1创建socket对象9.2.2面向连接的socket通信实现9.2.3面向连接的echo服务编程实例9.2.4无连接的socket通信实现9.2.5无连接的时间服务编程实例9.3socket高级应用9.3.1socket超时处理9.3.2使用select机制处理多连接9.3.3使用poll机制处理多连接9.3.4多线程环境socket编程9.4小结第10章串口通信编程10.1串口介绍10.1.1什么是串口10.1.2串口工作原理10.1.3串口流量控制10.2开发串口应用程序10.2.1操作串口需要用到的头文件10.2.2串口操作方法10.2.3串口属性设置10.2.4与windows串口终端通信10.3串口应用实例——手机短信发送10.3.1pc与手机连接发送短信的物理结构10.3.2at指令介绍10.3.3gsmat指令集10.3.4pdu编码方式10.3.5建立与手机的连接10.3.6使用at指令发送短信10.4小结第11章嵌入式gui程序开发11.1linuxgui介绍11.1.1linuxgui的发展11.1.2常见的嵌入式gui11.2开发图形界面程序11.2.1安装qt开发环境11.2.2建立简单的qt程序11.2.3qt库编程结构11.3深入qt编程11.3.1使用widget11.3.2对话框程序设计11.3.3信号与槽系统11.4移植qtopia到arm开发板11.4.1需要的资源11.4.2准备工作11.4.3编译主机qt工具11.4.4交叉编译qtopia11.5小结第12章软件项目管理12.1源代码管理12.1.1什么是软件的版本12.1.2版本控制的概念12.2版本控制系统subversion12.2.1在linux系统下使用subversion服务端12.2.2在windows系统下使用tortoisesvn客户端12.3开发文档管理——常见的开发文档12.3.1可行性研究报告12.3.2项目开发计划12.3.3软件需求说明书12.3.4概要设计12.3.5详细设计12.3.6用户手册12.3.7其他文档12.4使用trac管理软件开发文档12.4.1安装trac12.4.2配置trac基本设置12.4.3配置trac全局脚本12.4.4设置trac的web界面12.5bug跟踪系统12.5.1bug管理的概念和作用12.5.2使用bugzilla跟踪bug12.6小结第3篇linux系统篇第13章arm体系结构及开发实例13.1arm体系结构介绍13.1.1arm体系结构13.1.2arm指令集介绍13.2编程模型13.2.1数据类型13.2.2处理器模式13.2.3寄存器13.2.4通用寄存器13.2.5程序状态寄存器13.2.6异常处理13.2.7内存和内存i/o映射13.3内存管理单元13.3.1内存管理介绍13.3.2内存访问顺序13.3.3地址翻译过程13.3.4访问权限13.4常见接口和控制器13.4.1gpio接口13.4.2中断控制器13.4.3rtc控制器13.4.4看门狗定时器13.4.5试验:使用gpio点亮led13.5小结第14章深入bootloader14.1初识bootloader14.1.1pc(个人电脑)上的bootloader14.1.2什么是嵌入式系统的bootloader14.1.3嵌入式系统常见的bootloader14.2u-boot分析14.2.1获取u-boot14.2.2u-boot工程结构分析14.2.3u-boot总体工作流程14.3u-boot启动流程分析14.3.1_start标号14.3.2reset标号14.3.3cpu_init_crit标号14.3.4lowlevel_init标号14.3.5relocate标号14.3.6start_armboot()函数14.3.7main_loop()函数14.4移植u-boot到开发板14.4.1u-boot移植的一般步骤14.4.2移植u-boot到目标开发板14.4.3移植u-boot的常见问题14.5小结第15章解析linux内核15.1基本知识15.1.1什么是linux内核15.1.2linux内核版本15.1.3如何获取linux内核代码15.1.4编译内核15.2linux内核的子系统15.2.1系统调用接口15.2.2进程管理子系统15.2.3内存管理子系统15.2.4虚拟文件系统15.2.5网络堆栈15.2.6设备驱动15.2.7依赖体系结构的代码15.3linux内核代码的工程结构15.3.1源代码目录布局15.3.2几个重要的linux内核文件15.4内核编译系统15.4.1内核编译系统基本架构15.4.2内核顶层makefile分析15.4.3内核编译文件分析15.4.4目标文件清除机制15.4.5编译辅助程序15.4.6kbuild变量15.5小结第16章嵌入式linux启动流程16.1linux内核初始化流程16.2pc的初始化流程16.2.1pcbios功能和作用16.2.2硬盘的数据结构16.2.3完整的初始化流程16.3嵌入式系统的初始化16.4linux内核初始化16.4.1解压缩内核映像16.4.2进入内核代码16.5启动init内核进程16.6根文件系统初始化16.6.1根文件系统介绍16.6.2挂载虚拟文件系统16.7内核交出权限16.8init进程16.9初始化ramdisk16.9.1ramdisk介绍16.9.2如何使用ramdisk16.9.3实例:使用ramdisk作为根文件系统16.10小结第17章linux文件系统17.1linux文件管理17.1.1文件和目录的概念17.1.2文件的结构17.1.3文件的类型17.1.4文件系统的目录结构17.1.5文件和目录的存取权限17.1.6文件系统管理17.2linux文件系统原理17.2.1非日志文件系统17.2.2日志文件系统17.3常见的linux文件系统17.3.1ext2文件系统17.3.2ext3文件系统17.3.3reiserfs文件系统17.3.4jffs文件系统17.3.5cramfs文件系统17.4其他文件系统17.4.1网络文件系统17.4.2/proc影子文件系统17.5小结第18章建立交叉编译工具链18.1什么是交叉编译18.2需要哪些东西18.3手工创建工具链18.3.1准备工作——获取源代码18.3.2开始了——建立工作环境18.3.3建立linux内核头文件18.3.4编译安装binutils18.3.5编译安装gcc的c编译器18.3.6编译安装glibc库18.3.7编译安装gcc的c、c++编译器18.3.8*后的工作18.4使用脚本创建工具链18.5更简便的方法——获取已编译好的交叉编译环境18.6小结第19章强大的命令系统busybox19.1busybox简介19.1.1简单易懂的busybox19.1.2busybox工作原理19.1.3安装busybox19.2交叉编译busybox19.3使用busybox19.3.1busybox初始化19.3.2目标板busybox安装19.4小结第20章linux内核移植20.1linux内核移植要点20.2平台相关代码结构20.3建立目标平台工程框架20.3.1加入编译菜单项

封面

ARM嵌入式Linux系统开发详解-(第2版)

书名:ARM嵌入式Linux系统开发详解-(第2版)

作者:弓雷

页数:466

定价:¥69.0

出版社:清华大学出版社

出版日期:2014-02-01

ISBN:9787302340522

PDF电子书大小:107MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注