嵌入式Linux实践教程

嵌入式Linux实践教程
作 者: 罗怡桂
出版社: 清华大学出版社
丛编项: 21世纪高等学校嵌入式系统专业规划教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: LINUX
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《嵌入式Linux实践教程》作者简介

内容简介

《普通高等教育“十一五”国家级规划教材:嵌入式Linux实践教程》按“理论联系实践、分阶段循序渐进”的思想将内容分成了5个部分,共11章。第1部分是入门部分,分为2章,主要讲嵌入式系统、嵌入式Linux的发展、简单的实践。第2部分是开发环境的建立,分3章,主要讲U-Boot的建立、交叉编译工具的建立、调试环境的建立。第3部分是内核的定制,这一部分主要包括进程调度与内存管理2章,其目的为:一是学习Linux的内核技术,了解内核中的结构、函数,为后一部分嵌入式Linux驱动、应用程序的优化打基础;二是学习嵌入式Linux内核的定制技术,为今后高端嵌入式Linux设计与应用作准备。第4部分是嵌入式Linux驱动程序的开发,包括驱动的基本技术、USB驱动的开发与CAN总线驱动的开发。第5部分以宇嵌千里眼中的应用程序为例讲嵌入式Linux应用程序的开发。在这5个部分中融合了嵌入式Linux的系统技术。本书的实践配套同济大学嵌入式系统创新实验平台及其操作手册,读者可以边做边学。

图书目录

第1部分 嵌入式linux入门

 第1章 嵌入式linux简介

  1.1嵌入式系统

   1.1.1什么是嵌入式系统

   1.1.2嵌入式系统的需求特点

  1.2嵌入式linux

   1.2.1linux与嵌入式linux

   1.2.2嵌入式linux的现状

  小结

  实践作业1

  推荐阅读1

 第2章 嵌入式linux系统的开发过程及简单实践

  2.1嵌入式linux的开发环境

  2.2嵌入式linux系统的开发过程

  2.3嵌入式教学创新实验平台简介

  2.4实践1

  2.5实践2

   2.5.1内核编译与下载

   2.5.2根文件系统的制作与下载

  小结

  实践作业2

  推荐阅读2

第2部分 开发环境的建立

 第3章 交叉编译环境的建立

   3.1什么是交叉编译环境

   3.2gcc交叉编译工具链

   3.3重建交叉编译器

   3.3.1建立工作目录

   3.3.2建立环境变量

   3.3.3安装linux的头文件

   3.3.4编译安装binutils

   3.3.5编译安装gcc的c编译器

   3.3.6编译安装库glibc

   3.3.7编译安装gcc的c、c++编译器

   3.3.8测试交叉编译工具链

  小结

  实践作业3

  推荐阅读3

 第4章 u-boot

  4.1u-boot项目简介

  4.2u-boot结构

  4.3u-boot的版本选择

  4.4编译u-boot

  4.5修改内存配置

  4.6配置flash

  4.7驱动e28f128

  4.8驱动dm9000

  4.9增加命令与应用

  4.10从u-boot到linux

   4.10.1u-boot向内核传递参数

   4.10.2启动内核

  小结

  实践作业4

  推荐阅读4

 第5章 调试工具

  5.1gdb+gdb server

  5.2二进制文件辅助工具

   5.3mtrace

   5.4hooks

   5.5硬件仿真器

  小结

  实践作业5

  推荐阅读5

第3部分 内核定制

 第6章 进程调度

  6.1嵌入式linux进程调度概述

  6.2进程的描述

  6.3linux 2.4内核的调度算法

  6.4linux 2.4应用程序中对进程调度的控制

  6.5从linux 2.4调度算法到linux 2.6调度算法

  6.6linux 2.6调度算法分析

   6.6.1静态优先级

   6.6.2动态优先级

   6.6.3时间片的计算

   6.6.4休眠进程与唤醒进程

   6.6.5调度的时机

   6.6.6linux 2.6内核中cpu的负载平衡

   6.6.7调度策略

   6.6.8内核算法的调优

  6.7从linux 2.6调度算法到嵌入式linux调度

   6.7.1关键性混杂实时任务集调度算法

   6.7.2最大利用便携设备后备电池的实时任务调度算法

   6.7.3基于gui的交互式嵌入式系统的调度

  小结

  实践作业6

  推荐阅读6

 第7章 内存管理

  7.1linux内存管理概述

  7.2物理内存管理

  7.3内核内存管理

  7.4虚拟内存管理器

  7.5内核虚拟内存管理器

  7.6从linux内存管理到嵌入式linux内存管理

   7.6.1调度协助请页预取

   7.6.2主动交换延迟回写

   7.6.3改进buddy系统

  小结

  实践作业7

  推荐阅读7

第4部分 驱动开发

 第8章 驱动开发

  8.1基础知识

   8.1.1文件与设备

   8.1.2虚拟文件系统

   8.1.3设备驱动的加载

  8.2框架驱动开发

  8.3中断使用

   8.3.1linux内核的中断处理机制

   8.3.2中断的申请

  8.4内存使用

   8.4.1分配slab小块内存

   8.4.2分配物理页

   8.4.3内核虚拟地址空间分配

   8.4.4bootmem

   8.4.5虚拟内存区(vma)与内存映射

  8.5io及io映射

  8.6时间与时延使用

   8.6.1时钟的类型

   8.6.2延迟的使用

   8.6.3内核定时器

  小结

  实践作业8

  推荐阅读8

 第9章 usb驱动开发

  9.1usb概述

  9.2usb总线互连结构

  9.3usb的电气接口

  9.4usb数据流模型

  9.5usb设备通信模流

  9.6usb驱动框架

  9.7urb的使用

  9.8控制消息的传输

  9.9批量数据传输

  9.10同步数据传输

  9.11中断数据传输

  9.12嵌入式系统usb设备驱动的实现方案设计

   9.12.1传输方式的确定

   9.12.2建模

   9.12.3数据流分析

   9.12.4控制流分析

   9.12.5内存使用分析

   9.12.6调试方案

   9.12.7实现技术

   9.12.8模块划分

   9.12.9实现

  小结

  实践作业9

  推荐阅读9

 第10章 can总线驱动开发

  10.1can总线标准概述

  10.2can总线特点

  10.3can总线的数据格式

  10.4一种can总线系统的实现方法

  10.5mcp2510器件功能介绍

  10.6can总线驱动程序的方案设计

   10.6.1can总线驱动程序的体系结构

   10.6.2can总线驱动程序建模

  10.7can总线的linux驱动程序的实现

   10.7.1s3c2410寄存器地址映射

   10.7.2can总线驱动的入口和出口

   10.7.3设置spi接口

   10.7.4mcp2510的初始化

   10.7.5mcp2510发送数据和接收数据

   10.7.6中断函数

   10.7.7读写函数

  10.8can总线驱动测试程序

  小结

  实践作业10

  推荐阅读10

第5部分 应用程序的开发

 第11章 宇嵌千里眼主控程序开发

  11.1嵌入式应用程序的需求特点

  11.2宇嵌千里眼应用开发的要求

  11.3宇嵌千里眼主控程序开发实践

   11.3.1建模

   11.3.2控制流分析

   11.3.3数据流分析

   11.3.4内存使用分析

   11.3.5实时性分析

   11.3.6进一步确定实现技术

   11.3.7模块划分

   11.3.8再看实现技术

   11.3.9程序实现

  小结

  实践作业11

  推荐阅读11

附录a一种新型petri net:双层变迁定时petri net

附录b双层变迁定时petri net抽象化