理解嵌入式

嵌入式系统是指嵌入在其他设备中的计算机系统,通常用于完成特定的任务。与通用计算机不同,嵌入式系统的硬件和软件都是为特定任务设计和优化的,具有高度的集成性和可靠性。 嵌入式系统广泛应用于各个领域,包括消费电子、汽车电子、工业控制、通信设备等。它们可以具有不同的性能要求,从低功耗、低成本的小型系统到高性能、高安全性的复杂系统。 嵌入式系统的开发涉及硬件和软件两方面。硬件方面包括选择适当的处理器、存储器和接口等组件,并设计电路板和外围设备,以满足系统的需求。软件方面包括编程、配置和调试等操作,以实现系统的功能要求。 嵌入式系统的开发需要综合考虑多个因素,包括性能、功耗、成本、可靠性和安全性等,同时还需要考虑与其他系统的互操作性和兼容性。随着技术的进步,嵌入式系统的功能和应用领域不断扩展,将为我们的生活带来更多便利和创新。

一 什么叫嵌入式

嵌入式通常指嵌入式系统(Embedded System),它是以应用为中心,以计算机技术为基础,能够根据用户需求(如功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。简单来说,嵌入式系统是面向用户、面向产品、面向应用的,具有明确的实际用途,并且作为装置或设备的一部分,用于控制、监视或者辅助操作机器和设备。

两者的区别是技术要求和技术发展方向,通用计算机的技术要求是处理大量、高效的数据,而技术发展要求是总线速度的提升和存储能力的拓展。专用计算机系统的技术要求是可控制化,技术发展要求是对系统的可靠性进行提升。

更简单的说:通用计算机系统和专用计算机系统,或者处理桌面PC和服务器之外,所有的控制类设备都是嵌入式。

二 嵌入式学习需要的认知结构

嵌入式系统的学习内容广泛而深入,主要包括以下几个方面:

  1. 编程语言:嵌入式开发中最常用的编程语言是C语言,因此学习者需要熟练掌握C语言的基本语法和常用函数库。此外,了解并掌握一门面向对象的语言(如C++、Java或Python)也是很有帮助的。

  2. 数据结构:数据结构是嵌入式学习中不可或缺的一部分,它涉及到大量的指针、数组、结构体和函数的使用。掌握数据结构有助于更好地理解和优化程序,比如之前我们用到的循环列表做降噪算法。

  3. 内核学习:Linux内核包括进程管理、内存管理、网络堆栈、虚拟文件系统、设备驱动等部分。学习者需要逐步深入了解这些内核模块,以及相关的系统调用接口和功能实现。

  4. 设备驱动:设备驱动是硬件和应用程序之间的桥梁。学习者需要了解如何根据具体的硬件设备编写驱动程序,以提供调用接口给用户使用,从而实现控制硬件的目的。

  5. 硬件知识:对于一个嵌入式工程师来说,虽然不必深入研究开发板的画图、布线等硬件设计技能,但应能够看懂电路图,并掌握基本的电路知识。

  6. 网络通信:掌握TCP/IP协议栈是嵌入式高手的必备技能。此外,音频、视频的解码译码技术以及各种IC和bootloader的开发设计也是进阶学习的内容。

综上所述,嵌入式系统的学习内容涵盖了编程语言、计算机系统认知、数据结构、内核学习、设备驱动、硬件知识和网络通信等多个方面。这些内容的掌握将有助于学习者在嵌入式开发领域取得更好的发展和提升。

 三 嵌入式的特点

硬件特点:
    体积小,集成效率高
    低功耗,电磁兼容性(抗干扰能力强)
    面向特定的应用(针对不同的用户)

软件特点:
    软件一般采用C语言开发(接近底层,可以直接操作地址)
    程序一般固化在ROM或者Flash中( 掉电不丢失)
    软件要和硬件密切相关( 7人团队  3个软件  2个硬件  1个驱动  1个测试)

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

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

相关文章

【FFmpeg】avcodec_receive_packet函数

目录 1.avcodec_receive_packet FFmpeg相关记录: 示例工程: 【FFmpeg】调用ffmpeg库实现264软编 【FFmpeg】调用ffmpeg库实现264软解 【FFmpeg】调用ffmpeg库进行RTMP推流和拉流 【FFmpeg】调用ffmpeg库进行SDL2解码后渲染 流程分析: 【FFm…

js有关深度优先遍历和广度优先遍历

1.Ai智能回答 深度优先遍历和广度优先遍历是图论中两种基本的遍历算法,‌它们分别以不同的方式遍历图中的所有顶点。‌ 深度优先遍历(‌DFS)‌是一种用于遍历或搜索树或图的算法。‌这个算法会尽可能深地搜索图的分支。‌在图中,‌…

Elasticsearch-RestAPI --学习笔记

RestAPI ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。 官方文档地址: Elasticsearch Clients | Elastic 以下关于RestAPI 的说明都是基于老版本客户端 初始化RestClient 1&…

【分布式】分布式锁的业务应用场景

梳理了分布式锁的两种常用的实现方式,接下来梳理一下日常开发中会应用分布式锁的业务场景 实现分布式锁的两种方式: 【分布式锁】Redission实现分布式锁 【分布式锁】Redis实现分布式锁 分布式锁在分布式系统中扮演着至关重要的角色,用于解决…

学习华为IPD流程黑话2.0

目录 1、内容简介 2、概念六:管道管理 3、概念七:业务计划 4、概念八:IPMT 的投资活动 5、概念九:BETA、ESS、ESP 作者简介 1、内容简介 学习任何新事物都是从概念开始的。 以我个人最近遇到的一个事为例: 前…

探索国内商业地产之巅:卓越项目的标准是什么?

在我心目中,现阶段国内最好的商业地产项目,如果要从多个维度综合考虑的话,我会提名一些像“万象城”这样的城市综合体作为典范,特别是那些位于一线城市或新一线城市核心地段的万象城项目。 作为一个多年的地产从业者,…

Python——NumPy(第一讲)

文章目录 Numpy是什么?numpy的安装 array创建数组arange创建数组随机数创建随机数随机整数正太分布 ndarray 对象zeros创建ones创建empty 创建full()创建创建单位矩阵linspace创建logspace创建 Numpy是什么? Numpy(Numerical Python) 是科学计算基础库&…

数据结构(特殊二叉树-平衡二叉树)

平衡二叉树(AVL树) 前提一定是搜索二叉树,对于根节点的左右子树的高度差不能超过1,并且所有子树都要循序这个要求 如果一个搜索二叉树呈现或接近单支状,它的查找效率很低,很接近链表,因此如果能让它平衡时&#xff0c…

回望林徽因,给心怀梦想的女孩子以精神的力量。|于女生,影响你的命运的一个很重要的因素是将来的伴侣。

文章目录 引言I 《回望林徽因,给心怀梦想的女孩子以精神的力量。》怎样活出生命的价值和精彩?相爱的两个人,需要注意的地方是?普通日子的浪漫,藏在哪些细节里?一个女性最有魅力的时刻是?写作的美妙之处是什么?为什么说笑起来的样子很美?自由辽阔的心境,是什么样的感觉…

python中的fire和Linux shell中的参数传递

一、fire 安装 要使用 Python Fire 库,首先需要安装它。以下是安装步骤: 使用 pip 安装 可以通过 pip 直接安装 Python Fire: pip install fire 特性 自动生成命令行界面:将任何 Python 对象(函数、类、模块、字…

nodejs编译报错 集合

目录 一、使用命令编译typescript时报错,报错文件tsconfig.json 二、npm start运行后报错,could not find module 一、使用命令编译typescript时报错,报错文件tsconfig.json npx tsc 报错: Specified include paths were [&…

秋招突击——7/24——知识补充——JVM类加载机制

文章目录 引言类加载机制知识点复习类的生命周期1、加载2、连接——验证3、连接——准备4、连接——解析5、初始化 类加载器和类加载机制类加载器类加载机制——双亲委派模型 面试题整理1、类加载是什么2、类加载的过程是什么3、有哪些类加载器?4、双亲委派模型是什…

Redis一致性与分布式锁

Redis一致性 何为redis一致性 即在项目中,redis缓存中的数据要与数据库当中的数据保持一致。 那么这里,就会有小伙伴要问了,redis缓存中的数据不就是从数据库当中查询出来的吗?怎么会不一致呢? 笔者在这里解答一下…

Unite 上海 强势回归

​​​ 他回归了 Unite 大会是一年一度的 Unity 全球开发者盛会。今年,Unite 将于 7 月盛夏点亮上海外滩。此次盛会,我们将以“团结”为核心,凝聚全球 3000 多位 Unity 社区精英的力量,共同开启 Unity 技术的新纪元。 在这里&am…

UE学习笔记--干货满满!FString 的 Equals 和 == 源码深度探析

目录 前言FString 的 operatorESearchCaseStricmpBothAsciiLowerAsciiStricmp 结论Stricmp 代码验证整理思路 前言 最近大概写了如下代码 TArray<FString> TestArray; FString Z1 "Z1", z1 "z1"; TestArray.Emplace(Z1);if(TestArray.Contains(z…

代码随想录第十七天|动态规划(1)

目录 LeetCode 509. 斐波那契数列 LeetCode 70. 爬楼梯 LeetCode 746. 使用最小花费爬楼梯 LeetCode 62. 不同路径 LeetCode 63. 不同路径 II 总结 动态规划在算法课上学习过&#xff0c;看过了之后有一些熟悉感。&#xff08;虽然贪心算法也学过&#xff0c;但是不如动态…

样式迁移及代码

一、定义 1、使用卷积神经网络&#xff0c;自动将一个图像中的风格应用在另一图像之上&#xff0c;即风格迁移&#xff1b;两张输入图像&#xff1a;一张是内容图像&#xff0c;另一张是风格图像。 2、训练一些样本使得样本在一些cnn的特征上跟样式图片很相近&#xff0c;在一…

Java字符串与Unicode编码(码点、代码单元、基本多语言平面BMP、辅助平面、代理对)

Java字符串与Unicode编码 1. Unicode编码简介 Unicode是一个为世界上所有书写系统设计的字符编码标准。它旨在解决不同编码标准之间不兼容的问题&#xff0c;使得计算机能够处理和显示世界上几乎所有的字符。Unicode为每个字符分配了一个唯一的数字&#xff0c;称为“码点”&…

字典集合案例

1.统计字符 统计字符串中每个字符出现的次数 s l like summer very much #去掉空格 s s.replace(" ","") d dict() for i in s:if i in d:d[i] 1else:d[i] 1 for i in d:print(i,d[i]) 2.求不重复的随机数 #导入随机数 import random a int(input(&q…

自动化测试的艺术:Xcode中GUI测试的全面指南

自动化测试的艺术&#xff1a;Xcode中GUI测试的全面指南 在软件开发过程中&#xff0c;图形用户界面&#xff08;GUI&#xff09;测试是确保应用质量和用户体验的关键环节。Xcode&#xff0c;作为苹果的官方集成开发环境&#xff08;IDE&#xff09;&#xff0c;提供了一套强大…