编辑推荐
《ARM嵌入式Linux系统开发丛书·ARM嵌入式Linux应用开发入门》内容包括:
Linux开发工具
ARM处理器和ADS开发套件
嵌入式交叉编译工具链
Linux编程基础
BootLoader移植
IJnux内核移植
构建嵌入式根文件系统
嵌入式Linux驱动入门
嵌入式Linux的CUI编程基础
内容简介
《ARM嵌入式Linux系统开发丛书·ARM嵌入式Linux应用开发入门》是《ARM嵌入式Linux系统开发丛书》之一。《ARM嵌入式Linux系统开发丛书·ARM嵌入式Linux应用开发入门》针对嵌入式Linux发的特点,结合工程开发实践,使读者能够边学边用,从而快速地掌握相关的知识要点。全书共分为10章,首先介绍了嵌入式系统开发的基础知识,包括Linux开发工具、ARM处理器和ADS开发套件等。然后重点讲解了嵌入式交叉编译工具链、Linux编程基础、BootLoader移植、IJnux内核移植、构建嵌入式根文件系统和嵌入式Linux驱动入门,以及嵌入式Linux的CUI编程基础。
《ARM嵌入式Linux系统开发丛书·ARM嵌入式Linux应用开发入门》可作为相关工程技术人员的嵌入式培训教材及参考用书,也可作为高等院校自动化类、电子类、电气类、计算机类等专业本科生、研究生学习嵌入式Linux开发的辅助教材。
目录
前言
第1章 嵌入式系统概述及Linux开发工具
1.1 嵌入式系统简介
1.1.1 什么是嵌入式系统
1.1.2 嵌入式系统基本结构
1.1.3 嵌入式系统特点
1.2 嵌入式软件的发展
1.3 嵌入式系统软件开发流程
1.4 使用Linux开发工具
1.4.1 vi编辑器
1.4.2 GCC编译器
1.4.3 gdb调试器
1.4.4 编写makefile
1.5 小结
第2章 ARM硬件平台及ADS开发工具
2.1 ARM处理器简介
2.2 ARM9处理器
2.2.1 ARM9处理器的特点
2.2.2 ARM9处理器的工作模式
2.2.3 ARM处理器状态
2.3 LJD-2410DVK-I开发板
2.3.1 硬件资源
2.3.2 软件资源
2.4 ADS开发工具
2.4.1 命令行开发工具
2.4.2 Code Warrior开发环境初步
2.4.3 AXD调试器
2.5 小结
第3章 构建嵌入式交叉编译工具链
3.1 什么是交叉编译环境
3.2 构建交叉编译工具链的方法
3.3 用Crosstool构建交叉编译工具链
3.3.1 Crosstool简介
3.3.2 下载软件包
3.3.3 配置脚本文件
3.3.4 生成交叉编译工具链
3.3.5 测试生成的编译工具
3.4 分步构建嵌入式交叉编译工具链
3.4.1 创建目录
3.4.2 建立环境变量
3.4.3 编译binutils
3.4.4 配置内核头文件
3.4.5 编译GCC(阶段1)
3.4.6 安装glibc
3.4.7 编译GCC(阶段2)
3.4.8 测试交叉编译工具链
3.5 小结
第4章 嵌入式系统Linux编程基础
4.1 文件I/O编程
4.1.1 文件描述符
4.1.2 open函数
4.1.3 close函数
4.1.4 lseek函数
4.1.5 read函数
4.1.6 writc函数
4.1.7 dup和dup2函数
4.1.8 fcntl函数
4.2 进程控制开发
4.2.1 fork和vfork函数
4.2.2 exit函数和_exit函数
4.2.3 wait和waitpid函数
4.2.4 竞态条件
4.2.5 exec函数
4.3 进程间通信
4.3.1 管道pipe
4.3.2 有名管道FIFO
4.3.3 消息队列
4.3.4 信号量(semaphore)
4.3.5 共享内存
4.4 Linux网络编程
4.4.1 TCP/IP协议简介
4.4.2 常用网络编程函数
4.4.3 套接口使用实例
4.5 小结
第5章 u-boot代码分析及移植
5.1 BootLoader简介
5.1.1 BootLoader分类
5.1.2 BootLoader操作模式
5.1.3 BootLoader工作流程
5.2 u-boot代码分析
5.2.1 u-boot主要目录结构
5.2.2 u-boot代码分析
5.3 移植u-boot
5.3.1 获取源码
5.3.2 创建交叉编译环境
5.3.3 和移植相关的文件夹
5.3.4 移植步骤
5.3.5 修改相关文件
5.4 烧写BootLoader到开发板
5.5 小结
第6章 嵌入式UnHX内核移植
6.1 NAND Flash分区
6.2 配置内核
6.2.1 修改makefile文件
6.2.2 添加devfs配置
6.2.3 配置内核选项
6.3 内核编译
6.3.1 编译zlmage
6.3.2 编译和安装模块
6.3.3 如何处理编译出错
6.4 下载内核到开发板
6.5 小结
第7章 构建根文件系统
7.1 根文件系统概述
7.1.1 什么是根文件系统
7.1.2 根文件系统的基本目录结构
7.2 定制根文件系统
7.2.1 创建空的目录树
7.2.2 移植BusyBox
7.2.3 选择必要的动态共享库
7.2.4 初始化脚本
7.2.5 模块和设备文件
7.3 选择合适的Flash文件系统
7.3.1 嵌入式Linux文件系统
7.3.2 存储设备NOR/NAND Flash
7.3.3 基于Flash的文件系统类型
7.4 建立Cramfs根文件系统映像
7.4.1 Cramfs工具包的使用
7.4.2 构建Cramfs根文件系统
7.5 小结
第8章 嵌入式Linux驱动开发入门
8.1 Linux驱动程序概述
8.2 Linux驱动设计基础知识
8.2.1 内核模块
8.2.2 设备驱动基本类型
8.2.3 主、次设备号
8.2.4 字符设备相关的数据结构
8.3 Helloworld模块实例
8.3.1 源代码及分析
8.3.2 编写makefile
8.3.3 测试Helloworld模块
8.4 字符设备驱动实例
8.4.1 源代码及分析
8.4.2 测试代码及分析
8.4.3 编译和测试
8.5 小结
第9章 嵌入式Linux系统GUI编程入门
9.1 嵌入式Linux下GUI系统概述
9.1.1 传统的Linux桌面GUI系统
9.1.2 嵌入式Linux下的GUI系统
9.2 Qtopia Core编程基础及移植
9.2.1 Qt/X11、Qt/Embedded和Qtopia Core
9.2.2 Qtopia Core的安装
9.2.3 Frame Buffer和qvfb
9.2.4 编写简单的Qtopia Core程序
9.2.5 移植Qtopia Core到开发板
9.2.6 Qt的特性简介
9.3 MiniGt玨编程基础及移植
9.3.1 MiniGUI的下载与授权问题
9.3.2 安装MiniGUI
9.3.3 编写及编译运行MiniGUI程序
9.3.4 移植MiniGUI到开发板
9.4 小结
参考文献
精彩书摘
第1章 嵌入式系统概述及Linux开发工具
1.1 嵌入式系统简介
本节主要针对嵌入式系统的定义、嵌入式系统的结构以及嵌入式系统的特点进行介绍。首先来介绍嵌入式系统的定义。
1.1.1 什么是嵌入式系统
嵌入式系统被定义为:以应用为中心,以计算机技术为基础,软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是为特定目的而构建的一套类计算机设备。该设备的主要特点是适应非常严格的特殊要求,如体积、功耗、可靠性等,而且嵌入式系统是以应用为中心的系统,应用决定了其软件、硬件的组成,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机、数字电视、多媒体、汽车、微波炉、数码相机、智能家居系统、电梯、空调、安全系统、自动售货机、工业自动化仪表与医疗仪器等。嵌入式设备在民用品和军事装备上得到了广泛应用。
1.1.2 嵌入式系统基本结构
嵌入式系统作为一类比较特殊的计算机系统,白下向上包含有4个部分,如图所示。
(1)硬件平台是整个嵌入式操作系统和应用程序运行的硬件平台,不同的应用通常有不同的硬件环境。硬件平台的多样性是嵌入式系统的一个主要特点。
(2)硬件抽象层,也叫板级支持包,是一个介于硬件与软件之间的中间层次。硬件抽象层通过特定的上层接口与操作系统进行交互,向下与硬件进行交互。
(3)嵌入式操作系统具有实时性、可靠性、强壮性、容错性、可裁剪可扩展性、可移植性、基于强占式调度策略的微内核系统,是为了简化不同平台的程序开发、移植、功能集中、精炼地对有限的资源进行充分利用与管理的操作系统。
前言/序言
ARM嵌入式Linux应用开发入门 下载 mobi epub pdf txt 电子书 格式