分享
嵌入式Linux系统设计实践教程.pdf
下载文档

ID:2361846

大小:7.78MB

页数:228页

格式:PDF

时间:2023-05-08

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
嵌入式 Linux 系统 设计 实践 教程
普通高等教育“十三五”规划教材 电子设计系列规划教材 嵌入式 Linux 系统设计实践教程 曾 毓 吴占雄 编 著 高明煜 主 审 内 容 简 介 本书是面向嵌入式 Linux 学习和产品开发的入门实践教程,介绍了嵌入式 Linux 应用开发多方面的内容。全书共分 13 章,主要内容包括应用基础、文件和 I/O 操作、简单外设应用、串口和线程、进程、网络编程、Qt 编程、Web 服务器和 SQLite 数据库应用等。本书为提高读者的综合动手能力和设计创新能力而编写,内容由浅入深、结构合理、图文并茂,可操作性强,非常适合准备向嵌入式 Linux 方向发展的高校学生学习使用。书中部分章节的硬件实践内容使用了友善之臂的 Mini2451 开发板,附录有该开发板的简单介绍,读者也可以使用与 Mini2451 相似的 Mini2440 或其他 ARM 开发板进行实践操作。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 嵌入式 Linux 系统设计实践教程/曾毓,吴占雄编著北京:电子工业出版社,2017.8 ISBN 978-7-121-32325-6.嵌.曾 吴.Linux 操作系统高等学校教材.TP316.85 中国版本图书馆 CIP 数据核字(2017)第 181789 号 策划编辑:王羽佳 责任编辑:裴 杰 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871092 1/16 印张:14.25 字数:365 千字 版 次:2017 年 8 月第 1 版 印 次:2017 年 8 月第 1 次印刷 定 价:39.00 元 凡所购买电子工业出版社的图书,如有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)88254535,。前 言 嵌入式系统是为特定应用而设计的专用计算机系统,已经广泛应用于智能手机、数码产品、工业控制、通信和信息系统、军事、航空航天、医疗电子等领域,整个社会对嵌入式系统的开发和应用人才的需求也不断加大。嵌入式 Linux 是以 Linux 为基础的嵌入式操作系统,因为其具有代码开源、性能优异、资源众多等优点,在嵌入式领域广为使用。为了进一步加强嵌入式 Linux 的实践教学工作,适应高等学校正在开展的课程体系与教学内容的改革,及时反映嵌入式系统教学的研究成果,积极探索适应 21 世纪人才培养的教学模式,编者编写了本书。本书具有如下特色。(1)入门简单,本书内容安排深浅适宜,实践操作讲解详细,大部分内容只要求有基本的计算机基础知识和程序设计基础即可开始上手。(2)内容涵盖范围广,本书实践内容围绕嵌入式 Linux 开发的应用编程展开,内容涵盖Linux 操作系统介绍、安装和基本使用,嵌入式 Linux 开发平台,Bootloader 移植,驱动应用以及嵌入式 Linux 的应用开发,通过简单经典的实践操作引导读者走进嵌入式的大门。(3)硬件实践的目标平台为广州友善之臂计算机科技有限公司的 Mini2451 开发板,Mini2451 是国内广为使用且资源众多的 Mini2440 开发板继承者,性价比高,极大地降低了嵌入式技术的自学入门费用。(4)本书注重将嵌入式 Linux 技术的最新发展适当地引入到教学中,保证了教学内容的先进性。此外,本书源于高校嵌入式课程的实践教学,凝聚了工作在第一线的任课教师多年的教学经验与教学成果。全书共 13 章。本书从先进性和实用性出发,较全面地介绍了嵌入式 Linux 技术相关的系统使用与环境搭建、Bootloader、驱动和应用开发等实践操作,主要内容如下:第 1 章讲述嵌入式 Linux 环境的搭建,通过虚拟机软件的操作和交叉编译环境的建立,使得学生加深对理论知识的理解并掌握基本应用;第 2 章讲述 Linux 环境入门,通过 Linux 常用命令及编辑器、编译器和调试器的练习使用,增加学生对 Linux 系统使用的熟练度;第 3 章讲述嵌入式 C 程序设计基础;第 4 章讲述 Bootloader 配置与修改,通过移植 Bootloader 的实践操作,使得学生加深对嵌入式系统启动过程的理解;第 5 章讲述 Linux 文件系统及程序设计;第 6 章讲述驱动设计及应用,通过简单的驱动设计实践加深对系统内核及驱动程序结构的理解,通过几个外设应用理解设备文件的操作过程;第 713 章讲述了串口通信,线程、进程管理及进程间通信,网络通信,Qt,SQLite 数据库和 Web 服务器等内容,通过相应的实践操作内容使得学生逐步掌握嵌入式 Linux 应用开发的相关技术。本书可作为高等学校非计算机专业嵌入式相关课程的基础实践教材,也可供相关工程技术人员学习、参考。教学中,教师可以根据教学对象和学时等具体情况对书中的内容进行删减和组合,也可以进行适当扩展,参考学时为 1632 学时。为适应教学模式、教学方法和手段的改革,本书配有多媒体电子教案及相应的网络教学资源,请登录华信教育资源网(http:/)下载。本书第 13 章、第 711 章由曾毓编写,第 46、12、13 章由吴占雄编写。全书由曾毓统稿。杭州电子科技大学的高明煜教授在百忙之中对全书进行了审阅。在编写本书的过程中,电子工业出版社的王羽佳编辑为本书的出版做了大量工作,在此一并表示感谢!本书两位作者为杭州电子科技大学教师,长期从事嵌入式系统相关实践课程的教学工作。编写本书时参考了大量近年来出版的相关技术资料,吸取了许多专家和同仁的宝贵经验,在此向他们表示谢意。由于嵌入式技术发展迅速,编者学识有限,加之时间仓促,书中错漏之处在所难免,望广大读者批评指正。编 者 V 目 录 第 1 章 嵌入式 Linux 环境搭建.1 1.1 背景知识.1 1.1.1 嵌入式 Linux 系统.1 1.1.2 嵌入式 Linux 开发环境.1 1.2 预习准备.2 1.2.1 预习要求.2 1.2.2 实践目标.2 1.2.3 准备材料.2 1.3 实践内容和步骤.3 1.3.1 安装虚拟机软件及 创建虚拟机.3 1.3.2 安装虚拟机工具.10 1.3.3 设置共享文件夹.13 1.3.4 建立交叉编译环境.15 1.3.5 常用软件安装.17 1.4 实践练习.20 第 2 章 Linux 环境入门.21 2.1 背景知识.21 2.1.1 Linux Shell.21 2.1.2 Linux 命令.21 2.1.3 VI 编辑器.22 2.1.4 GCC 编译器和 GDB 调试器.23 2.2 预习准备.24 2.2.1 预习要求.24 2.2.2 实践目标.25 2.2.3 准备材料.25 2.3 实践内容和步骤.25 2.3.1 Linux 常用命令练习.25 2.3.2 VI 编辑器练习.31 2.3.3 GCC 编译和 GDB 调试.32 2.4 实践练习.33 第 3 章 嵌入式 C 程序设计基础.34 3.1 背景知识.34 3.1.1 基本数据类型.34 3.1.2 变量与常量.35 3.1.3 运算符与表达式.36 3.1.4 程序结构.38 3.1.5 数组、结构体和指针.41 3.1.6 函数.42 3.1.7 系统调用及 API.43 3.2 预习准备.43 3.2.1 预习要求.43 3.2.2 实践目标.44 3.2.3 准备材料.44 3.3 实践内容和步骤.44 3.3.1 Code:Blocks 使用.44 3.3.2 目标板程序下载调试.50 3.4 实践练习.56 第 4 章 Bootloader 配置与修改.57 4.1 背景知识.57 4.1.1 U-Boot.58 4.1.2 U-Boot 源代码结构.59 4.1.3 U-Boot 启动流程.59 4.1.4 U-Boot 常用命令.61 4.2 实践准备.61 4.2.1 预习要求.61 4.2.2 实践目标.61 4.2.3 准备材料.62 4.3 实践内容和步骤.62 4.3.1 U-Boot 移植步骤.62 4.3.2 测试并运行 U-Boot.65 4.4 实践练习.67 VI第 5 章 Linux 文件系统及程序设计.68 5.1 背景知识.68 5.1.1 基本概念.69 5.1.2 文件系统调用 API 接口.72 5.1.3 标准 I/O.75 5.2 实践准备.77 5.2.1 预习要求.77 5.2.2 实践目标.77 5.3 实践内容和步骤.77 5.3.1 Linux 文件属性示例.77 5.3.2 Linux 目录操作示例.80 5.4 实践练习.83 第 6 章 驱动设计及应用.84 6.1 背景知识.84 6.1.1 设备驱动程序.84 6.1.2 处理器与设备间 数据交换方式.85 6.1.3 驱动程序结构.86 6.1.4 file_operations 与 file 结构体.87 6.1.5 设备注册和初始化.88 6.1.6 中断管理.89 6.1.7 设备驱动开发所用到的 几类重要函数.89 6.1.8 设备驱动程序的开发过程.91 6.1.9 驱动程序(内核模块)编译进内核.91 6.2 实践准备.92 6.2.1 预习要求.92 6.2.2 实践目的.92 6.3 实践内容和步骤.92 6.3.1 实现虚拟字符设备 驱动程序.92 6.3.2 LED 与按键应用 程序设计.98 6.3.3 LCD 应用程序设计.99 6.4 实践练习.100 第 7 章 Linux 串口通信及线程应用.101 7.1 背景知识.101 7.1.1 串行通信接口.101 7.1.2 串行通信基本参数.102 7.1.3 Linux 串口相关概念.102 7.1.4 Linux 线程.105 7.2 预习准备.107 7.2.1 预习要求.107 7.2.2 实践目标.107 7.2.3 准备材料.107 7.3 实践内容和步骤.108 7.3.1 串口通信实践.108 7.3.2 Linux 线程应用实践.115 7.4 实践练习.118 第 8 章 进程管理及进程间通信.119 8.1 背景知识.119 8.1.1 Linux 进程基本概念.119 8.1.2 Linux 进程管理.120 8.1.3 子进程的创建.122 8.1.4 进程间通信.124 8.2 预习准备.129 8.2.1 预习要求.129 8.2.2 实践目标.129 8.3 实践内容和步骤.129 8.3.1 fork 与进程管理实践.129 8.3.2 进程间通信实践.131 8.4 实践练习.132 第 9 章 Linux 网络通信.133 9.1 背景知识.133 9.1.1 网络通信.133 9.1.2 TCP、UDP 协议.135 9.1.3 Linux 网络编程基础.138 9.2 预习准备.144 9.2.1 预习要求.144 9.2.2 实践目标.144 9.2.3 准备材料.144 VII9.3 实践内容和步骤.144 9.3.1 TCP 客户端程序设计.144 9.3.2 TCP 服务器端程序设计.148 9.4 实践练习.151 第 10 章 简单 GUI 程序设计.152 10.1 背景知识.152 10.1.1 Qt.152 10.1.2 安装 Qt.153 10.1.3 移植 Qt.154 10.1.4 GUI.156 10.2 预习准备.157 10.2.1 预习要求.157 10.2.2 实践目标.157 10.3 实践内容和步骤.157 10.3.1 Qt Creator 配置.157 10.3.2 简单四则运算程序设计.162 10.4 实践练习.168 第 11 章 Qt 图形程序设计.169 11.1 背景知识.169 11.1.1 Qt

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开