2.5|iot|第1章嵌入式系统概论|操作系统概述|嵌入式操作系统

news2024/11/16 7:45:35

目录

第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/355054.html

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

相关文章

[安装之3] 笔记本加装固态和内存条教程(超详细)

由于笔记本是几年前买的了,当时是4000,现在用起来感到卡顿,启动、运行速度特别慢,就决定换个固态硬盘,加个内存条,再给笔记本续命几年。先说一下加固态硬盘SSD的好处:1.启动快 2.读取延迟小 3.写…

Java每日一练——Java简介与基础练习

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 目录 系列文章目录 文章目录 前言 一、简述解释型语言与编译型语言 二、Java语言的执行流程 2.1、…

电子技术——CS和CE放大器的高频响应

电子技术——CS和CE放大器的高频响应 在绘制出MOS和BJT的高频响应模型之后,我们对MOS和BJT的高频响应有了进一步的认识。现在我们想知道的是在高频响应中 fHf_HfH​ 的关系。 高频响应分析对电容耦合还是直接耦合都是适用的,因为在电容耦合中高频模式下…

智能小车红外避障原理

红外避障电路红外避障电路由电位器R17,R28;发光二极管D8,D9;红外发射管 D2,D4和红外接收管D3,D5和芯片LM324等组成,LM234用于信号的比较,并产生比较结果输出给单片机进行处理。智能小车红外避障…

作为一名开发工程师,我对 ChatGPT 的一些看法

ChatGPT 又又火了。 ChatGPT 第一次爆火是2022年12月的时候,我从一些球友的讨论中知道了这个 AI 程序。 今年2月,ChatGPT 的热火更加猛烈,这时我才意识到,原来上次的热火只是我们互联网圈子内部火了,这次是真真正正的破圈了,为大众所熟悉了。 这个 AI 程序是一个智能问…

(考研湖科大教书匠计算机网络)第四章网络层-第八节:网际控制报文协议ICMP

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:网际控制报文协议ICMP(1)ICMP差错报告报文A:终点不可达B:源点抑制C:时间超过D&#xff…

C#的委托原理刨析and事件原理刨析和两者的比较

什么是委托委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 在实例化委托时,你可以将其实例与任何具有兼容参数和返回类型的方法进行绑定。 你可以通过委托实例调用方法。简单的理解,委托是方法的抽象类,它定…

L2-033 简单计算器

本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1​ 存放数字,另一个堆栈 S2​ 存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就…

RabbitMQ相关问题

文章目录避免重复消费(保证消息幂等性)消息积压上线更多的消费者,进行正常消费惰性队列消息缓存延时队列RabbitMQ如何保证消息的有序性?RabbitMQ消息的可靠性、延时队列如何实现数据库与缓存数据一致?开启消费者多线程消费避免重复消费(保证消…

字符集、ASCII、GBK、UTF-8、Unicode、乱码、字符编码、解码问题等

编码解码一、背景二、字符的相关概念三、字符集3.1 ASCII[ˈski]3.1.1 ASCII的编码方式3.1.2 EASCII3.2 GBK3.2.1 GB 2312-803.2.2 GBK的制订3.2.3 GBK的实现方式3.3 Unicode(统一码、万国码)3.3.1 Unicode的出现背景3.3.2 Unicode的编写方式3.3.3 Unico…

Verilog 学习第四节(从计数器到可控制线性序列机——LED实验进化六部曲)

从计数器到可控制线性序列机——LED实验进化六部曲一:让LED灯按照亮0.25s,灭0.75s的状态循环亮灭二:让LED灯按照亮0.25s,灭0.5s,亮0.75s,灭1s的状态循环亮灭三:让LED灯按照指定的亮灭模式亮灭&a…

Java程序员线上排查问题神器-Arthas

文章目录前言一、Arthas是什么?二、快速入门1.下载2.如何运行三、常用命令1.dashboard2.trace总结前言 最近公司项目版本迭代升级,在开发新需求导致没什么时间写博客。 在开发需求的过程中,我写了一个接口,去批量调内部已经写好…

浏览器工作原理详解

浏览器工作原理 以打开百度官网为例 在浏览器地址栏输入网址www.baidu.com ,回车 这一过程发生了什么? 首先我们要知道www.baidu.com 这是个域名,需要通过DNS去解析为IP地址(也就是服务器地址),然后返回…

yum/vim工具的使用

yum 我们生活在互联网发达的时代,手机电脑也成为了我们生活的必须品,在你的脑海中是否有着这样的记忆碎片,在一个明媚的早上你下定决心准备发奋学习,“卸载”了你手机上的所有娱乐软件,一心向学!可是到了下…

前端面试题整理之HMTL篇(一)

HTML面试题(一) 前言: 面试题及答案解析,大部分来自网络整理,我自己做了一些简化,如果想了解的更多,可以搜索一下,前端面试题宝典微信公众号或者查百度,另外如果出现错误…

Windows环境下安装和配置Gradle

1. 概述 Gradle是Google公司基于JVM开发的一款项目构建工具,支持Maven,JCenter多种第三方仓库,支持传递性依赖管理,使用更加简洁和支持多种语言的build脚步文件,更多详情可以参阅Gradle官网 2. 下载 由于Gradle与S…

【opencv 系列】第2章 图片视频的读取和保存

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言1. 图片2.视频(读取摄像头、视频文件)2.1 从摄像头读视频2.2 从视频读取文件2.3 保存摄像头读取的视频2.4 图片的打开,读取和保存代码2.5 摄像头的打开,读取和保…

[LeetCode]1237. 找出给定方程的正整数解

题目链接:https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/description/ 题目描述: 样例1: 输入:function_id 1, z 5 输出:[[1,4],[2,3],[3,2],[4,1]] 解释:functi…

Linux 根目录与路径

目录 Linux的根目录 /usr目录(存放用户数据) /bin目录(存放所有用户都可使用的应用程序) /sbin目录(存放管理员才可以使用的应用程序) /opt目录(存放第三方软件) /boot目录&am…

[Android Studio] Android Studio Virtual Device(AVD)虚拟机的功能试用

🟧🟨🟩🟦🟪 Android Debug🟧🟨🟩🟦🟪 Topic 发布安卓学习过程中遇到问题解决过程,希望我的解决方案可以对小伙伴们有帮助。 🚀write…