在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 从实践中学嵌入式Linux操作系统

从实践中学嵌入式Linux操作系统

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:22.35M
  • 下载次数:36
  • 浏览次数:148
  • 发布时间:2020-09-14
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.pdf
  • 所需积分:2
 

实例介绍

【实例简介】
从实践中学嵌入式Linux操作系统,华清远见
推荐序 移动与云计算的发展推动了越来越多的新技术、新应用和新产品的涌现,推动了 嵌入式电子产品世界的不断更新和快速发展。作为嵌入式行业最著名的厂商之一,20 多年来ARM除了不断地加大研发投资,开发最新的微处理器、图形技术、物理P和 开发工具,为产业升级搭建了最佳的开发架构:同时,也一直致力于建设一个开放的、 具有强大生命力和发展前景的ARM嵌入式生态系统,使得每个存在于这个生态系统 的成员都能发挥各自的特长,通过有效的产业分工和协作开发出高性能、低功耗、人 性化的嵌入式产品服务于广大的消费者。 在这个生态系统中,嵌入式操作系统是必不可少的重要环节,是“链接”底层硬 件和上层应用软件的纽带。其中, Linux作为开源的嵌入式操作系统,多年来一直受 到广大工程师朋友的喜爱,特别是在基于 Linux内核的 Android操作系统发布以来, Linux的应用和发展到了一个崭新的高度。ARM作为应用最广泛的嵌入式处理器,对 Linux操作系统的发展也做出了大量的支持与献。 吴雄昂 ARM中国区总经理 III 前言 在今天所处的大时代背景下,嵌入式、3G、物联网、云计算俨然已经成为信息产 业的主旋律,不管是从政府大力扶持,还是从产业变革来说,这股潮流早已势不可当。 而嵌入式系统正是这些产业应用技术中最核心的部分。随着智能化电子行业的迅猛发 展,嵌入式行业更是凭借其“应用领域广、人才需求大、就业薪资高、行业前景好” 等众多优势,成为当前最热门、最有发展前途的行业之一,与此同时,嵌入式研发工 程师更是成为IT职场的紧缺人才因此,近几年来,各院校纷纷开设嵌入式专业课程。 但是,各院校在嵌入式专业教学建设的过程中几乎都面临教材难觅、内容更新迟缓的 困境。虽然目前市场上嵌入式开发相关书籍比较多,但几乎都是针对有一定基础的行 业内研发人员而编写的,并不完全符合高校的教学要求。 针对高校专业教材缺乏的现状,我们以多年来在嵌入式工程技术领域内人才培养、 项目研发的经验为基础,汇总了近几年积累的数百家企业对嵌入式研发相关閔位的真 实需求,并结合行业应用技术的最新状况及未来发展趋势,调研了数十所开设“嵌入 式工程技术”专业的院校课程设置情况、学生特点和教学用书现状。通过细致的整理 和分析,对专业技能和基本知识进行了合理划分,编写了这套高等院校嵌入式人才培 养规划教材,包括: 《从实践中学ARM嵌入式体系结构与接口技术》。 《从实践中学嵌入式 Linux操作系统》 《从实践中学嵌入式 Linux c编程》。 《从实践中学嵌入式 Linux应用程序开发》。 本套教材按照专业整体教学要求组织编写,各自对应的主干课程之闻既相对独立 又有机衔接,整套教材具有系统性。《从实践中学ARM嵌入式体系结构与接口技术》 侧重介绍接口技术:在操作系统教材方面,根据各院校的教学重点和行业实际应用情 况,编写了《从实践中学嵌入式 Linux操作系统》;考虑到嵌入式专业对学生C语言 能力要求较高,编写了《从实践中学嵌入式 Linux c编程》,可作为“C语言基础”课 程的后续提高课程使用:《从窦践中学嵌入式 Linux应用程序开发》则重点突出了贯穿 前面所学知识的实训内容,供“嵌入式 Linux应用开发”课程使用。 操作系统是计算机系统中最重要的系统软件,是计算机科学与技术相关专业的核 心课程。操作系统课程中涉及的概念、原理是嵌入式开发人员的必备知识。而在学习 过程中,由于操作系统理论本身比较深奧,是计算机专业中较难的一门课程。加之以 往的操作系统教学多以理论传授为主,学生很少研究操作系统源代码,所以往往在学 习中只掌握了一些简单的概念,对操作系统的基本原理没有理解透彻,学习效果不好。 本书从原理和编程实现两个方面讲解操作系统科学,旨在帮助学生加深对操作系统原 理的理解。主要以 Linux操作系统为例,分别说明了操作系统中有关进程管理、内存 管理、文件管理、设备管理等几大核心功能。 全书共分为11章,内容主要包含两大部分:一部分是操作系统原理相关内容,主 要讲解操作系统的原理和 Linux实现,包括第4章“存储管理”、第5章“操作系统进 程”、第6章“进程间通信”、第7章“中断与系统调用”、第8章“文件管理”、第9 章“设备管理”。这些章节完整地介绍了当代操作系统应有的功能;另一部分内容注重 实用性,讲解嵌入式Linuⅸx操作系统的使用与开发方法,包括第1章“嵌入式 Linux 操作系统简介”、第2章“ Linux操作系统使用与系统配置"、第3章“嵌入式 Linux 编程环境”、第10章“嵌入式 Linux的构建”及第11章“ Android系统的编译和移植 本书由华清远见嵌入式学院资深讲师曹忠明、程姚根编著并统校全稿。在此还要 感谢华清远见嵌入式学院,教材内容参考了学院与嵌入式企业需求无缝对接的、科学 的专业人才培养体系。同时,嵌入式学院从业或执教多年的行业专家团队也对教材的 编写工作作出了贡献,刘洪涛、曾宏安、季久峰、温尚书、贾燕枫、方琳琳、沈静、 冯瑜、杨曼、王利丽、李媛嫒、张丹、刘晶晶、王丽丽、谭翠君、关晓强、王彦红、 裴慧等老师在书稿的编写过程中认真阅读了所有章节,提供了大量在实际教学中积累 的重要素材,对教材结构、内容提出了中背的建议,并在后期审校工作中提供了很多 帮助,在此表示衷心的感谢。 由于编者水平所限,书中不妥之处在所难免,恳请读者批评指正。对于本书的批 评和建议,可以发到www.embedu.org技术论坛。 编者 2012年1月 目录 第1章嵌入式 Linux操作系统简介… 11操作系统………………………………2 1.2嵌入式系统… 喜喜喜喜品喜喜计“+…“3 13嵌入式操作系统 14嵌入式 Linux基础… 14. I Linux发展概述 477 42 Linux作为嵌入式操作系统的优势 世击世什 8 143 Linux发行版本… 144如何学习 Linux…… 10 15 Linux安装………………………::110 15.1基础概念……………………………………11 52硬件需求…………………………12 153安装准备 B卡““单““““““““黑黑想日 154安装过程………………………13 15 Linux文件及文件系统…………………………21 161文件类型及文件属性…::2 1.62文件系统类型介绍……………………………………24 163 Linux目敢结构…111124 1.7本章习题…27 第2章 Linux操作系统使用与系统配置………,:1111218 21Linu基本命令…………………………………………29 2L1用户系统相关命令…………:2:11130 212文件目录相关命令……… 36 213压缩打包相关命令…………………………47 214比较合并文件相关命令…………………………50 215网络相关命令…………………………………54 22 Linux系统服务………………………………………………59 221独立运行的服务……………………………………59 2.22 xinetd设定的服务………--……………60 223设定服务命令常用方法………………………………61 2,3本章习题 a:aa·想想主打围日品品品日E玉品a日日国日日神中““+物t 第3章嵌入式Lnux编程环境…………63 3.1Linuκ编辑器v的使用………………………64 311v的模式 64 3.12ⅵ的基本流程 国■国 …64 313ⅵ的各模式功能键…111166 32gcc编译器……67 32!gc编译流程解析…………68 322gcc编译选项分析…………………………170 33gdb调试器……………:1:114 331gdb使用流程……14 332gdb基本命令… 77 34make工程管理器……11 34.1 Makefile基本结构………… 81 342 Makefile变量………………182 343 Makefile规则…185 344make管理晷的使用…::186 35使用 autotools.……1:111111186 3.5. I autotools使用流程……… ■■■ 87 352使用 autotools生成的 Makefile t世+t日日4+aH++量ft+ r-ttetananm 36本章习题…………:111111192 第4章存储管理… 更中日目· …93 41进程虚存空间的管理 子册+份十t出tatt日 77n-7717070 FT言m_t日出加世 - TI加t白 TINtIN市目D重 94 4.1.1进程的虚存区域………………………………94 4.1.2虚存空间的映射和虚存区城的建立… 96 4.2内存空间/地址类型…………………………………98 43分页机制与MMU 9 44高速缓存………………………………………………102 4.5内存区域Zone…103 46获得内存页面…………………………………106 4.7slab分配器 ………111 4.8 kmalloc……111111111111114 49高端内存……………………………………116 4.10虚拟内存的申请和释放……116 viI. 4.1本章习题 中物!中!想界兽兽图图们图数图围日图目目目国日日玉E国日玉国日日副和和福日“和+ 119 第5章操作系统进程…… 5.1进程的基本概念………………………………………………121 52Linuκ系统进程……………………………122 521 Linux进程基础………………………122 522进程描述符………………………………m……………m…124 523进程的状态与转换……127 524进程队列指针…………………………………………129 525进程队列的全局变量………………………………132 53 Linux进程的创建…-……433 54 Linux进程相关的系统调用-……137 54.1 execve0系统调用 137 542 waito系统调用……142 543exiO系统调用……42 55 Linux的进程调度…………………………………………………143 56实时 Linux………………145 5.7本章习题……………………………………147 第6章进程间通信…………………………………………148 6,1什么是进程间通信………………………m……………149 62互斥与同步……………………………………150 6,3信号量…………………………… …152 63.1什么是信号量…………152 63.2信号量的内核实现………………………153 633信号量的使用……………………………157 64共享内存……………………………………159 64.1什么是共享内存 +← 642共享内存的内核实现………………160 643共享内存的使用……… ………161 65消息队列………………………………………163 651什么是消息队列…………………m……m………………163 652消息队列的内核实现……………………………16 653消息队列的使用 66管道 169 661什么是管道……………………………169 662管道的内核实现……………………………………170 VIII 66.3管道的读/写规则………:171 67本章习题………………………………………………171 第7章中断与系统调用 ·用围目面面围围日目1日日日日E1日日日即日日目+4日日日L是F++¥吾mmm+tH日 TFT7IETIIEEIIE 173 71什么是中断 174 72嵌入式平台硬件中断特点……………………………………………174 73 Linux内核中断机制概述……m………m……………………176 7.4编写中断处理程序ISR……:1179 741中断处理系统结构… …179 742注册中断处理函数…………………:2:180 743中断标志fags…………………182 744ISR上下文……………,………#……182 75 tasklet机制…………………1182 76上半部和下半部……,,m………m………………185 761上平部和下平部的设计………………………………185 762中断处理程序的不可重入性……………………………-186 77工作队列…………………-………………………187 78系统调用…………………………:188 78.1初始化系统调用…………………189 78,2 system call I函数“1191 783参数的传递与验证…………………………194 79本章习题……,mm……………………195 第8章文件管理 日日日目自日围围,围目和即中!目目目目即日目目目目自目1日日日日E围围日日日日E日a日日日11a日E日 198 81磁盘的物理组织………………………………197 82文件和目录………………………………………198 821文件的分类 198 822目录 823文件系统…………………………………-……………200 83虚拟文件系统 200 831虚拟文件系统概述…………………………20 83.2vFs超级块……………………………………202 8.33文件控制块 ………207 834VFS的目录项………212 83.5文件对象…………………"…………215 8.36主要数据结构间的关系 218 84文件系统注册与卸载 219 841和文件系统相关的数据结构………………219 842文件系统类型注册函数… ……“…222 843挂载文件系统……………………………23 844文件系统卸载 224 85本章习题 …24 第9章设备管理… 25 9.1设备及设备管理的功能………………………226 911设备分类 +世m口重面面国目面日和新面国睡面国津国审目百百国 26 9.12设备管理………………………….26 92IO内核子系统………………………227 921O系统的基本功能………………7 92,2DO空间……………1218 923TO控制方式 233 93 Linux设备驱动程序………34 931设备管理……………………………………………235 9.32 Linux字符设备……………………………………235 933 Linux块设备 算“国““““ 7 934 Linux网络接口………………………23 935Lnux设备文件 uH383 9.3.6 Linux设备注册与注销40 93.7操作IO端口………………………………241 938Linuκ逻辑IO与设备驱动程序的接口…… 242 94本章习题…………………247 第10章嵌入式 Linux的构建 ““““44““““王国BE ………248 I0.I嵌入式开发环境的搭建…………………………………249 10.1.1嵌入式交叉编译环境的搭建1149 10.L.2超级终端和 Minicom配置及使用… …250 10.13下载映像(mage)到开发板…………2156 l0.4编译嵌入式Lnux内核…:260 10.15 Linux内核目录结构 翻国国国和“和→中日日中!想主生,把里国套 263 10.1.6制作文件系统…………………………………………263 02 Bootloader介绍……………………267 10.,21 Bootloader概述…………………………267 1022U-Boot概述…70 103嵌入式 Linux根文件系统构建……………………279 X 【实例截图】
【核心代码】

标签:

实例下载地址

从实践中学嵌入式Linux操作系统

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警