您好,欢迎光临本网站![请登录][注册会员]  
文件名称: linux+系统开发技术详解--基于ARM
  所属分类: Linux
  开发工具:
  文件大小: 10mb
  下载次数: 0
  上传时间: 2012-08-05
  提 供 者: pilihuo1********
 详细说明: 基于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 ║2 嵌入式 系统开发技术详解——基于ARM 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 第1章 目录 3║ 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 ║4 嵌入式 系统开发技术详解——基于ARM 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 第1章 目录 5║ 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 ║6 嵌入式 系统开发技术详解——基于ARM 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 第1章 目录 7║ 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最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: LINUX 系统开发 arm
 输入关键字,在本站1000多万海量源码库中尽情搜索: