嵌入式Linux实战教程

本书特色

[

    本书以信盈达xyd2440开发板为例,从嵌入式linux系统开发**的linux知识点出发,分析并详细讲解u-boot、内核、根文件系统的源码与制作过程,详细介绍linux系统驱动理论,尤其花了大量的精力介绍基于嵌入式linux 26内核下的各类驱动设备,包括led、按键、触摸屏、lcd和网卡等各种外设和芯片驱动程序的开发技术与实操项目详解。此外,还介绍了基于qt的gui系统的移植、产品固化代码及发布的方法。本书从基本的linux系统的操作命令开始,由浅及深地讲解相关内容,使读者循序渐进地掌握嵌入式开发的方法和技巧,*终能够为嵌入式开发板配置、移植、裁剪内核,编写开发驱动程序,以及移植gui系统,从而掌握整个嵌入式linux系统的开发方法。

]

目录

“目录

第1章嵌入式linux开发环境
1.1嵌入式介绍
1.1.1嵌入式系统定义
1.1.2嵌入式操作系统
1.1.3常见的嵌入式操作系统
1.2虚拟机及linux系统安装
1.2.1安装vmware workstation软件
1.2.2在vmware workstation虚拟机安装red hat linux系统
1.3linux常用命令
1.3.1系统询问命令
1.3.2文件操作命令
1.3.3目录操作命令
1.3.4口令、权限命令
1.3.5文件压缩命令
1.3.6网络相关命令
1.3.7其他命令
1.4linux下的编辑工具
1.4.1编辑器分类
1.4.2vim的使用
1.5主机开发环境的配置
1.5.1超级终端配置图解
1.5.2minicom 配置
1.5.3tftp服务
1.5.4nfs服务
1.5.5telnet服务
1.6red hat下通过安装镜像文件使用yum安装软件
1.6.1修改yum配置文件
1.6.2安装卸载软件方法
1.7makefile编写规则
1.7.1makefile简介
1.7.2makefile的基本结构
1.7.3makefile中的变量
1.7.4makefile的隐含规则
1.8交叉编译工具基础知识
1.8.1交叉编译工具链的安装
1.8.2arm-linux-gcc选项
1.8.3arm-linux-ld选项
1.8.4arm-linux-objcopy
1.8.5arm-linux-objdump
1.9小知识
第2章bootloader移植与开发
2.1u-boot的目录结构
2.1.1bootloader简介
2.1.2常用bootloader介绍
2.1.3u-boot 1.3.4目录介绍
2.2u-boot的制作过程
2.3u-boot运行过程
2.3.1程序启动过程
2.3.2u-boot的两个阶段
2.4u-boot源码分析
2.5u-boot应用:主要用于启动内核进行准备工作
2.5.1u-boot的应用
2.5.2bootloader与内核的交互
2.6u-boot的重要数据结构
2.6.1gd全局数据变量指针
2.6.2bd电路板数据指针
2.6.3环境变量指针
2.6.4设备相关设置
2.6.5命令结构体类型定义
第3章linux内核裁剪
3.1嵌入式linux内核启动过程
3.1.1linux版本及特点
3.1.2内核代码初始化分析
3.1.3setup_arch()函数分析
3.1.4rest_init()函数分析
3.1.5挂接根文件系统
3.1.6初始化设备驱动程序
3.2linux内核源码目录介绍
3.3linux内核配置系统分析
3.3.1内核中的 kconfig文件介绍
3.3.2linux内核源码makefile文件分析
3.4针对s3c2440 开发板移植内核的过程
3.5添加驱动程序到内核源码
第4章根文件系统移植与制作
4.1分析linux 文件系统层次标准
4.2根文件系统各目录作用
4.3移植busybox 开源代码、构造根文件系统
4.3.1busybox 的诞生
4.3.2busybox 许可证
4.3.3posix 环境
4.4制作linux根文件系统
4.4.1下载并配置安装busybox
4.4.2完善根文件系统
4.4.3通过 nfs服务测试文件系统
第5章linux驱动介绍
5.1驱动原理
5.2内核模块的主要相关命令
5.3设备分类
5.4设备驱动程序工作原理
5.5应用程序、库、内核、驱动程序的软件关系
5.6linux驱动程序开发步骤
5.7驱动程序的加载和卸载
5.8关键概念
5.8.1不可剥夺型内核(non-preemptive kernel):(分时操作系统内核)
5.8.2可剥夺型内核(preemptive kernel):(实时操作系统内核)
5.8.3可重入函数
5.8.4资源
5.8.5共享资源
5.8.6代码的临界段
5.8.7实时系统的特点
5.8.8死锁
5.8.9linux的进程状态描述
5.8.10linux内核的三种调度方法
5.8.11所有任务都采用linux分时调度策略时
5.8.12所有任务都采用fifo调度策略时
5.8.13所有任务都采用rr调度策略时
5.8.14进程调度依据(系统进程调度原理)
5.8.15描述进程的数据结构task_struct (任务结构体)
5.8.16linux使用内核函数goodness()对进程进行加权处理
5.9中断与异常
5.9.1linux异常处理体系结构概述
5.9.2中断注册方法
5.10并发和竞态
5.10.1并发及其管理
5.10.2信号量和互斥体
5.10.3自旋锁
第6章字符设备驱动开发
6.1主设备号和次设备号
6.2重要数据结构
6.2.1file_operaions结构
6.2.2file结构
6.3字符设备注册方式
6.3.1早期版本的字符设备注册(2.6版本以前)
6.3.2杂项(misc device)设备注册
6.3.3linux 2.6的版本设备注册
6.4打印信息
6.5高级字符驱动程序操作
6.5.1ioctl
6.5.2定位设备(llseek实现)
6.5.3休眠
6.5.4阻塞和非阻塞操作
6.5.5poll和 select
6.5.6与read 和write 的交互
6.5.7刷新待处理输出
6.6异步通知
6.7内核同步机制
6.7.1原子操作
6.7.2信号量(semaphore)
6.7.3自旋锁(spinlock)
第7章led驱动开发与应用编程
7.1linux驱动程序开发概述
7.1.1应用程序、库、内核、驱动程序的关系
7.1.2linux驱动程序的分类
7.2led驱动程序范例
7.2.1led驱动程序(xyd2440_leds.c)
7.2.2led驱动程序的makefile
7.2.3led驱动测试程序(leds_app.c)
7.2.4操作步骤
第8章按键驱动开发与应用编程
8.1按键的硬件原理
8.2按键驱动中的数据结构
8.3按键驱动的模块加载和卸载函数
8.4按键设备驱动中断处理程序
8.5按键设备驱动的打开、释放函数
8.6按键设备驱动读函数
8.7按键驱动程序范例
8.8操作步骤
第9章lcd驱动开发实例分析
9.1framebuffer的原理
9.2framebuffer在linux中的实现和机制
9.3linux内核中的platform机制
9.4s3c2440 lcd驱动分析
9.5s3c2440 lcd驱动移动移植
9.5.1代码修改
9.5.2修改kconfig——添加新屏支持到内核菜单
9.5.3修改内核配置
9.6framebuffer应用例子
9.6.1应用程序源码
9.6.2操作步骤
第10章输入子系统和触摸屏
10.1认识输入子系统
10.1.1为什么需要输入子系统
10.1.2相关api
10.1.3一个简单的按键驱动的例子
10.2触摸屏驱动分析
10.2.1linux内核定时器
10.2.2触摸屏驱动代码分析
10.3触摸屏的校准
10.3.1触摸屏的校准介绍
10.3.2tslib库的编译使用
10.3.3将tslib校准引用到自己的项目中
第11章网络驱动开发与应用编程
11.1tcp/ip 协议概述
11.1.1tcp/ip 协议族
11.1.2tcp 和 udp
11.2tcp/ip网络基础编程
11.2.1socket 概述
11.2.2地址及顺序处理
11.2.3socket 基础编程
11.3dm9000网卡驱动程序移植
11.3.1dm9000网卡特性
11.3.2dm9000网卡与s3c2440硬件连接
11.3.3dm9000与开发板接口定义
11.3.4dm9000驱动移植到s3c2440步骤
11.4dm9000 网卡驱动源码解析
11.4.1两个重要的结构体简单介绍:sk_buff和net_device
11.4.2驱动代码具体分析
11.4.3dm9000_netdev_ops和 dm9000_ethtod_ops
11.4.4平台设备驱动的结构体定义
11.4.5驱动初始化函数
11.4.6probe函数
11.4.7remove函数:设备的删除函数
11.4.8打开、关闭函数和操作函数
第12章基于qt creator环境的qt开发
12.1概要说明
12.2安装步骤
12.3qt creator测试
12.4qt ctreator中配置arm版本交叉编译环境
12.5交叉编译arm版本qt4程序
第13章产品封装、发布
13.1linux内核镜像格式
13.2linux内核镜像的产生过程
13.3嵌入式linux常用文件系统
13.4制作常用的文件系统镜像
13.4.1制作cramfs文件系统和部署
13.4.2制作jffs2文件系统镜像和部署
13.4.3制作yaffs2文件系统镜像和部署
第14章6410平台linux环境搭建
14.1概述
14.2编译器的安装
14.3编译u-boot和内核
14.3.1编译u-boot
14.3.2编译内核
14.4烧写内核到nand flash
14.4.1制作用于一键烧写linux的sd卡
14.4.2烧写linux到开发板的nand flash中
14.5文件程序或文件下载到开发板中
14.5.1通过超级终端下载
14.5.2通过sd卡复制
附录alinux开发平台硬件介绍
a.1s3c2440系列芯片介绍
a.2s3c2440开发板硬件设计说明
a.2.1电源设计
a.2.2复位电路
a.2.3系统时钟电路
a.2.4jtag接口电路
a.2.5gpio电路、指示灯电路、按键电路
a.2.6蜂鸣器电路
a.2.7串口电路
a.2.8a/d和d/a电路
a.2.9外部flash芯片
a.2.10sd卡接口电路
a.2.11sdarm芯片模块
a.2.12nor flash芯片模块
a.2.13nand flash芯片模块
a.2.14usb接口
a.2.15网络模块
a.2.16音频输入与输出电路
a.2.17lcd接口和cmos摄像接口
a.2.18系统总线接口
a.2.19开发板完整原理图
附录bjtag仿真调试器下载程序的过程
附录cj-link仿真调试器的使用
附录dlinux常用命令介绍
参考文献

封面

嵌入式Linux实战教程

书名:嵌入式Linux实战教程

作者:周永福

页数:392

定价:¥59.8

出版社:电子工业出版社

出版日期:2014-06-01

ISBN:9787121229237

PDF电子书大小:91MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注