热门回答:
嵌入式系统是一个计算机系统。在一个较大的机械或电气系统中具有专用功能。通常具有实时计算约束。作为一个完整的设备的一部分被嵌入。通常包括硬件和机械部件。嵌入式系统控制着今天常用的许多设备。 98%的微处理器都是作为嵌入式系统的组件制造的。
典型的嵌入式计算机与通用相对应的计算机属性的例子是低功耗。小尺寸。稳定的操作范围和低单位成本。这是以有限的处理资源为代价的。这使得编程和交互更加困难。然而。通过在硬件之上构建智能机制。利用可能存在的传感器和嵌入式单元网络的存在。既可以优化管理单元和网络级别的可用资源。又可以提供增强的功能。远远超越那些可用。例如。可以设计智能技术来管理嵌入式系统的功耗。 数字信号处理器(DSP)是一种常见的标准专用处理器。
由于嵌入式系统专用于特定任务。设计工程师可以对其进行优化。以减少产品的尺寸和成本。并提高可靠性和性能。一些嵌入式系统是大规模生产的。受益于规模经济。
嵌入式系统的范围从便携式设备(如数字手表和MP3播放器)到大型固定安装(如交通信号灯。工厂控制器以及复杂系统。如混合动力车辆。MRI和航空电子设备)。复杂性从单个微控制器芯片的低端到具有多个单元的高端设备。外围设备和网络安装在大型机箱或机箱内。
了解更多硅谷前沿深度讯息请看 硅发布 微信公众号
其他观点:
所谓嵌入式系统。指的是为特定应用而设计的专用计算机系统。嵌入式系统由硬件+软件构成。我们分别从硬件和软件这两个方面来讲述。
一、我们来看硬件部分:
我们都有使用个人桌面电脑的经历。而个人电脑系统属于通用计算机系统。那嵌入式系统跟通用系统在硬件设计上有什么区别呢?
1. 通用计算机系统
这里所讲的通用计算机系统。主要指的是intel x86系统。这种系统基本由intel cpu + 南北桥芯片组成。cpu通过南桥连接到低速外设。比如:实时时钟、usb、以太网、wifi、蓝牙等;通过北桥连接到高速外设。比如:内存。显卡等。
这样设计的通用系统性能非常强大。比如。我们可以在个人电脑上办公、运行大型软件、玩游戏、运行photoshop等。
我们在使用个人PC的时候也从来不关注能耗的问题。反正我们玩电脑都要插电源的。
以上是通用系统(以个人电脑为例)的硬件架构和使用场景。
2. 嵌入式系统
跟通用计算机系统不同。嵌入式系统使用所谓的soc实现硬件的最大集成。具体来讲就是把cpu和外设都封装在同一个芯片上。也叫soc。或者叫片上系统。
这样设计有什么好处呢?最大的好处就是减小系统尺寸、节能省电。
尺寸问题好理解。因为很多嵌入式设备是手持的。甚至是可穿戴的。
为什么要考虑节能省电的问题呢?因为嵌入式系统一般都无法做到像个人pc一样持续供电。举个例子:大疆的无人机。就是一个典型的嵌入式系统。你能想象让它拖着一根电源线上天吗?显然不可能。所以。无人机系统必须要考虑电能的供给和消耗的问题。供给靠电池。消耗就是系统的事情了。所以低功耗的硬件才能工作更长的时间。而只有嵌入式专用系统才能做到低功耗。能耗和性能是嵌入式系统设计者需要不断优化和改善的两个指标。
另外有些外设和接口也是传统的通用系统所不支持的。所以就需要嵌入式系统来做定制了。
二、再来看软件部分:
嵌入式系统一般采用linux系统(也有wince。vxworks。ucos等)。开发语言一般用c语言。因为c语言的效率高、性能优。这样可以最大程度的节省能耗、提升性能。我们在PC上做开发的时候可以选择java。c#等开发语言。这些语言在开发上给我们提供了很大的便利性。但是代码的执行效率并不高。但是。在嵌入式系统上开发应用软件需要考虑的最大的因素就是性能。所以最佳的开发语言是c语言。这也是嵌入式系统和通用系统在软件开发上的的差异。
以上。我从硬件和软件这两个方面解释了什么是嵌入式系统。希望对你有所帮助!
其他观点:
嵌入式分为嵌入式硬件和嵌入式软件。所谓嵌入式。就是指软件在特定的嵌入式硬件开发完成后。最后被固化在此硬件平台中。当硬件启动后。自动执行软件。完成特定的功能。
嵌入式系统启动后。一般是没有人机交互界面的。但会留有调试接口。如RS232串口、网口。可以通过终端工具检测软件运行状态、下发控制指令等。
硬件工程师
嵌入式硬件工程师。主要掌握的是基于CPU设计计算主板的电路知识。所以模电、数电、EDA知识是这类工程师的基本功!除此之外。熟悉常用通信协议和总线。如CAN、SPI、I2C、PCIe、DDR。也是硬件工程师应该掌握的技能。
软件工程师
嵌入式软件工程师。编程语言、数据结构是其基本功。除此之外。还应该熟练掌握以下技能:
掌握多线程、多进程编程技术。理解各种线程同步机制。如临界保护、同步信号。知晓进程间通信技术。如共享内存、管道、套接字编程技术;
了解常见外设作用。如CPU、DDR、SDRAM、FLASH、串口、网口等;
了解常见总线或通信协议概念。如数据总线、地址总线、CAN总线、I2C总线、SPI总线等;
理解基于寄存器编程概念。也就是硬件驱动程序实现原理。无论什么硬件。不管函数接口如何封装。其内部一定是对硬件各个寄存器的操作;
嵌入式编程由于受限于硬件资源的大小。所以在内存使用上并不像桌面软件那么灵活。比如。在windows下编程。函数中的数组变量可以分配很大的内存。这是因为其栈空间默认很大。但是在嵌入式环境中。最好把这些内存大的变量定义到外部存储硬件中。如SDRAM或DDR。这是因为嵌入式处理器的片内RAM都很小!
从这里可以看出。嵌入式软件工程师与其他类型软件工程师有一个很大的不同点。就是需要掌握很多硬件知识。这是由嵌入式开发的特点来决定的。
- 准备与好友合伙做生意,开什么店合适?
- 想开个店,开什么好呢?资金不多,刚刚创业。谢谢?
- 有什么行业适用于初创业?
- 刚入社会的人想开店,最好开一家什么店?
- 我是一个创业小白,想要开一家店铺,大家有什么好的推荐吗?
以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.wangchuang8.com/206947.html,转载请说明来源于:网创推广网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系进行处理。分享目的仅供大家学习与参考,不代表本站立场。
评论(2)
硬件,嵌入式系统,嵌入式,系统,总线,软件,语言,通用计算机,外设,性能
没想到大家都对什么是嵌入式系统?感兴趣,不过这这篇解答确实也是太好了
嵌入式系统是一个计算机系统。在一个较大的机械或电气系统中具有专用功能。通常具有实时计算约束。作为一个完整的设备的一部分被