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