新書推薦:

《
清华大学藏战国竹简校释(伍):《筮法》诸篇
》
售價:HK$
107.8

《
我们都会变有钱:投资的道与术
》
售價:HK$
63.8

《
人体使用指南:没有什么比身体更重要
》
售價:HK$
92.0

《
黄土馆事件
》
售價:HK$
80.2

《
“一国两制”下香港维护国家安全的实践(16开本繁体字版)
》
售價:HK$
18.9

《
2025年《咬文嚼字》合订本(平)
》
售價:HK$
93.2

《
土地:对所有权的渴求如何塑造现代世界
》
售價:HK$
80.2

《
维特根斯坦论美学、伦理学、心理学与人类学
》
售價:HK$
68.4
|
| 內容簡介: |
|
本书基于Linux2.6内核,以S3C2410A为例详细介绍了Linux在ARM上的移植过程和驱动程序设计的理论知识,并在此基础上由浅入深地讲解了Linux驱动程序的设计步骤及调试方法。全书共分11章,主要内容包括嵌入式系统开发概述,创建嵌入式系统开发环境,嵌入式文件系统分析与设计,BootLoader分析与设计,Linux系统的移植,Linux设备驱动程序,串口驱动程序,基于ZLG7290的键盘和数码管驱动设计,LCD驱动程序分析与设计,USB设备驱动程序分析与设计,网络设备驱动程序分析与设计等。本书既可作为高等院校相关专业的教材,也可作为嵌入式系统开发与应用技术人员和Linux设备驱动开发人员的参考书。
|
| 關於作者: |
|
廉文娟,山东科技大学信息科学与工程学院副教授,讲授网络操作系统、ARM嵌入式Linux系统等课程。多次获奖。
|
| 目錄:
|
目录 前言 第1章嵌入式系统概述1 1.1嵌入式系统的概念1 1.1.1嵌入式系统的定义1 1.1.2嵌入式系统的特点2 1.1.3嵌入式系统的发展趋势3 1.2嵌入式系统的分类4 1.3嵌入式系统的组成结构6 1.4嵌入式处理器简介9 1.5ARM处理器11 1.5.1ARM系列处理器概述11 1.5.2ARM处理器的寄存器文件18 1.5.3ARM处理器的异常与中断22 1.5.4ARM处理器的指令系统25 1.5.5S3C2410A的性能35 1.6嵌入式操作系统39 1.6.1嵌入式操作系统的发展阶段39 1.6.2嵌入式实时操作系统39 1.6.3嵌入式操作系统选型40 1.6.4典型嵌入式操作系统41 本章小结44 第2章创建嵌入式系统开发环境45 2.1Linux常用命令45 2.1.1命令基础45 2.1.2文件操作命令47 2.1.3目录操作命令50 2.1.4文件与目录权限操作51 2.1.5Linux用户和组操作的常用 命令51 2.1.6文件压缩与打包命令54 2.1.7进程操作的相关命令56 2.1.8网络命令57 2.2交叉编译环境的预备知识59 2.2.1GCC编译器59 2.2.2Glibc库和GDB调试工具62 2.2.3make命令和makefile文件68 2.2.4Binutils工具包72 2.3搭建交叉编译环境74 2.3.1交叉编译简介74 2.3.2搭建S3C2410A交叉编译 环境75 2.3.3程序执行方式76 本章小结79 第3章嵌入式文件系统分析与 设计80 3.1Linux文件系统类型80 3.2Linux根文件系统83 3.3Linux系统的引导过程85 3.4嵌入式文件系统88 3.4.1嵌入式文件系统的特点和种类88 3.4.2常见的嵌入式文件系统90 3.4.3内存技术设备92 3.4.4RAMDisk技术93 3.4.5网络文件系统97 3.5Busybox102 本章小结106 第4章BootLoader分析与设计107 4.1嵌入式系统的引导代码107 4.1.1初识BootLoader107 4.1.2BootLoader的启动流程109 4.2常用的嵌入式Linux BootLoader113 4.2.1U Boot113 4.2.2VIVI114 4.2.3Blob115 4.2.4RedBoot115 4.2.5其他BootLoader116 4.3U Boot分析与移植116 4.3.1U Boot源代码结构116 4.3.2U Boot源代码编译118 4.3.3U Boot移植步骤123 4.3.4U Boot启动流程分析124 4.4U Boot使用130 4.4.1U Boot的常用命令130 4.4.2U Boot的环境变量137 本章小结139 第5章Linux系统的移植140 5.1Linux内核配置140 5.1.1Linux内核源代码结构140 5.1.2Linux内核配置系统141 5.2Linux内核编译148 5.2.1Kbuild编译工具148 5.2.2Linux内核编译命令及编译 过程156 5.2.3Linux内核编译结果161 5.3Linux内核移植162 5.3.1Linux内核移植方法162 5.3.2Linux内核移植过程163 5.4Linux内核启动过程分析173 5.4.1Linux内核启动流程173 5.4.2Linux内核启动源代码分析173 本章小结186 第6章Linux设备驱动程序187 6.1设备驱动基础187 6.1.1设备驱动的概念187 6.1.2设备类型与数据交换方式189 6.1.3内核空间和用户空间194 6.2设备驱动开发195 6.2.1Linux设备驱动程序框架195 6.2.2设备驱动中的关键数据结构198 6.2.3设备驱动中的基本函数202 6.2.4字符设备驱动开发举例205 本章小结207 第7章串口驱动程序208 7.1串口概述208 7.2S3C2410A串口控制器210 7.2.1S3C2410A串口控制器原理211 7.2.2S3C2410A串口控制器相关 寄存器213 7.3嵌入式Linux串口驱动程序设计216 7.3.1串口驱动程序框架216 7.3.2串口驱动程序的注册218 7.3.3ops中的串口操作函数220 7.3.4串口驱动中与控制台有关的 函数224 7.4串口应用程序设计226 7.4.1串口终端函数226 7.4.2串口通信应用228 本章小结232 第8章基于ZLG7290的键盘和数码管 驱动设计233 8.1ZLG7290介绍233 8.1.1ZLG7290功能描述233 8.1.2ZLG7290工作原理234 8.1.3ZLG7290内部寄存器235 8.1.4控制命令详解236 8.2IIC总线238 8.2.1IIC总线概述238 8.2.2IIC总线标准239 8.3ZLG7290硬件电路设计243 8.4S3C2410A中与IIC相关的I/O端口和 寄存器244 8.4.1S3C2410A的IIC总线接口244 8.4.2各种模式下的操作流程图246 8.4.3IIC总线特殊寄存器246 8.5Linux的IIC驱动程序分析与设计251 8.5.1IIC总线驱动的关键数据结构251 8.5.2S3C2410A总线IIC设备驱动 实现253 8.5.3ZLG7290的IIC驱动安装与 测试255 本章小结259 第9章LCD驱动程序分析与 设计260 9.1LCD260 9.2LCD的显示接口262 9.3嵌入式处理器的LCD控制器270 9.3.1LCD控制器270 9.3.2LCD控制器的设置271 9.3.3LCD的字符显示缓存276 9.4基于framebuffer的LCD驱动程序277 9.4.1framebuffer概述277 9.4.2framebuffer设备驱动程序的 结构277 9.4.3framebuffer设备驱动程序的 设计281 9.5LCD驱动程序在S3C2410A上的 移植289 9.5.1移植步骤289 9.5.2LCD驱动程序分析292 本章小结301 第10章USB设备驱动程序分析与 设计302 10.1USB接口概述302 10.1.1USB系统组成302 10.1.2USB的电气特性302 10.1.3USB总线的拓扑结构303 10.1.4USB的通信协议304 10.2USB设备驱动程序设计305 10.2.1USB设备驱动程序分类305 10.2.2USB驱动的框架程序305 10.2.3设备端USB驱动程序314 10.3USB驱动程序在S3C2410A上的 移植315 本章小结317 第11章网络设备驱动程序分析与 设计318 11.1网络协议318 11.2以太网321 11.2.1以太网的拓扑结构322 11.2.2以太网协议322 11.2.3以太网帧结构323 11.3嵌入式网络接口324 11.4嵌入式Linux网络驱动329 11.4.1Linux网络设备驱动程序的体系 结构330 11.4.2网络驱动程序的基本方法330 11.4.3网络驱动中的主要数据结构333 11.5网络驱动程序的移植及分析335 本章小结339 参考文献340
|
|