嵌入式Linux应用开发完全手册

副标题:无

作   者:韦东山编著

分类号:

ISBN:9787115182623

微信扫一扫,移动浏览光盘

简介

    本书全面介绍了嵌入式Linux系统开发过程中,从底层系统支持到上层   GUI应用的方方面面,内容涵盖Linux操作系统的安装及相关工具的使用、   配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、Makefile   语法、ARM汇编指令等),硬件部件的使用及编程(囊括了常见硬件,比如   UART、I*IC、LCD等),U-Boot、Linux内核的分析、配置和移植,根文件系   统的构造(包括移植busybox、glibc、制作映象文件等),内核调试技术(比   如添加kgdb补丁、栈回溯等),驱动程序编写及移植(LED、按键、扩展串口   、网卡、硬盘、SD卡、LCD和USB等),GUI系统的移植(包含两个GUI系统:   基于Qtopia和基于X),应用程序调试技术。    本书从最简单的点亮一个LED开始,由浅入深地讲解,使读者最终可以   配置、移植、裁剪内核,编写驱动程序,移植GUI系统,掌握整个嵌入式   Linux系统的开发方法。    本书由浅入深,循序渐进,适合刚接触嵌入式Linux的初学者学习,也   可作为大、中专院校嵌入式相关专业本科生、研究生的教材。   

目录

书名页
前言页
目录页
第1篇 嵌入式Linux开发环境构建篇
第1章 嵌入式Linux开发概述
1.1 嵌入式系统介绍
1.1.1 嵌入式系统的定义和特点
1.1.2 嵌入式技术的发展历史
1.2 基于ARM处理器的嵌入式Linux系统
1.2.1 ARM处理器介绍
1.2.2 在嵌入式系统中选择嵌入式Linux的理由
第2章 嵌入式Linux开发环境构建
2.1 硬件环境构建
2.1.1 主机与目标板结合的交叉开发模式
2.1.2 硬件要求
2.2 软件环境构建
2.2.1 主机Linux操作系统的安装
2.2.2 主机Linux操作系统上网络服务的配置与启动
2.2.3 在主机Linux操作系统中安装基本的开发环境
2.2.4 光盘的内容结构及安装
2.2.5 安装交叉编译工具链
2.2.6 书中写作风格的约定
第3章 嵌入式编程基础知识
3.1 交叉编译工具选项说明
3.1.1 arm-linux-gcc选项
3.1.2 arm-linux-ld选项
3.1.3 arm-linux-objcopy选项
3.1.4 arm-linux-objdump选项
3.1.5 汇编代码、机器码和存储器的关系以及数据的表示
3.2 Makefile介绍
3.2.1 Makefile规则
3.2.2 Makefile文件里的赋值方法
3.2.3 Makefile常用函数
3.3 常用ARM汇编指令及ATPCS规则
3.3.1 本书使用的所有汇编指令
3.3.2 ARM-THUMB子程序调用规则ATPCS
第4章 Windows、Linux环境下相关工具、命令的使用
4.1 Windows环境下的工具介绍
4.1.1 代码阅读、编辑工具Source Insight
4.1.2 文件传输工具Cuteftp
4.1.3 远程登录工具SecureCRT
4.1.4 TFTP服务器软件Tftpd32
4.2 Linux环境下的工具、命令介绍
4.2.1 代码阅读、编辑工具KScope
4.2.2 远程登录工具C-kermit
4.2.3 编辑命令vi
4.2.4 查找命令grep、find命令
4.2.5 在线手册查看命令man
4.2.6 其他命令:tar、diff、patch
第2篇 ARM9嵌入式系统基础实例篇
第5章 GPIO接口
5.1 GPIO硬件介绍
5.1.1 通过寄存器来操作GPIO引脚
5.1.2 怎样使用软件来访问硬件
5.2 GPIO操作实例:LED和按键
5.2.1 硬件设计
5.2.2 程序设计及代码详解
5.2.3 实例测试
第6章 存储器控制
6.1 使用存储控制器访问外设的原理
6.1.1 S3C2410/S3C2440的地址空间
6.1.2 存储控制器与外设的关系
6.1.3 存储控制器的寄存器使用方法
6.2 存储控制器操作实例:使用SDRAM
6.2.1 代码详解及程序的复制、跳转过程
6.2.2 实例测试
第7章 内存管理单元MMU
7.1 内存管理单元MMU介绍
7.1.1 S3C2410/S3C2440 MMU特性
7.1.2 S3C2410/S3C2440 MMU地址变换过程
7.1.3 内存的访问权限检查
7.1.4 TLB的作用
7.1.5 Cache的作用
7.1.6 S3C2410/S3C2440 MMU、TLB、Cache的控制指令
7.2 MMU使用实例:地址映射
7.2.1 程序设计
7.2.2 代码详解
7.2.3 实例测试
第8章 NAND Flash控制器
8.1 NAND Flash介绍和NAND Flash控制器使用
8.1.1 Flash介绍
8.1.2 NAND Flash的物理结构
8.1.3 NAND Flash访问方法
8.1.4 S3C2410/S3C2440 NAND Flash控制器介绍
8.2 NAND Flash控制器操作实例:读Flash
8.2.1 读NAND Flash的步骤
8.2.2 代码详解
第9章 中断体系结构
9.1 S3C2410/S3C2440中断体系结构
9.1.1 ARM体系CPU的7种工作模式
9.1.2 S3C2410/S3C2440中断控制器
9.1.3 中断控制器寄存器
9.2 中断控制器操作实例:外部中断
9.2.1 按键中断代码详解
9.2.2 实例测试
第10章 系统时钟和定时器
10.1 时钟体系及各类时钟部件
10.1.1 S3C2410/S3C2440时钟体系
10.1.2 PWM定时器
10.1.3 WATCHDOG定时器
10.2 MPLL和定时器操作实例
10.2.1 程序设计
10.2.2 代码详解
10.2.3 实例测试
第11章 通用异步收发器UART
11.1 UART原理及UART部件使用方法
11.1.1 UART原理说明
11.1.2 S3C2410/S3C2440 UART的特性
11.1.3 S3C2410/S3C2440 UART的使用
11.2 UART操作实例
11.2.1 代码详解
11.2.2 实例测试
第12章 I^2C接口
12.1 I^2C总线协议及硬件介绍
12.1.1 I^2C总线协议
12.1.2 S3C2410/S3C2440 I^2C总线控制器
12.2 I^2C总线操作实例
12.2.1 I^2C接口RTC芯片M41t11的操作方法
12.2.2 程序设计
12.2.3 设置/读取M41t11的源码详解
12.2.4 I2C实例的连接脚本
12.2.5 实例测试
第13章 LCD控制器
13.1 LCD和LCD控制器
13.1.1 LCD显示器
13.1.2 S3C2410/S3C2440 LCD控制器介绍
13.2 TFT LCD显示实例
13.2.1 程序设计
13.2.2 代码详解
13.2.3 实例测试
第14章 ADC和触摸屏接口
14.1 ADC和触摸屏硬件介绍及使用
14.1.1 S3C2410/S3C2440 ADC和触摸屏接口概述
14.1.2 S3C3410/S3C2440 ADC接口的使用方法
14.1.3 触摸屏原理及接口
14.2 ADC和触摸屏操作实例
14.2.1 硬件设计
14.2.2 程序设计
14.2.3 测试ADC的代码详解
14.2.4 测试触摸屏的代码详解
14.2.5 实例测试
第3篇 嵌入式Linux系统移植篇
第15章 移植U-Boot
15.1 Bootloader简介
15.1.1 Bootloader的概念
15.1.2 Bootloader的结构和启动过程
15.1.3 常用Bootloader介绍
15.2 U-Boot分析与移植
15.2.1 U-Boot工程简介
15.2.2 U-Boot源码结构
15.2.3 U-Boot的配置、编译、连接过程
15.2.4 U-Boot的启动过程源码分析
15.2.5 U-Boot的移植
15.2.6 U-Boot的常用命令
15.2.7 使用U-Boot来执行程序
第16章 移植Linux内核
16.1 Linux版本及特点
16.2 Linux移植准备
16.2.1 获取内核源码
16.2.2 内核源码结构及Makefile分析
16.2.3 内核的Kconfig分析
16.2.4 Linux内核配置选项
16.3 Linux内核移植
16.3.1 Linux内核启动过程概述
16.3.2 修改内核以支持S3C2410/S3C2440开发板
16.3.3 修改MTD分区
16.3.4 移植YAFFS文件系统
16.3.5 编译、烧写、启动内核
第17章 构建Linux根文件系统
17.1 Linux文件系统概述
17.1.1 Linux文件系统的特点
17.1.2 Linux根文件系统目录结构
17.1.3 Linux文件属性介绍
17.2 移植Busybox
17.2.1 Busybox概述
17.2.2 init进程介绍及用户程序启动过程
17.2.3 编译/安装Busybox
17.3 使用glibc库
17.3.1 glibc库的组成
17.3.2 安装glibc库
17.4 构建根文件系统
17.4.1 构建etc目录
17.4.2 构建dev目录
17.4.3 构建其他目录
17.4.4 制作/使用yaffs文件系统映象文件
17.4.5 制作/使用jffs2文件系统映象文件
第18章 Linux内核调试技术
18.1 内核打印函数printk
18.1.1 printk的使用
18.1.2 串口控制台
18.2 内核源码级别的调试方法
18.2.1 内核调试工具KGDB的作用与原理
18.2.2 给内核添加KGDB功能支持S3C2410/S3C2440
18.2.3 结合可视化图形前端DDD和gdb来调试内核
18.3 Oops信息及栈回溯
18.3.1 Oops信息来源及格式
18.3.2 配置内核使Oops信息的栈回溯信息更直观
18.3.3 使用Oops信息调试内核的实例
18.3.4 使用Oops的栈信息手工进行栈回溯
第4篇 嵌入式Linux设备驱动开发篇
第19章 字符设备驱动程序
19.1 Linux驱动程序开发概述
19.1.1 应用程序、库、内核、驱动程序的关系
19.1.2 Linux驱动程序的分类和开发步骤
19.1.3 驱动程序的加载和卸载
19.2 字符设备驱动程序开发
19.2.1 字符设备驱动程序中重要的数据结构和函数
19.2.2 LED驱动程序源码分析
第20章 Linux异常处理体系结构
20.1 Linux异常处理体系结构概述
20.1.1 Linux异常处理的层次结构
20.1.2 常见的异常
20.2 Linux中断处理体系结构
20.2.1 中断处理体系结构的初始化
20.2.2 用户注册中断处理函数的过程
20.2.3 中断的处理过程
20.2.4 卸载中断处理函数
20.3 使用中断的驱动程序示例
20.3.1 按键驱动程序源码分析
20.3.2 测试程序情景分析
第21章 扩展串口驱动程序移植
21.1 串口驱动程序框架概述
21.1.1 串口驱动程序术语介绍
21.1.2 串口驱动程序的4层结构
21.2 扩展串口驱动程序移植
21.2.1 串口驱动程序低层代码分析
21.2.2 修改代码以支持扩展串口
21.2.3 测试扩展串口
第22章 网卡驱动程序移植
22.1 CS8900A网卡驱动程序移植
22.1.1 CS8900A网卡特性
22.1.2 CS8900A网卡驱动程序修改
22.2 DM9000网卡驱动程序移植
22.2.1 DM9000网卡特性
22.2.2 DM9000网卡驱动程序修改
第23章 IDE接口和SD卡驱动程序移植
23.1 IDE接口驱动程序移植
23.1.1 IDE接口相关概念介绍
23.1.2 IDE接口驱动程序移植
23.1.3 IDE接口驱动程序测试
23.2 SD卡驱动程序移植
23.2.1 SD卡相关概念介绍
23.2.2 SD卡驱动程序移植
23.2.3 SD卡驱动程序测试
23.2.4 磁盘分区表
第24章 LCD和USB驱动程序移植
24.1 LCD驱动程序移植
24.1.1 LCD和USB键盘驱动程序框架
24.1.2 S3C2410/S3C2440 LCD控制器驱动程序移植
24.2 USB驱动程序移植
24.2.1 USB驱动程序概述
24.2.2 配置内核支持USB键盘、USB鼠标和USB硬盘
24.2.3 USB设备的使用
第5篇 嵌入式Linux系统应用开发篇
第25章 嵌入式GUI开发
25.1 嵌入式GUI介绍
25.1.1 Linux桌面GUI系统的发展
25.1.2 嵌入式Linux中的几种GUI
25.2 Qtopia移植
25.2.1 主机开发环境的搭建
25.2.2 交叉编译、安装Qtopia 2.2.0
25.2.3 开发自己的Qt GUI程序
25.2.4 在主机上使用模拟软件开发、调试嵌入式Qt GUI程序
第26章 基于X的GUI开发
26.1 X Window概述
26.1.1 X协议介绍
26.1.2 窗口管理器(Window manager)
26.1.3 桌面环境(Desktop environment)
26.2 交叉编译工具包Scratchbox
26.2.1 Scratchbox介绍
26.2.2 安装Scratchbox及编译工具
26.2.3 在Scratchbox里安装交叉编译工具链
26.2.4 安装其他开发工具
26.3 移植X
26.3.1 编译软件的基本知识
26.3.2 编译X的依赖软件
26.3.3 编译Xorg
26.4 移植Matchbox
26.4.1 下载源代码
26.4.2 编译Matchbox
26.4.3 运行、试验Matchbox
26.5 移植GTK+
26.5.1 GTK+介绍
26.5.2 GTK+移植
26.6 移植基于GTK+/X的GUI程序
26.6.1 xterm移植
26.6.2 gtkboard移植
26.6.3 裁剪文件系统
第27章 Linux应用程序调试技术
27.1 使用strace工具跟踪系统调用和信号
27.1.1 strace介绍及移植
27.1.2 使用strace来调试程序
27.2 内存调试工具
27.2.1 使用memwatch进行内存调试
27.2.2 其他内存工具介绍:mtrace、dmalloc、yamd
27.3 段错误的调试方法
27.3.1 使用库函数backtrace和backtrace_symbols定位段错误
27.3.2 段错误调试实例
参考文献

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

嵌入式Linux应用开发完全手册
    • 名称
    • 类型
    • 大小

    联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,可直接在线浏览

    loading icon