文件名称:
嵌入式linux系统开发技术详解.pdf
开发工具:
文件大小: 9mb
下载次数: 0
上传时间: 2010-03-11
详细说明: 对于想学习ARM和嵌入式Linux系统的还是挺有帮助的 目录如下: 第1章 概述 1 1.1 嵌入式系统 1 1.2 嵌入式操作系统 2 1.3 嵌入式Linux历史 4 1.4 嵌入式Linux开发环境 5 1.5 嵌入式Linux系统开发要点 7 第2章 ARM处理器 8 2.1 ARM处理器简介 8 2.1.1 ARM公司简介 9 2.1.2 ARM处理器体系结构 10 2.1.3 Linux与ARM处理器 12 2.2 ARM指令集 13 2.2.1 ARM微处理器的指令集概述 13 2.2.2 ARM指令寻址方式 15 2.2.3 Thumb指令概述 17 2.3 典型ARM处理器简介 17 2.3.1 Atmel AT91RM9200 17 2.3.2 Samsung S3C2410 18 2.3.3 TI OMAP1510/1610系列 19 2.3.4 Freescale i.Max21 22 2.3.5 Intel Xscale PXA系列 23 2.4 三星S3C2410开发板 24 2.4.1 三星S3C2410开发板介绍 24 2.4.2 众多的开发板供应商 26 第3章 Linux编程环境 28 3.1 Linux常用 工具 28 3.1.1 Shell简介 28 3.1.2 常用Shell命令 30 3.1.3 编写Shell脚本 38 3.1.4 正则表达式 42 3.1.5 程序编辑器 44 3.2 Makefile 48 3.2.1 GNU make 48 3.2.2 Makefile规则语法 49 3.2.3 Makefile文件中变量的使用 51 3.3 二进制代码工具的使用 52 3.3.1 GNU Binutils工具介绍 52 3.3.2 Binutils工具软件使用 54 3.4 编译器GCC的使用 54 3.4.1 GCC编译器介绍 54 3.4.2 GCC编译选项解析 56 3.5 调试器GDB的使用技巧 60 3.5.1 GDB调试器介绍 60 3.5.2 GDB调试命令 61 3.6 Linux编程库 66 3.6.1 Linux编程库介绍 66 3.6.2 Linux系统调用 67 3.6.3 Linux线程库 70 第4章 交叉开发环境 73 4.1 交叉开发环境介绍 73 4.1.1 交叉开发概念模型 73 4.1.2 目标板与主机之间的连接 75 4.1.3 文件传输 76 4.1.4 网络文件系统 77 4.2 安装交叉编译工具 78 4.2.1 获取交叉开发工具链 78 4.2.2 主机安装工具链 79 4.3 主机开发环境配置 80 4.3.1 主机环境配置 80 4.3.2 串口控制台工具 81 4.3.3 DHCP服务 84 4.3.4 TFTP服务 85 4.3.5 NFS服务 86 4.4 启动目标板 88 4.4.1 系统引导过程 88 4.4.2 内核解压启动 89 4.4.3 挂接根文件系统 90 4.5 应用程序的远程交叉调试 91 4.5.1 交叉调试的模型 91 4.5.2 交叉调试程序实例 92 第5章 交叉开发工具链 94 5.1 工具链软件 94 5.1.1 相关软件工程 94 5.1.2 软件版本的匹配 95 5.1.3 工具链制作流程 97 5.2 制作交叉编译器 98 5.2.1 准备编译环境 98 5.2.2 编译binutils 99 5.2.3 编译GCC的辅助编译器 100 5.2.4 编译生成glibc库 101 5.2.5 编译生成完整的GCC编译器 105 5.3 制作交叉调试器 106 5.3.1 编译交叉调试器 106 5.3.2 编译gdbserver 106 第6章 Bootloader 108 6.1 Bootloader 108 6.1.1 Bootloader介绍 108 6.1.2 Bootloader的启动 109 6.1.3 Bootloader的种类 111 6.2 U-Boot编程 113 6.2.1 U-Boot工程简介 113 6.2.2 U-Boot源码结构 113 6.2.3 U-Boot的编译 114 6.2.4 U-Boot的移植 117 6.2.5 添加U-Boot命令 118 6.3 U-Boot的调试 121 6.3.1 硬件调试器 121 6.3.2 软件跟踪 121 6.3.3 U-Boot启动过程 123 6.3.4 U-Boot与内核的关系 128 6.4 使用U-Boot 133 6.4.1 烧写U-Boot到Flash 134 6.4.2 U-Boot的常用命令 134 6.4.3 U-Boot的环境变量 141 第7章 配置编译内核 143 7.1 Linux内核特点 143 7.1.1 Linux内核版本介绍 143 7.1.2 Linux内核特点 143 7.1.3 Linux 2.6内核新特性 144 7.2 配置编译内核源码 147 7.2.1 内核源码结构 148 7.2.2 内核配置系统 150 7.2.3 Kbuild Makefile 157 7.2.4 内核编译 169 7.2.5 内核编译结果 179 7.3 内核配置选项 180 7.3.1 使用配置菜单 180 7.3.2 基本配置选项 181 7.3.3 驱动程序配置选项 183 第8章 内核移植浅析 185 8.1 移植内核源码 185 8.1.1 移植前的准备工作 185 8.1.2 开发板内核移植 186 8.1.3 移植后的工作 194 8.2 Linux内核启动过程分析 194 8.2.1 内核启动流程源代码分析 194 8.2.2 内核自引导程序 195 8.2.3 内核vmlinux入口 199 8.2.4 Linux系统初始化 201 8.2.5 挂接根文件系统 206 8.2.6 初始化设备驱动 208 8.2.7 启动用户空间init进程 209 第9章 内核调试技术 212 9.1 内核调试方法 212 9.1.1 内核调试概述 212 9.1.2 学会分析内核源程序 213 9.1.3 调试方法介绍 213 9.2 内核打印函数 216 9.2.1 内核映像解压前的串口输出函数 216 9.2.2 内核错误报告子程序 218 9.2.3 内核打印函数 220 9.3 获取内核信息 227 9.3.1 系统请求键 227 9.3.2 通过/proc接口 228 9.3.3 通过/sys接口 229 9.3.4 通过ioctl方法 232 9.4 处理出错信息 233 9.4.1 oops信息 233 9.4.2 panic 234 9.5 内核源码调试 236 9.5.1 KGDB调试内核源代码 236 9.5.2 BDI2000调试内核源代码 237 第10章 制作Linux根文件系统 242 10.1 根文件系统目录结构 242 10.1.1 FHS目录结构 243 10.1.2 文件存放规则 246 10.2 添加系统文件 247 10.2.1 添加共享链接库 247 10.2.2 添加内核模块 249 10.2.3 添加设备文件 251 10.3 init系统初始化过程 253 10.3.1 inittab文件 253 10.3.2 System V init启动过程 256 10.3.3 Busybox init启动过程分析 258 10.4 定制文件系统 260 10.4.1 定制应用程序 260 10.4.2 配置应用程序自动启动 260 第11章 充分利用开源软件 262 11.1 开放源代码工程介绍 262 11.1.1 Linux系统和开源软件 263 11.1.2 开源软件的特点 264 11.2 Busybox使用 265 11.2.1 Busybox工程介绍 265 11.2.2 配置编译Busybox 265 11.3 X11图形系统 270 11.3.1 X Windows介绍 270 11.3.2 Tiny-X介绍 270 11.3.3 GTK图形库 271 11.4 Qt图形库 277 11.4.1 Qt介绍 277 11.4.2 Qt/Embedded介绍 278 11.4.3 Qt/Embedded架构 280 11.4.4 Qt/Embedded软件包与安装 281 11.5 MiniGUI图形系统 283 11.5.1 MiniGUI图形系统概述 283 11.5.2 MiniGUI移植 285 11.6 MicroWindows图形系统 290 11.7 Linux下的网络应用 292 11.7.1 嵌入式设备的网络化 292 11.7.2 TCP/IP协议概述 292 11.7.3 Linux下的Socket编程 294 11.8 嵌入式Linux的串行通信 304 11.8.1 Linux下的串口操作 304 11.8.2 Linux串口编程实例 309 第12章 系统集成测试 314 12.1 系统集成测试 314 12.1.1 系统集成测试概述 314 12.1.2 系统集成测试要求 315 12.2 系统跟踪工具 315 12.2.1 为什么需要跟踪工具 315 12.2.2 Strace 316 12.2.3 Ltrace 316 12.2.4 LTT 317 12.3 系统性能测量工具 321 12.3.1 代码效率测量 321 12.3.2 LTP 324 12.3.3 LMbench 325 12.4 测量内存泄漏 326 12.4.1 mtrace 326 12.4.2 dmalloc 327 12.4.3 memwatch 328 12.4.4 YAMD 330 第13章 部署Linux系统 333 13.1 部署Linux系统概述 333 13.1.1 部署Linux系统的基本流程 333 13.1.2 部署Linux系统的关键问题 334 13.2 文件系统类型 335 13.2.1 EXT2/EXT3 335 13.2.2 JFS 337 13.2.3 cramfs 339 13.2.4 JFFS/JFFS2 340 13.2.5 YAFFS 341 13.3 存储设备 343 13.3.1 MTD类型设备 343 13.3.2 磁盘类型设备 344 13.4 部署Linux系统 346 13.4.1 安装MTD工具 346 13.4.2 使用磁盘文件系统 347 13.4.3 使用RAMDISK设备 348 13.4.4 使用MTD设备和JFFS2文件系统 349 13.4.5 系统启动和升级 351 第14章 系统设计开发实例 352 14.1 需求分析 352 14.2 系统硬件设计 354 14.3 系统软件设计 364 14.4 系统集成与部署 366 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.