从ARM9到Linux系统设计与开发直通车
从ARM9到Linux系统设计与开发直通车封面图

从ARM9到Linux系统设计与开发直通车

赵健雄, 编著

出版社:电子工业出版社

年代:2014

定价:88.0

书籍简介:

本书由浅入深、全面、系统地介绍了ARM技术与嵌入式Linux的系统设计与开发。全书共18章,讲解了ARM微处理器的片上资源、ARM的指令集、Windows的最常用的嵌入式集成开发环境ADS、上位机嵌入式系统的构建、Boot—Loader的介绍和使用、对Linux内核的移植、嵌入式文件系统移植、Linux的多任务程序开发、设备的驱动开发等内容。书中的每章都提供了大量有针对性的实例,对每个知识点也给出了较详细的解释。

书籍目录:

第1篇 ARM微处理器讲解篇第1章 走进嵌入式系统世界11.1 让我们一起来认识嵌入式系统11.1.1 嵌入式硬件系统的发展进程21.1.2 嵌入式系统的发展趋势31.1.3 嵌入式系统的主要特征41.2 嵌入式处理器的简单概述61.2.1 嵌入式微处理器简介61.2.2 嵌入式微控制器简介71.2.3 数字信号处理器(DSP)简介71.2.4 嵌入式片上系统(SoC)简介81.3 嵌入式软件系统的简单概述91.3.1 嵌入式软件系统简介91.3.2 嵌入式软件开发简介101.4 嵌入式目标平台的介绍111.4.1 嵌入式硬件平台简介111.4.2 如何构建嵌入式系统开发平台121.4.3 如何向嵌入式硬件平台上烧写映像141.5 本章小结17第2章 ARM体系微处理器的基础介绍182.1 ARM体系微处理器简介182.2 ARM体系微处理器的类型182.3 实际项目中对ARM微处理器的选择212.3.1 ARM微处理器应用方案的成熟度考虑212.3.2 ARM内核的选择212.3.3 ARM微处理器的性能考虑222.3.4 ARM微处理器的片内资源考虑222.4 ARM微处理器的工作体系222.4.1 工作模式介绍232.4.2 寄存器体系232.4.3 指令体系242.5 ARM微处理器的基础架构介绍242.5.1 计算机体系结构的介绍252.5.2 ARM微处理器的技术特征262.6 本章小结29第3章 S3C2410的内部结构及外围电路303.1 S3C2410整体资源简介303.1.1 性能介绍303.1.2 资源模块介绍313.1.3 内部结构313.1.4 五大体系结构343.1.5 存储系统343.2 S3C2410内部资源功能介绍383.2.1 时钟与电源管理383.2.2 中断控制器413.2.3 LCD控制器423.2.4 Nand Flash控制器433.2.5 UART控制器443.2.6 DMA控制器443.2.7 TIMER控制器443.2.8 I/O接口453.2.9 RTC控制器463.2.10 触摸控制器463.2.11 IIC控制器473.2.12 IIS控制器473.2.13 看门狗定时器473.2.14 USB控制器473.2.15 SPI接口483.2.16 SD接口483.2.17 ADC控制器493.3 S3C2410微处理器的外围电路设计493.3.1 时钟电路503.3.2 复位电路503.3.3 启动电路513.3.4 电源电路513.3.5 Flash电路523.3.6 SDRAM电路543.3.7 UART电路573.3.8 IrDA电路583.3.9 USB电路583.3.10 以太网电路593.3.11 音频电路613.3.12 SD/MMC电路623.3.13 LCD电路623.4 本章小结63第4章 ARM微处理器的寻址方式及指令集介绍644.1 ARM指令集概述及寻址方式644.1.1 指令结构简介644.1.2 指令分类654.1.3 指令格式与条件域664.1.4 寻址方式674.2 ARM微处理器的指令集介绍734.2.1 跳转指令734.2.2 数据处理指令744.2.3 乘法指令与乘加指令794.2.4 程序状态寄存器访问指令814.2.5 加载/存储指令824.2.6 批量数据加载/存储指令844.2.7 数据交换指令854.2.8 移位指令864.2.9 协处理器指令874.2.10 异常产生指令894.3 本章小结90第5章 ADS集成开发环境的应用基础915.1 ADS1.2集成开发环境简介915.1.1 ADS软件中的ARM运行时库925.1.2 CodeWarrior集成开发环境介绍935.1.3 ADS集成开发软件的调试器介绍945.1.4 ADS集成开发环境中的实用工具945.2 ADS软件的命令行下的开发方式955.2.1 ADS软件中的命令行工具介绍955.2.2 编译器与链接器的使用975.3 ADS软件的图形界面下的开发方式1005.3.1 如何创建ADS工程1005.3.2 工程源代码的编写实现1045.3.3 对工程进行编译和链接操作1065.4 使用AXD调试工具进行代码调试1105.4.1 AXD软件加载可执行文件1105.4.2 AXD软件中运行映像文件1105.4.3 代码调试时添加断点1105.4.4 代码调试时的存储器操作1115.4.5 代码调试时的寄存器操作1115.4.6 代码调试时的变量操作1125.5 本章小结112第6章 基于ADS平台的实验开发1136.1 汇编之LED灯实验1136.2 Hello World之串口实验1156.2.1 S3C2410的UART介绍1156.2.2 UART的数据发送操作1156.2.3 UART的数据接收操作1156.2.4 UART的波特率发生器1166.2.5 UART与PC通信编程实现1166.3 外部中断编程操作1186.3.1 中断响应过程和返回过程1186.3.2 外部中断编程实现1186.4 看门狗测试代码的编写1206.4.1 看门狗的工作原理1206.4.2 S3C2410微处理器的看门狗1216.4.3 S3C2410微处理器的看门狗编程实现1216.5 利用定时器产生PWM编程实验1236.6 S3C2410微处理器的启动代码实验1246.7 S3C2410微处理器的RTC编程实验1346.7.1 RTC的简单介绍1346.7.2 RTC的相关功能1346.7.3 RTC编程实现1356.8 S3C2410微处理器的IIC总线实验1366.8.1 IIC总线实现原理1376.8.2 IIC总线编程实现1376.9 Nor Flash驱动编程实现1406.9.1 SST39VF160的操作原理1416.9.2 SST39VF160编程实现1436.10 Nand Flash驱动编程实现1456.10.1 K9F1208U0M的指令1456.10.2 K9F1208U0M的工作原理1456.10.3 Nand Flash编程实现1466.11 本章小结149第2篇 嵌入式Linux系统讲解篇第7章 嵌入式操作系统的整体介绍1507.1 嵌入式操作系统简介1507.1.1 嵌入式操作系统的发展阶段1507.1.2 嵌入式操作系统的优势1517.1.3 嵌入式操作系统的分类1517.2 常见的嵌入式操作系统1527.2.1 VxWorks嵌入式操作系统1527.2.2 pSOS嵌入式操作系统1537.2.3 Palm OS嵌入式操作系统1537.2.4 QNX嵌入式操作系统1547.2.5 Windows CE嵌入式操作系统1547.2.6 uC/OS-II嵌入式操作系统1557.2.7 Linux嵌入式操作系统1557.3 嵌入式操作系统的结构1577.4 嵌入式操作系统的功能1587.4.1 进程管理功能1587.4.2 内存管理功能1607.4.3 文件管理功能1627.4.4 设备管理功能1637.5 本章小结164第8章 走进Linux操作系统1658.1 Ubuntu操作系统的安装1658.1.1 Ubuntu系统的简介1658.1.2 虚拟机向导的配置1658.1.3 Ubuntu系统的安装1698.2 Ubuntu操作系统的相关操作命令1728.2.1 Ubuntu系统的root用户1728.2.2 Ubuntu系统的常用命令1738.3 本章小结203第9章 Linux系统中构建交叉开发环境2049.1 交叉开发环境简介2049.1.1 交叉开发环境模型2049.1.2 上位机与下位机的连接方式2059.2 交叉开发环境的搭建2079.2.1 Linux系统的网络配置2079.2.2 关于apt-get工具软件的介绍2099.2.3 Minicom的安装与配置2099.2.4 FTP服务的安装、配置与启动2139.2.5 SSH服务的安装、配置与启动2139.2.6 NFS服务的安装、配置与启动2149.2.7 交叉工具链的安装与配置2159.3 Windows系统的实用软件介绍2209.3.1 远程登录Linux系统工具SecureCRT2209.3.2 Windows与Linux之间的文件传输软件CuteFTP2229.3.3 Windows系统的代码阅读/编辑工具SI2239.3.4 Windows系统的TFTP服务器软件TFTP322269.3.5 Windows系统的DNW软件2269.4 Linux系统的实用软件介绍2289.4.1 VI编辑器2289.4.2 gedit编辑器2309.4.3 Eclipse软件的安装2309.4.4 Eclipse CDT开发C程序2329.5 本章小结234第10章 Linux系统的裸机程序开发23510.1 Linux系统的裸机程序开发简介23510.1.1 代码的编译方式23510.1.2 make工程管理器简介23510.2 Linux系统的编译器23610.2.1 gcc与arm-linux-gcc简介23610.2.2 gcc工具的实例操作23710.2.3 gcc工具的编译细节分析24010.2.4 arm-linux-gcc及相关工具的应用24110.3 Makefile工程文件的应用24610.3.1 Makefile文件的简单介绍24610.3.2 如何编写Makefile文件24710.3.3 如何执行Makefile文件25010.4 Linux系统的裸机程序开发示例25110.5 本章小结257第11章 Bootloader的移植25811.1 Bootloader的简单介绍25811.1.1 Bootloader的认识25811.1.2 Bootloader的通信方式25911.1.3 Bootloader的结构介绍25911.1.4 常见的Bootloader26711.2 Vivi进行Linux引导26711.2.1 Vivi的结构介绍26811.2.2 Vivi的工作流程26911.2.3 Vivi的移植操作28011.2.4 Vivi的常用操作命令28411.3 U-Boot源代码分析与移植操作28611.3.1 U-Boot的特性介绍28611.3.2 U-Boot的源代码结构分析28711.3.3 U-Boot的启动过程28811.3.4 U-Boot的移植29511.3.5 U-Boot的编译操作30811.3.6 U-Boot的命令操作31211.4 本章小结315第12章 Linux内核的裁剪与移植31612.1 Linux内核的版本号与内核结构31612.1.1 Linux内核的版本号31612.1.2 Linux内核结构31712.2 Linux2.6内核的特点31812.3 Linux2.6内核的源代码结构31812.3.1 Linux源代码的准备工作31912.3.2 Linux源代码结构的分析31912.3.3 Linux源代码中的Makefile文件32012.4 Linux2.6内核的移植32812.4.1 Linux内核的启动过程32912.4.2 Linux内核启动代码的分析33012.4.3 Linux内核源代码的修改34212.4.4 Linux内核的配置34612.4.5 Linux内核的编译、烧写与启动35712.5 YAFFS文件系统的移植35812.6 本章小结361第13章 Linux内核调试技术的实现36213.1 内核态下的打印函数printk()36213.1.1 printk()函数的简介及使用方法36213.1.2 printk()函数的源代码分析36413.1.3 控制台的相关源代码分析36713.1.4 命令行参数36813.2 利用printk()打印信息调试内核36913.3 利用Linux的/proc文件系统调试内核37113.4 利用Oops消息调试内核37513.4.1 Oops消息的内容37513.4.2 栈回溯信息的直观显示37613.4.3 对Linux内核进行调试37713.4.4 Oops消息中的栈信息分析38013.5 利用KGDB远程调试内核38213.5.1 KGDB的介绍38213.5.2 向内核中增加KGDB调试器38413.5.3 在开发机上利用DDD与GDB调试内核38813.6 本章小结391第14章 Linux系统的文件系统39214.1 Nand/Nor Flash存储设备39214.1.1 Nand Flash存储设备39214.1.2 Nor Flash存储设备39414.1.3 Nand Flash和Nor Flash的区别39414.1.4 MTD技术简介39514.2 Linux系统的文件系统概述及分类39514.2.1 文件系统概述39614.2.2 文件系统分类39614.3 Linux系统的根文件系统40614.3.1 根文件系统的目录结构概述40614.3.2 文件属性分析41114.4 Busybox的移植操作41314.4.1 Busybox的简单概述41314.4.2 内核和Busybox的init进程41314.4.3 Busybox的配置41714.4.4 Busybox的编译与安装42214.5 构建Linux系统的根文件系统42214.5.1 glibc库文件的安装42314.5.2 完善根文件系统的构建42314.5.3 根文件系统其他目录的构建42614.5.4 YAFFS文件系统的制作42614.5.5 JFFS2文件系统的制作43014.6 本章小结431第15章 Linux系统的系统管理43215.1 存储系统管理43215.1.1 进程的虚拟内存空间43215.1.2 虚拟内存空间的映射与地址转换实现43415.1.3 虚拟内存空间的管理方式与Zone区域43515.1.4 分配/回收内存页面与slab分配器43815.1.5 申请/释放虚拟内存43815.2 中断与系统调用43915.2.1 中断与系统调用概述44015.2.2 tasklet机制的介绍44115.2.3 系统调用机制的实现44715.2.4 fork()系统调用介绍44915.3 文件系统管理45115.3.1 文件与目录简单概述45215.3.2 虚拟文件系统45315.3.3 VFS的4个主要数据结构45415.4 设备管理46315.4.1 设备与设备的管理功能46315.4.2 I/O设备管理46415.5 本章小结470第16章 Linux系统的Shell编程实现47116.1 Linux系统的Shell编程规则简介47116.2 Linux系统的Shell编程实现47216.2.1 Shell程序中的变量赋值和引用47216.2.2 Shell程序中的键盘输入实现47416.2.3 使用VI编辑器编写Shell脚本47616.2.4 如何修改脚本文件的访问权限47716.2.5 Shell脚本程序的执行方式47716.3 Shell脚本程序中的参数及函数47816.3.1 位置参数47816.3.2 内部参数47916.3.3 特殊符号48016.3.4 帮助命令48116.4 Shell脚本程序中的表达式48216.4.1 字符串操作符48316.4.2 数字的比较48416.4.3 逻辑操作符48416.4.4 文件操作符48516.5 Shell脚本程序中的循环结构48616.5.1 for循环语句的使用48616.5.2 while循环语句的使用48716.5.3 until循环语句的使用48816.6 Shell脚本程序中的条件结构48816.6.1 if条件语句的使用48816.6.2 case条件语句的使用48916.7 Shell程序中函数与脚本的调用49016.7.1 函数的编写与调用49016.7.2 脚本的调用49116.8 本章小结491第3篇 Linux系统的实验篇第17章 Linux系统的设备驱动开发基础49217.1 Linux系统的驱动程序概述49217.1.1 驱动程序的调用关系49217.1.2 驱动程序的分类及作用49317.1.3 硬件设备的识别与驱动代码的开发流程49417.1.4 硬件设备的控制方式49517.2 Linux系统的硬件设备驱动开发流程及示例49517.2.1 构建一个简单的驱动代码模块49517.2.2 虚拟字符设备驱动的测试49817.2.3 LED驱动开发50417.3 Linux系统的硬件设备驱动开发相关技术51017.3.1 并发控制原理51017.3.2 并发控制的相关函数51017.3.3 并发控制示例51317.3.4 设备驱动程序中的阻塞与非阻塞51617.3.5 设备驱动程序中的poll函数应用52017.3.6 设备驱动程序中的中断处理应用52217.3.7 设备驱动代码中关于内存与I/O操作的应用52417.4 Linux系统的块设备的驱动程序编写52917.4.1 块设备的I/O操作52917.4.2 与块设备相关的结构体及函数53017.4.3 块设备驱动代码编写的相关技术53517.5 本章小结541第18章 Linux系统的硬件设备驱动编写实验54218.1 按键设备的驱动开发54218.2 虚拟块设备的驱动开发55018.3 网口设备的驱动开发56018.4 LCD设备的驱动开发56518.5 SD卡设备的驱动开发56818.6 USB设备的驱动开发57018.7 本章小结572

内容摘要:

1.结构合理,内容全面、系统本书详细介绍了嵌入式ARM处理器及嵌入式Linux操作系统的相关理论知识,为广大读者提供了一个良好的参考平台。在内容安排上,本书根据读者的学习习惯和内容的梯度进行了合理安排,更加适合读者学习。 2.叙述翔实,例程经典本书的例程虽然不是很多,但是每个例子都经过精挑细选,有很强的针对性,对于相应的理论有着全面的实践反映。书中的代码非常简洁和高效,便于读者学习和调试。读者也可以直接重用这些代码来解决自己的问题。 3.语言通俗,图文并茂本书使用了通俗易懂的语言为大家进行详细的描述,即使是初学者也不会有什么困难。同时,书中采用了图文并茂的方式,使内容更加生动。读者还可以亲身实践操作。本书由浅入深、全面、系统地介绍了ARM技术与嵌入式Linux的系统设计与开发。全书共18章,讲解了ARM微处理器的片上资源、ARM的指令集、Windows的最常用的嵌入式集成开发环境ADS、上位机嵌入式系统的构建、Boot-Loader的介绍和使用、对Linux内核的移植、嵌入式文件系统移植、Linux的多任务程序开发、设备的驱动开发等内容。书中的每章都提供了大量有针对性的实例,对每个知识点也给出了较详细的解释。【作者简介】赵健雄,嵌入式设计工程师,活跃于嵌入式开发相关论坛,任技术开发版版主,发表嵌入式开发入门、实例类文章,点击率非常高,赢得了网友的一致好评

书籍规格:

书籍详细信息
书名从ARM9到Linux系统设计与开发直通车站内查询相似图书
丛书名嵌入式开发直通车
9787121238390
如需购买下载《从ARM9到Linux系统设计与开发直通车》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)88.0语种简体中文
尺寸26 × 19装帧平装
页数印数

书籍信息归属:

从ARM9到Linux系统设计与开发直通车是电子工业出版社于2014.8出版的中图分类号为 TP316.89 的主题关于 Linux操作系统-程序设计 的书籍。