嵌入式Linux系统开发基础

嵌入式Linux系统开发基础【嵌入式Linux系统开发基础】《嵌入式Linux系统开发基础》是2013年清华大学出版社出版的图书,作者是王大永、葛超、张景春 。
基本介绍书名:嵌入式Linux系统开发基础
作者:王大永、葛超、张景春
ISBN:9787302330240
定价:46元
出版社:清华大学出版社
出版时间:2013-7-5
装帧:平装
图书简介嵌入式系统是计算机软体与硬体的完美结合,广泛地套用于手持设备、通信家电、仪器仪表、汽车电子、医疗仪器、工业控制、航天航空等各个领域,并嵌入各类设备中,起着核心作用 。嵌入式系统开发,无疑是当前最有前途、最为热门、最需人才的技术领域 。本书共分为13章,对嵌入式系统的基本结构、指令系统以及嵌入式系统移植、设备驱动程式等作了比较全面的介绍 。其中包括嵌入式ARM系列处理器、存储器、定时器及外围设备的介绍,嵌入式开发编译工具的使用,设备驱动程式的编写,嵌入式作业系统的移植及图形界面的开发 。通过阅读本书可以使读者掌握开发嵌入式Linux系统的基本知识及套用技巧 。对于嵌入式处理器指令系统,本书给出了详细的介绍,希望该部分能作为编写ARM彙编程式的开发人员的参考资料,提高开发人员的工作效率 。本书可供嵌入式系统、通信工程、信息技术、系统集成等专业的本科生作为教材使用,也可以作为嵌入式系统开发人员的参考用书 。目录第1章嵌入式系统概述 11.1嵌入式系统简介 11.1.1嵌入式系统的定义 11.1.2嵌入式系统的硬体/软体特徵 31.1.3嵌入式作业系统 41.1.4学习嵌入式系统的意义 61.2嵌入式系统硬体 71.2.1嵌入式处理器 71.2.2嵌入式微处理器 81.2.3嵌入式微控制器 91.2.4嵌入式DSP处理器 91.2.5嵌入式片上系统 101.2.6嵌入式处理器的选择 101.3存储器 111.3.1存储器的分类 111.3.2存储器的层次结构 131.3.3随机存储器RAM 141.3.4只读存储器ROM 171.4输入/输出设备 191.4.1液晶显示 191.4.2触控萤幕 211.4.3语音输入/输出技术 231.4.4键盘 251.5电源转换与管理 261.5.1电源IC的分类 261.5.2电源IC的特点 271.5.3电源IC选用指南 281.6接口技术 291.6.1并口 291.6.2串口 301.6.3USB 311.6.4蓝牙 321.7汇流排 331.7.1ISA 331.7.2PCI 341.7.3I2C 351.7.4SPI 371.7.5PC-104 381.7.6CAN 391.8课后练习 41第2章嵌入式处理器介绍 432.1ARM微处理器概述 432.1.1ARM微处理器套用领域及特点 432.1.2ARM微处理器系列 442.1.3ARM微处理器体系结构 502.1.4ARM微处理器的套用选型 572.1.5ARM微处理器存储体系结构 582.1.6ARM微处理器的工作状态 602.1.7ARM微处理器运行模式 612.1.8ARM微处理器的存储格式 622.1.9ARM状态下的暂存器结构 632.1.10ARM异常中断 662.2ARM微处理器指令系统 702.2.1ARM指令的一般格式 702.2.2ARM指令的定址方式 732.2.3ARM存储器访问指令 782.2.4跳转指令 822.2.5数据处理指令 842.2.6程式状态暂存器(PSR)传输指令 902.2.7协处理器指令 912.2.8ARM杂项指令 932.2.9ARM伪指令 962.3Thumb指令集 982.4课后练习 99第3章嵌入式系统设计方法 1013.1嵌入式系统设计概述 1013.1.1嵌入式系统的总体结构 1013.1.2嵌入式系统的设计内容 1033.1.3嵌入式系统的设计特点 1043.1.4嵌入式系统设计方法的分类 1053.2嵌入式系统设计流程 1073.3ARM920T简介 1113.4S3C2410X开发板 1123.4.1S3C2410处理器的特点 1143.4.2ARM片上汇流排 1183.4.3S3C2410的处理器中断 1193.4.4S3C2410处理器片上资源的定义和使用 1263.4.5编程参考软体包2410TEST 1293.5课后练习 133第4章BootLoader 1354.1BootLoader概述 1354.1.1BootLoader的基本概念 1364.1.2BootLoader所支持的CPU和嵌入式体系结构 1374.1.3BootLoader的安装介质 1384.1.4BootLoader的概念扩展 1384.1.5ARMBootLoader的共性 1384.1.6BootLoader移植的必要性 1404.1.7BootLoader的烧录和存储 1404.1.8BootLoader与主机之间进行档案传输所用的通信设备及协定 1404.1.9BootLoader的通用执行流程 1404.2常用的嵌入式LinuxBootLoader 1414.2.1U-Boot 1414.2.2VIVI 1424.2.3BLOB 1434.2.4RedBoot 1434.2.5ARMBoot 1434.2.6DIY 1434.3U-Boot基础 1444.3.1U-Boot原始码的目录结构 144 4.3.2U-Boot支持的主要功能 1464.3.3U-Boot的命令介绍及环境变数 1464.4U-Boot的启动过程 1474.5U-Boot的编译过程 1514.6U-Boot移植的关键技术 1544.7课后练习 155第5章嵌入式系统交叉编译 1565.1交叉编译环境简介 1565.1.1交叉编译概念模型 1565.1.2目标板与宿主机之间的连线 1575.1.3档案传输方式 1595.1.4网路档案系统 1605.2交叉编译工具 1605.2.1gcc编译器 1605.2.2Binutils工具包 1625.2.3GNUmake 1625.2.4glibc库 1645.2.5gdb调试工具 1655.2.6交叉编译环境的建立 1665.3主机开发环境配置 1705.3.1配置主机服务 1705.3.2串口控制台工具 1725.3.3配置DHCP服务 1755.3.4配置TFTP服务 1775.3.5配置NFS服务 1795.4课后练习 181第6章嵌入式Linux的软体开发环境 1826.1交叉编译环境 1826.1.1安装交叉编译环境 1826.1.2添加设备驱动和核心模组 1836.2执行档 1836.2.1COFF档案格式 1836.2.2ELF档案格式 1836.2.3FLAT档案格式 1846.3调试技术 1846.3.1基于主机的调试 1866.3.2远程调试器与调试核心 1876.3.3线上仿真ICE 1886.3.4BDM 1886.3.5软体仿真器 1896.3.6记忆体调试 1906.3.7MEMWATCH 1906.3.8YAMD 1916.4程式调试 1936.4.1gdb 1936.4.2kgdb 1946.4.3Oops 1966.5ROM仿真器 1976.6JTAG接口 1986.7系统引导和核心启动 1996.7.1BootLoader程式的设计与实现 1996.7.2硬体平台的通信 2006.7.3硬体平台初始化程式 2006.7.4硬体平台监控程式 2006.8?CLinux移植 2016.8.1第一阶段 2016.8.2第二阶段 2026.9课后练习 203第7章设备驱动程式 2057.1概述 2057.1.1设备类型 2067.1.2设备号 2067.1.3模组化编程 2077.2设备驱动基础 2127.2.1设备驱动程式的结构 2147.2.2设备驱动程式的接口 2157.3设备档案接口 2167.3.1用户访问接口 2167.3.2open入口点 2167.3.3close入口点 217 7.3.4read入口点 2177.3.5write入口点 2177.3.6ioctl入口点 2187.4档案操作 2187.4.1file_operations结构 2187.4.2file结构 2197.5I/O操作 2207.5.1阻塞型I/O 2217.5.2select 2217.5.3异步触发 2227.6中断处理 2237.6.1注册中断处理程式 2237.6.2返回值 2237.6.3参数 2237.6.4实现中断处理程式 2257.7实例:简单设备驱动程式 2267.7.1按键 2267.7.2触控萤幕 2287.8课后练习 236第8章FlashROM存储器实例 2388.1S3C44B0存储器控制器 2388.1.1概述 2388.1.2功能描述 2388.1.3特殊暂存器 2438.2FlashRom原理分析 2498.2.1Flash器件介绍 2498.2.2Flash读写操作 2508.2.3SST39VF160晶片介绍 2518.2.4SST39VF1601晶片操作 2528.3实例过程 2568.3.1电路连线 2568.3.2硬体和暂存器设定 2578.3.3程式的编写 2578.3.4调试与运行结果 2608.4课后练习 261第9章定时器中断实例 2629.1S3C44B0中断机制分析 2629.1.1中断控制器 2629.1.2中断源与中断模式 2649.1.3中断优先权 2669.1.4其他特殊暂存器 2689.2PWM定时器 2719.2.1定时器结构概述 2719.2.2定时器操作 2729.2.3死区产生器 2749.2.4DMA请求模式 2759.2.5特殊暂存器 2769.3实例过程 2799.3.1暂存器设定 2799.3.2程式的编写 2809.3.3调试与运行结果 2819.4课后练习 281第10章?C/OS-Ⅱ移植与套用实例 28310.1?C/OS-Ⅱ实时作业系统 28310.1.1实时作业系统概念 28310.1.2?C/OS-Ⅱ的档案结构 28410.1.3?C/OS-Ⅱ的任务与中断 28410.1.4?C/OS-Ⅱ中的任务函式 28610.2?C/OS-Ⅱ的移植 29310.2.1移植条件和内容分析 29310.2.2OS_CPU.H 29510.2.3OS_CPU_A.ASM 29710.2.4OS_CPU_C.C 30110.3实例过程 30210.3.1配置OS_CFG.H档案 302 10.3.2任务函式的编写 30210.3.3调试与运行结果 30510.4课后练习 305第11章mCLinux移植实例 30711.1Linux作业系统 30711.1.1Linux介绍 30711.1.2Linux核心 31111.2mCLinux作业系统 31611.2.1mCLinux介绍 31611.2.2mCLinux档案结构 31911.3实例过程 31911.3.1暂存器配置和档案修改 31911.3.2编译过程 32111.3.3下载与运行结果 32211.4课后练习 325第12章Linux下网路通信实例 32712.1网路协定介绍 32712.1.1乙太网协定 32712.1.2ARP协定 32812.1.3ICMP协定 33012.1.4UDP协定 33012.1.5TCP协定 33212.1.6FTP、HTTP等套用层协定 33412.2Linux网路协定层 33612.2.1网路层次总体结构 33612.2.2网路设备驱动程式分析 34012.3实例过程 34212.3.1CS800A驱动的编写 34212.3.2TCP编程实例 34912.3.3UDP编程实现 35112.4课后练习 353第13章图形用户界面实例 35513.1概述 35513.1.1GUI简介 35513.1.2GUI特徵 35613.1.3GUI架构 35713.2嵌入式LinuxGUI简介 35813.2.1MicroWindows 35813.2.2OpenGUI 35913.2.3Qt/Embedded 35913.2.4MiniGUI 36013.3Qt/Embedded图形开发实例 36113.3.1Qt/Embedded介绍与安装 36113.3.2Qt/Embedded信号和插槽机制 36613.3.3Qt/Embedded实现技术分析 36913.3.4Qt/Embedded图形引擎实现基础 37013.3.5Qt/Embedded事件驱动的基础 37113.3.6Qt/Embedded应用程式的开发流程 37113.3.7Qt/Embedded的移植与套用 37213.3.8Qt/Embedded视窗实例 37413.4课后练习 378附录各章课后练习参考答案 379