IOT2.5|第1章嵌入式系统概论|操作系统概述|嵌入式操作系统

news2024/11/17 16:02:09

目录

第1章: 嵌入式系统概论

1.嵌入式系统发展史 

2.嵌入式系统定义*

3.嵌入式系统特点*

4.嵌入式处理器的特点

5.嵌入式处理分类

6.嵌入式系统的应用领域及嵌入式系统的发展趋势

第8章:Linux内核配置

1.内核概述

2.内核代码结构


第1章: 嵌入式系统概论

1.嵌入式系统发展史 

嵌入式计算机的真正发展是微处理器问世之后: Intel4004、Intel8080、6800、68000、Z80 、Z8000;

为灵活兼容出现了系统化、模块化的单板机:Intel iSBC、Zilog MCB、Intel Multibus 、MultibusII;

80年代出现各种总线,微电子工艺的发展,出现了单片机:微处理器+I/O接口+A/D+D/A+UART+RAM+ROM。

90年代在分布控制、柔性控制、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展:

2.嵌入式系统定义*

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四个部分组成,用于实现对其他设备的控制、监视或管理等目标。

3.嵌入式系统特点*

1.面向用户、面向产品、面向特定应用,大多工作在为特定用户群设计的系统中;

2.功耗低、体积小、集成度高,嵌入式系统设计趋于小型化;

3.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统;

4.高效率地设计,量体裁衣,去除冗余;

5.具有较长的生命周期;

6.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存储于磁盘等载体中。由于嵌入式系统的运算速度和存储容量仍然存在一定程度的限制,同时由于大部分嵌入式系统必须具有较高的实时性,因此对程序的质量,特别是可靠性,有着较高的要求;

7.嵌入式系统本身不具备自举开发能力。

4.嵌入式处理器的特点

(1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。  

(2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。  

(3)可扩展的处理器结构能最迅速地开发出满足应用的最高性能的嵌入式微处理器。  

(4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,有的需要功耗只有mw。

 5.嵌入式处理分类

5.1嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都有了增强。 

5.2嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。

微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。

5.3嵌入式DSP处理器 (EDSP-Embedded Digital Signal Processor) DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。

推动嵌入式DSP处理器发展的另一个因素是嵌入式系统的智能化:

各种带有智能逻辑的消费类产品

生物信息识别终端

带有加解密算法的键盘

ADSL接入

实时语音压解系统

实时图像压解系统

虚拟现实显示              

这类智能化算法一般运算量都较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的长处。

5.4嵌入式片上系统(SoC-System on Chip)整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。

SoC可以分为通用和专用两类:      

通用系列包括Infineon的TriCore、FreescaIe的M-core、某些ARM系列器件、EchelcIn和Freescale联合研制的Neuron芯片等。      

专用SoC一般专用于某个或某类系统中,不为一般用户所知。具有代表性的产品是Philips的SmartxA,它将xA单片机内核和支持超过2 048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载Java或C语言的专用的SoC可用于公众互联网如Internet安全方面。

6.嵌入式系统的应用领域及嵌入式系统的发展趋势

计算机应用的普及、互联网技术的实用以及纳米微电子技术的突破,正有力地推动着21世纪工业生产、商业活动、 科学实验和家庭生活等领域自动化和信息化进程。全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现代化家庭起居,为嵌入式产品造就了崭新而巨大的商机。除了沟通信息高速公路的交换机、路由器和 Modem,嵌入式系统还可以构建CIMS(Computer Integrated Manufacturing Systems)所需的DCS(Distributed Control System)和机器人以及规模较大的家用汽车电子系统。最有产量效益和时代特征的嵌入式产品应数因特网上的信息家电,如Web可视电话、Web游戏机、Web PDA(俗称电子商务、商务通)、WAP电话手机以及多媒体产 品,如STB(电视机顶盒)、DVD播放机、硬盘播放器、电子阅读机等。 以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景、注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑战。这主要包括:支持日趋增长的功能密度、灵活的网络连接、轻便的移动应用和多媒体的信息处理。此外,当然还须对付更加激烈的市场竞争。


第8章:Linux内核配置

1.内核概述

操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,包括内核、设备驱动程序、启动引导程序、命令shell或者其他用户界面、基本的文件管理工具和系统工具

系统其实包含了操作系统和所有运行在它之上的应用程序。

内核是操作系统的内在核心。系统其他部分必须依靠内核这部分软件提供的服务,像管理硬件设备,分配系统资源等等。

内核也被称作是超级管理者或者是操作系统核心。通常一个内核由负责响应中断的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组成。对于提供保护机制的现代系统来说,内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限。这种系统态和被保护起来的内存空间,统称为内核空间。相对的,应用程序在用户空间执行。它们只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,不能直接访问硬件,还有其他一些使用限制。

当内核运行的时候,系统以内核态进入内核空间;相反,普通用户程序以用户态进入用户空间。

应用程序通过系统调用内核通信来运行,如下图所示:

应用程序通常调用库函数(如C库函数),再通过系统调用界面让内核代其完成各种不同任务。

\bullet许多库函数提供的功能并没有单独的系统调用可以替代,在那些较为复杂的函数中,调用内核的操作通常只是整个工作的一个步骤。

Eg: prinf()函数提供了数据的缓存和格式化等操作,也只是在执行的末期通过write()系统调用把处理后的最终数据写在终端上。

\bullet有一些库函数和系统调用函数是一一对应的关系。

Eg: open()库函数,除了调用open()系统调用,其他什么也不做。 一些C库函数,像strcpy(),根本就不需要调用系统级的操作。

当一个应用程序请求执行一条系统调用,我们在说内核正在代其执行。如果进一步解释,在这种情况下,应用程序被称为通过系统调用在内核空间运行,而内核被称为运行于进程上下文中。这种交互关系——应用程序通过系统调用用陷入内核——是应用程序完成其工作的基本行为方式

上下文代表着内核活动的范围。

可将处理器在任何指定时间点的活动范围概括为下列三者之一:

1.运行于内核空间,处于进程上下文,代表某个特定的进程执行。

2.运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

3.运行于用户空间,执行用户进程。

例如,当CPU空闲时,内核就运行一个空闲进程,处于进程上下文,但运行于内核空间。

2.内核代码结构

大概了解:

  

(2023年 2月18日 17:07首次发布) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/354530.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux内核CPU可运行进程队列的负载均衡

前面主要是学习进程的调度管理,默认都是在单CPU上的调度策略,在O(1)调度后,为了减小CPU之间的干扰,就会为每个CPU上分配一个任务队列,运行的时候可能会出现有的CPU很忙,有的CPU很闲,为了避免这个…

Vue:filters过滤器

日期、时间格式化是Vue前端项目中较为常遇到的一个需求点,此处,围绕Vue的过滤器来介绍如何更为优雅的解决此类需求。 过滤器filters使用注意点 Vue允许开发者自定义过滤器,可以实现一些常见的文本格式化等需求。 使用时要注意的点在于&#…

[软件工程导论(第六版)]第1章 软件工程学概述(复习笔记)

文章目录1.1 软件危机1.1.1 软件危机的介绍1.1.2 产生软件危机的原因1.1.3 消除软件危机的途径1.2 软件工程1.2.1 软件工程的介绍1.2.2 软件工程的基本原理1.2.3 软件工程方法学1.3 软件生命周期组成1.4 软件过程概念1.4.1 瀑布模型1.4.2 快速原型模型1.4.3 增量模型1.4.4 螺旋…

Windows系统扩充C盘空间系列方法总结

目录前言方法一 使用自带的Windows的DiskPart扩充C盘1. 打开cmd2.三步命令方法二:使用Windows系统内置磁盘管理扩展C盘方法三. 使用专业磁盘分区工具总结前言 本教程是总结Windows系统进行C盘(系统盘)扩充空间的系列方法,一般来讲…

VSCode远程调试Linux代码,python解释器配置

安装插件并配置 安装后找到插件图标,点击 点击SSH上的 号 在弹出框中输入命令:ssh usernameip -p port username: 远程服务器的用户名 ip: 远程ip port:端口号,没有可以不用 输入完毕后点击enter 选择ssh配置文件保存…

AI_News周刊:第二期

2023.02.13—2023.02.17 1.ChatGPT 登上TIME时代周刊封面 这一转变标志着自社交媒体以来最重要的技术突破。近几个月来,好奇、震惊的公众如饥似渴地采用了生成式人工智能工具,这要归功于诸如 ChatGPT 之类的程序,它对几乎任何查询做出连贯&a…

ArcGIS:模型构建器实现批量按掩膜提取影像

用研究区域的矢量数据来裁剪栅格数据集时,一般我们使用ArcGIS中的【按掩膜提取工具】。如果需要裁剪的栅格数据太多,处理起来非常的麻烦,虽然ArcGIS中有批处理的功能,但是还是需要手动选择输入输出数据。 如下图,鼠标…

HTTPS协议原理---详解六个加密方案

目录 一、HTTPS 1.加密与解密 2.我们为什么要加密? 3.常见加密方式 ①对称加密 ②非对称加密 4.数据摘要 5.数字签名 二、HTTPS的加密方案 1.只是用对称加密​ 2.只使用非对称加密 3.双方都使用非对称加密 4.非对称加密+对称加密 中间人攻…

kubernetes教程 --Pod控制器详解

Pod控制器详解 介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建控制器创建的pod&am…

字母消消乐游戏(C语言版本_2023首篇新作)

上一篇: 2022圣诞树(C语言摇钱树版本) 逐梦编程,让中华屹立世界之巅。 简单的事情重复做,重复的事情用心做,用心的事情坚持做; 文章目录前言一、图形库准备1.EasyX绘图库下载2.EasyX作用二、游戏内画面展示1.游戏开场介绍2.游戏画…

5年软件测试工程师分享的自动化测试经验,一定要看

今天给大家分享一个华为的软件测试工程师分享的关于自动化测试的经验及干货。真的后悔太晚找他要了, 纯干货。一定要看完! 1.什么是自动化测试? 用程序测试程序,用代码取代思考,用脚本运行取代手工测试。自动化测试涵…

0.2opencv库源码编译

如何编译opencv库源码 大家好,我是周旋,感谢大家学习【opencv源码解析】系列,本系列首发于公众号【周旋机器视觉】。 上篇文章我们介绍了如何配置opencv环境,搞清了opencv的包含目录include、静态库链接以及动态库链接的作用。 【…

汽车安全硬件扩展 AUTOSAR SHE SecureHardwareExtensions

SHE(Secure Hardware Extension)在车联网中,被应用在车端ECU中负责安全存储与安全计算。是由HIS(由Audi、BMW、Porsche、Volkswagen组成)制定的标准,中文意思“安全硬件扩展”,是对任何给定微控…

【Python】Python读写Excel表格

简要版,更多功能参考资料1。1 Excel文件保存格式基础概念此处不提,详见资料1。Excel的文件保存格式有两种: xls 和 xlsx。如果你看不到文件后缀,按下图设置可见。xls是Office 2003及之前版本的表格的默认保存格式。xlsx 是 Excel …

Javac命令详解

命令行 用法: javac <options> <source files> 其中, 可能的选项包括:-g 生成所有调试信息-g:none 不生成任何调试信息-g:{lines,vars,source} 只生成某些调试信息-nowarn 不生成任何警告-ver…

学习 Python 之 Pygame 开发坦克大战(一)

学习 Python 之 Pygame 开发坦克大战&#xff08;一&#xff09;Pygame什么是Pygame?初识pygame1. 使用pygame创建窗口2. 设置窗口背景颜色3. 获取窗口中的事件4. 在窗口中展示图片(1). pygame中的直角坐标系(2). 展示图片(3). 给部分区域设置颜色5. 在窗口中显示文字6. 播放音…

MyBatis 之三(查询操作 占位符#{} 与 ${}、like查询、resultMap、association、collection)

文章目录1. 参数占位符 #{} 和 ${} 的区别2. ${} 的优点3. SQL 注入问题4. like 查询5. 返回字典映射&#xff1a;resultMap6. 一对一查询&#xff1a;association7. 一对多查询&#xff1a;collection回顾一下&#xff0c;在上一篇 MyBatis 之二&#xff08;增、删、改操作&am…

APP测试中IOS和Android的区别,有哪些注意点?

01、常识性区别 02、导航方式 iOS&#xff1a;Tab放在页面底部&#xff0c;不能通过滑动来切换&#xff0c;只能点击。也有放在上面的&#xff0c;也不能滑动&#xff0c;但有些Tab本身可以滑动&#xff0c;比如天猫的。还有新闻类的应用。 Android&#xff1a;一般放在页面…

Visual Studio 高级调试-(上)

概述编程圈子里隔三差五的就会有场“谁是最强IDE”之争&#xff0c;重要的是我们需要对使用的IDE有充分的了解&#xff0c;正所谓工欲善其事&#xff0c;必先利其器。本文主要讲述Visual Studio常用的调试技巧&#xff0c;包括多类型断点&#xff0c;数据监视&#xff0c;以及多…

MySQL ---基础概念

目录 餐前小饮&#xff1a;什么是服务器&#xff1f;什么是数据库服务器&#xff1f; 一、数据库服务软件 1. 常见数据库产品 2.如何开启和停止MySQL服务 二、数据库术语及语法 1.数据库术语 2.SQL语法结构 3.SQL 语法要点 三、SQL分类 1.数据定义语言&#xff08;D…