什麼是嵌入式系統? - 小熊問答

文章推薦指數: 80 %
投票人數:10人

嵌入式系統是一個計算機系統,在一個較大的機械或電氣系統中具有專用功能,通常具有實時計算約束,作為一個完整的裝置的一部分被嵌入,通常包括硬體和機械 ... 選單首頁娛樂體育汽車科技育兒歷史美食數碼時尚寵物收藏教育財經社會國際嵌入式系統硬體裝置開發什麼是嵌入式系統?由 EmbededDream 發表于 科技2021-06-25EmbededDream2021-06-2516:08:09什麼是嵌入式系統?從度娘上查,有很多用於考試的標準版答案,比如下面。

這裡我主要分享一下我自己的個人理解。

嵌入式系統,它第一必是可嵌入的,第二它必是一個系統,第三它肯定有依附存在的實體。

可嵌入的,說明它的軟體體積可以根據需求修改,可以量體裁衣。

軟體儲存空間大,多點功能;空間小,我就少跑一些功能。

自成系統,說明它是一個完整的功能集合,可以滿足一定的功能需求。

至於可存在的實體,我們都知道,任何的軟體執行離不開硬體的支援。

嵌入式也不例外。

只是考慮到具體的應用場景,對硬體的功耗,可靠性,體積和成本有著具體嚴格的要求。

說了這麼多,不夠直觀,那我們就拿某個正常工作日的平常一天,來直觀地感受一下,嵌入式系統如何服務我們的生活的:晨練回來,滿頭大汗,總要洗個澡才能上班。

我們接通【熱水器】的電源開關,設定好45度的水溫。

把衣服丟進【洗衣機】,選擇合適的洗滌功能。

接著進入廚房準備早飯。

先從【電冰箱】中拿出一盒牛奶,放到【微波爐】中,設定好時間和火力。

洗完澡並吃完早飯,出門上班。

到了辦公室,一定按時來到【考勤機】面前乖乖地伸出手指頭。

上面【】中的各類我們常見的生活工作用品,不論體積大小,其實內部都存在一個控制中心,也就是我們所謂的嵌入式系統。

如果有機會拆解這些裝置的話,你會看到,其實這些內部控制中心的控制電路板,都沒有多大的體積。

而且我們更應該看到,我們生活的方方面面,都離不開嵌入式系統的身影。

矽釋出2018-04-2303:20:13嵌入式系統是一個計算機系統,在一個較大的機械或電氣系統中具有專用功能,通常具有實時計算約束,作為一個完整的裝置的一部分被嵌入,通常包括硬體和機械部件。

嵌入式系統控制著今天常用的許多裝置,98%的微處理器都是作為嵌入式系統的元件製造的。

典型的嵌入式計算機與通用相對應的計算機屬性的例子是低功耗,小尺寸,穩定的操作範圍和低單位成本。

這是以有限的處理資源為代價的,這使得程式設計和互動更加困難。

然而,透過在硬體之上構建智慧機制,利用可能存在的感測器和嵌入式單元網路的存在,既可以最佳化管理單元和網路級別的可用資源,又可以提供增強的功能,遠遠超越那些可用。

例如,可以設計智慧技術來管理嵌入式系統的功耗。

數字訊號處理器(DSP)是一種常見的標準專用處理器。

由於嵌入式系統專用於特定任務,設計工程師可以對其進行最佳化,以減少產品的尺寸和成本,並提高可靠性和效能。

一些嵌入式系統是大規模生產的,受益於規模經濟。

嵌入式系統的範圍從行動式裝置(如數字手錶和MP3播放器)到大型固定安裝(如交通訊號燈,工廠控制器以及複雜系統,如混合動力車輛,MRI和航空電子裝置)。

複雜性從單個微控制器晶片的低端到具有多個單元的高階裝置,外圍裝置和網路安裝在大型機箱或機箱內。

瞭解更多矽谷前沿深度訊息請看矽釋出微信公眾號技術簡說2020-02-0416:29:28所謂嵌入式系統,指的是為特定應用而設計的專用計算機系統,嵌入式系統由硬體+軟體構成。

我們分別從硬體和軟體這兩個方面來講述。

一、我們來看硬體部分:我們都有使用個人桌面電腦的經歷,而個人電腦系統屬於通用計算機系統。

那嵌入式系統跟通用系統在硬體設計上有什麼區別呢?1。

通用計算機系統這裡所講的通用計算機系統,主要指的是intelx86系統。

這種系統基本由intelcpu+南北橋晶片組成。

cpu透過南橋連線到低速外設,比如:實時時鐘、usb、乙太網、wifi、藍芽等;透過北橋連線到高速外設,比如:記憶體,顯示卡等。

這樣設計的通用系統性能非常強大。

比如,我們可以在個人電腦上辦公、執行大型軟體、玩遊戲、執行photoshop等。

我們在使用個人PC的時候也從來不關注能耗的問題,反正我們玩電腦都要插電源的。

以上是通用系統(以個人電腦為例)的硬體架構和使用場景。

2。

嵌入式系統跟通用計算機系統不同,嵌入式系統使用所謂的soc實現硬體的最大整合。

具體來講就是把cpu和外設都封裝在同一個晶片上,也叫soc,或者叫片上系統。

這樣設計有什麼好處呢?最大的好處就是減小系統尺寸、節能省電。

尺寸問題好理解,因為很多嵌入式裝置是手持的,甚至是可穿戴的。

為什麼要考慮節能省電的問題呢?因為嵌入式系統一般都無法做到像個人pc一樣持續供電。

舉個例子:大疆的無人機,就是一個典型的嵌入式系統,你能想象讓它拖著一根電源線上天嗎?顯然不可能。

所以,無人機系統必須要考慮電能的供給和消耗的問題。

供給靠電池,消耗就是系統的事情了,所以低功耗的硬體才能工作更長的時間,而只有嵌入式專用系統才能做到低功耗。

能耗和效能是嵌入式系統設計者需要不斷最佳化和改善的兩個指標。

另外有些外設和介面也是傳統的通用系統所不支援的,所以就需要嵌入式系統來做定製了。

二、再來看軟體部分:嵌入式系統一般採用linux系統(也有wince,vxworks,ucos等),開發語言一般用c語言。

因為c語言的效率高、效能優,這樣可以最大程度的節省能耗、提升效能。

我們在PC上做開發的時候可以選擇java,c#等開發語言,這些語言在開發上給我們提供了很大的便利性,但是程式碼的執行效率並不高。

但是,在嵌入式系統上開發應用軟體需要考慮的最大的因素就是效能,所以最佳的開發語言是c語言。

這也是嵌入式系統和通用系統在軟體開發上的的差異。

以上,我從硬體和軟體這兩個方面解釋了什麼是嵌入式系統,希望對你有所幫助!愛養花2017-09-2803:35:17謝邀請,嵌入式系統是一種嵌入受控器內部,特定應用的計算機系統,嵌入式系統用於各種監視和控制輔助裝置,機器或是工廠的控制系統,與普通計算機系統不同,它是執行的帶有預先定義的有特殊要求的任務。

嵌入式系統只針對一項任務體積較小,可以進行最佳化和減小體積,嵌入式系統是控制程式儲存在ROM中的嵌入式控制板。

現在智慧家居、電子醫療器材、物聯網都是用到嵌入式系統。

Gfilsxin2019-08-0809:48:49嵌入式分為嵌入式硬體和嵌入式軟體。

所謂嵌入式,就是指軟體在特定的嵌入式硬體開發完成後,最後被固化在此硬體平臺中,當硬體啟動後,自動執行軟體,完成特定的功能。

嵌入式系統啟動後,一般是沒有人機互動介面的,但會留有除錯介面,如RS232串列埠、網口,可以透過終端工具檢測軟體執行狀態、下發控制指令等。

硬體工程師嵌入式硬體工程師,主要掌握的是基於CPU設計計算主機板的電路知識。

所以模電、數電、EDA知識是這類工程師的基本功!除此之外,熟悉常用通訊協議和匯流排,如CAN、SPI、I2C、PCIe、DDR,也是硬體工程師應該掌握的技能。

軟體工程師嵌入式軟體工程師,程式語言、資料結構是其基本功,除此之外,還應該熟練掌握以下技能:掌握多執行緒、多程序程式設計技術,理解各種執行緒同步機制,如臨界保護、同步訊號。

知曉程序間通訊技術,如共享記憶體、管道、套接字程式設計技術;瞭解常見外設作用,如CPU、DDR、SDRAM、FLASH、串列埠、網口等;瞭解常見匯流排或通訊協議概念,如資料匯流排、地址匯流排、CAN匯流排、I2C匯流排、SPI匯流排等;理解基於暫存器程式設計概念,也就是硬體驅動程式實現原理。

無論什麼硬體,不管函式介面如何封裝,其內部一定是對硬體各個暫存器的操作;嵌入式程式設計由於受限於硬體資源的大小,所以在記憶體使用上並不像桌面軟體那麼靈活。

比如,在windows下程式設計,函式中的陣列變數可以分配很大的記憶體,這是因為其棧空間預設很大。

但是在嵌入式環境中,最好把這些記憶體大的變數定義到外部儲存硬體中,如SDRAM或DDR,這是因為嵌入式處理器的片內RAM都很小!從這裡可以看出,嵌入式軟體工程師與其他型別軟體工程師有一個很大的不同點,就是需要掌握很多硬體知識,這是由嵌入式開發的特點來決定的。

醫械測試2019-08-0515:25:50【醫械測試楊先生】來回答什麼是嵌入式系統:嵌入式系統是依據不同角度有不同定義的一種系統,往下看:曾在知乎上看到一篇20萬贊文章,回答的是厲害的人是怎麼分析問題的,我覺得對我們會特別有用,其中提到當你講了一大段話後問大家:大家有沒有問題?大家可能會沉默或者回答沒有問題,這時你千萬不要以為大家都聽懂了,更大的可能是:他不知道什麼是真正的聽懂以及為什麼要聽你說這麼一大段話,他沒有一個期望值;不知道自己聽懂了什麼,沒聽懂什麼,處在遊離狀態找不到自己的現狀…因此,不是他完全聽懂了,沒有問題,而是不知道自己有沒有聽懂,不知道什麼算是完全聽懂,因而找不到這個落差在哪裡,沒有發現落差也就沒有發現問題,所以就沉默或者回答:沒有問題。

那麼仔細思考下,我覺得這是很多人都會有的一種現象,既然瞭解了,我們可以避免這種現象發生,至少我自己應該想著如何去改變,基於此,對於這個問題:我覺得可以加深一步提問,什麼是嵌入式系統?嵌入式系統有哪些特點?嵌入式系統有哪些應用?如何學習嵌入式系統?下面一一展開。

什麼是嵌入式系統?從技術的角度定義:以應用為中心,以計算機技術為基礎,軟體硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、重量、功耗嚴格要求的專用計算機系統。

簡而言之,是含有處理器的專用軟硬體系統,具有自主的資訊處理能力(資訊裝備)。

從系統的角度定義:嵌入式系統是設計完成複雜功能的硬體和軟體,並使其緊密耦合在一起的計算機系統。

術語嵌入式反映了這些系統通常是更大系統中的一個完整的部分,稱為嵌入的系統。

嵌入的系統中可以共存多個嵌入式系統。

英國電機工程師協會的定義–Devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants(用於控制、監視或者輔助操作機器和裝置的裝置)。

微機學會的定義–嵌入式系統是以嵌入式應用為目的的計算機系統,可分為系統級、模組級、晶片級。

系統級:各種型別的工控機以標準匯流排互聯(背板結構)的工控機:CPCI、PCI-ISA、VME等。

模組級:各種型別的帶CPU的模組,嵌入式CPU模組:PC104模組、Biscuit板。

晶片級:各種以微控制器、DSP、嵌入式微處理器為核心的產品。

嵌入式系統有那些特點?主要有以下幾個特點:嵌入專用:嵌入式處理器只嵌入在針對特定應用設計的系統中;綜合性強:嵌入式系統是將計算機技術、半導體技術和電子技術與各個行業的具體應用相結合後的產物;設計高效:嵌入式系統的硬體和軟體都必須高效率的設計,量體裁衣、取出冗餘;程式固化:軟體一般都固化在儲存器晶片或處理器本身中,提高了系統的執行速度和可靠性;需要獨立的開發系統:嵌入式系統本身不具備開發能力,必須有一套開發工具和環境才能進行開發;生命週期長:嵌入式系統和具體應用結合在一起,其升級換代一般與具體產品同步進行,因此具有較長的生命週期其他如可靠性高、成本低、功耗低等。

嵌入式系統有哪些應用?應用十分廣泛,例如坦克、導彈、飛機、軍艦、雷達、DVD機、電視機、微波爐、洗衣機、電冰箱、熱水器、手機、MP3播放器、數碼相機、數碼攝像機、機頂盒、鍵盤、滑鼠、快閃記憶體盤、CD-ROM、交換機、路由器,幾乎我們生活中用到的方方面面都有嵌入式系統的“嵌入”。

如何學習嵌入式系統?嵌入式系統看似可以簡單分為硬體與軟體,然而其中卻包含著異常龐大的知識量,也因此令許多新手望而卻步,學習嵌入式系統大致分為三個階段:基礎篇、進階篇、大咖篇。

基礎篇:此階段主要是前期的入門過程,一定要打好基礎,主要學習一下幾個方面(1)電路知識首先要學習電路、模電、數電,認識電阻、電容、電感等基礎器件,放大電路、整合運放、時序電路基本電路能看懂,不然看電路圖一定是雲裡霧裡,也就無法進行後續的工作。

硬體產品的設計實現,包括器件選型、原理圖和PCB設計、電路除錯,都需要過硬的電路基礎。

(2)C語言C語言嵌入式開發中最重要的程式語言,掌握本的資料型別、陣列、指標、結構體,連結串列、檔案操作等都要會,掌握基本語法和語句,保證自己會寫程式的同時也能看懂別人寫的程式。

(3)微控制器微控制器入門相對簡單,透過微控制器的學習可以熟悉微控制器的硬體結構,包括I/O口、AD轉換、通訊(串列埠、並口、I2C、CAN、USB、乙太網、ZigBee技術等)、顯示(LED、LCD等)、控制(PWM等控制技術)、資料處理(圖形、影象、語音、影片等的處理或識別)等,學好微控制器可以為採用嵌入式系統奠定良好的基礎。

(4)Linux基礎Linux的原始碼和架構都是開放的,在嵌入式系統中應用尤為廣泛,學習Linux對於系統的開發會有很大的幫助。

詳細瞭解Linux下的目錄結構、基本命令、編輯器VI、編譯器GCC、偵錯程式GDB和Make專案管理工具,ShellMakefile指令碼編寫等知識,以及嵌入式開發環境的搭建。

進階篇經過第一個階段的學習,你已經可以進行嵌入式開發工作了,但是要進階依舊還有很多知識要學,而這個階段也將是第一個分水嶺,使得優秀的嵌入式工程師得以脫穎而出。

此階段雖然只有三項,但涉及的知識非常廣,要想學好需要花費大量的精力。

1。

Linux程式設計系統程式設計可以直接跟核心及核心系統程式庫對話,深入瞭解Linux核心。

掌握Linux系統程式設計主要提升對Linux應用開發的理解和程式碼除錯的能力。

由於網路應用開發越來越廣泛,透過Linux網路發展、TCP/IP協議、socket程式設計、TCP網路程式設計、UDP網路程式設計、Web程式設計開發等方面入手,可以全面瞭解Linux網路應用程式開發。

2資料結構與演算法資料結構及演算法在嵌入式底層驅動、通訊協議及各種引擎開發中得到了廣泛的應用,語言編譯要使用棧、散列表以及語法樹;作業系統中用佇列、儲存管理表及目錄樹等;資料庫系統運用線型表、多連結串列及索引表進行資料管理等等,對其掌握的好壞直接影響程式的效率、簡潔及健壯性。

3。

QT、DSP、FPGALinux沒有自己介面,學習QT程式設計可以建立藝術級的圖形使用者介面所需的所有功能,從而更好的實現人機互動控制。

而如今使用者對於圖形影象的要求也越來越高,這就需要DSP、FPGA技術來設計開發更好的嵌入式視覺系統。

大咖篇學習了前兩個階段的知識,你已經可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距,其實已經到了第二個分水嶺。

這部分更多涉及系統層面,沒有全方位的知識將會很難下手。

1作業系統平臺開發除了Linux外,嵌入式作業系統還有ARM、WINCE、uC/OSII、Vxworks、uClinux等,不同的系統有著不同的使用環境,你需要學習掌握系統的各個模組,為底層平臺搭建做好準備。

熟悉各個作業系統的特點以及系統的核心移植,確保作業系統能在某個微處理器或微控制器上執行。

隨著手機智慧硬體的快速興起,Android作業系統開發也越來越重要。

2驅動開發驅動程式設計是嵌入式Linux開發工作中非常重要的一部分。

不僅要熟悉Linux的核心機制、驅動程式與使用者級應用程式的介面,掌握系統對裝置的併發操作。

還要具備ARM硬體介面的基礎知識,熟悉ARMCortex處理器各資源、掌握Linux裝置驅動原理框架,以及工程中常見Linux高階字元裝置、塊裝置、網路裝置、USB裝置的驅動開發。

當你學完以上所有的時候,那麼恭喜你,可以說你已經是一個嵌入式系統的大咖了。

但學如逆水行舟,不進則退!活到老,學到老!學無止境。





切記大咖也不能止步不前哦!所以問一句,你聽懂了嗎?覺得不錯的話點個贊然後關注一下,關注評論交流@深圳苦逼強2020-03-1120:11:30談到什麼是嵌入式系統,那就要從什麼是最小系統開始說起。

何為最小系統?包含一個晶片的復位,電源,時鐘。

也就是說,一個程式能夠跑起來的所需要的最小基本設施。

對於嵌入式系統,就目前來說,其實有很多種不同的理解。

拿安卓應用來說,有人說這是嵌入式開發。

但從我個人10年的嵌入式開發經驗來看。

對於嵌入式系統的理解是,非執行在PC架構上的系統都可以稱之為嵌入式系統。

形象點可以說,微控制器,嵌入式Linux,Freeos,ucos,安卓等,這些系統都可以稱之為嵌入式系統。

電巢2020-09-0411:26:01就是微控制器控制系統手機使用者35035702432017-09-2100:27:03”嵌入“是指用使用ROM存放系統程式。

非嵌入系統沒有ROM,系統程式是以多個編譯好的二進位制檔案形式放在硬碟或SD卡等等儲存介質中。

嵌入系統通電後程序是直接從ROM裡”dump“到記憶體(程式機器碼已經按照記憶體儲存的格式事先準備好了),所以開機啟動非常快。

非嵌入系統開機後需要執行復雜的載入程式把系統程式一個個地按順序從儲存介質”load“進記憶體,所以開機很慢。

反過來說就是:嵌入系統是把除錯好的系統記憶體裡的映象原封不動地儲存下來,然後把這個映象檔案燒到ROM裡(這樣就不怕斷電了)。

缺點就是不能再除錯修改系統了,要升級或者打補丁就整個換掉ROM映象,俗稱”燒機“。

三巡科技2020-10-1822:12:19嵌入式系統是指由硬體和軟體組成並且能夠移植到硬體裝置的作業系統。

而相比較於普通的PC作業系統,嵌入式作業系統不能儲存大容量的記憶體和程式。

所以嵌入式作業系統的移植必須要進行裁剪工作才能夠成功在嵌入式裝置進行運作,目前嵌入式作業系統已經廣泛運用在生活中的各種各樣的裝置上。

如智慧電錶、藍芽手環、車載系統、機器人、軍事裝置等等。

而嵌入式系統大致由三大部分組成硬體、驅動、軟體。

首先來說下硬體:嵌入式的硬體和普通的電腦硬體沒有太大區別,也是由CPU、儲存器、I/O介面、GPU(有些系統沒有圖形裝置)、串列埠、網口等部分組成。

但是嵌入式作業系統在速度、功耗、儲存等方面和普通的PC裝置有較大的區別,由於嵌入式作業系統基本上都是運用在中小型裝置上。

所以這類作業系統不可能採用慢的儲存介質、而是採用高速、快速的儲存裝置,比方說NANDFLASH、EPROM等。

接著我們來說下驅動層:嵌入式的驅動層一般所指的是作業系統和硬體的橋樑,作業系統必須要透過這個橋樑才能夠正常控制硬體。

而驅動層一般提供一整套完成的API程式,讓對應的開發者編寫相對應的驅動程式使其硬體能夠正常工作。

在嵌入式作業系統中,驅動層包含了:Flash驅動、串列埠驅動、網口驅動、鍵盤驅動、RTC驅動、DMA驅動等等。

最後是嵌入式作業系統的應用層:嵌入式的應用層基本上屬於整個嵌入式作業系統的最上層,換言之應用層的程式基本上不會和硬體層、驅動層打交道。

而是針對某個特定的應用場景和應用領域完成這些應用場景的需求,而應用層通常包括:多執行緒、多程序、網路程式設計、資料庫、音影片編解碼等等。

而各位小夥伴們覺得,嵌入式系統還運用在哪些方面呢?看完別忘了點個關注喲୧[*ಡ▽ಡ*]୨,您的支援是對M君最大的鼓勵。

按一下會響的蟲2017-10-2101:44:49過去的傳統裝置與裝置都是非智慧的。

計算機出來後,人們就有了一個慾望:希望能將傳統裝置改造成智慧裝置。

最早的做法是,為傳統裝置裡的感測器與控制部件做一個統一介面,與常規計算機的某種IO介面相連線,讓計算機控制傳統裝置,從而升級成智慧裝置。

後來,計算機越做越小,人們就有了新的慾望:能不能把計算機放到裝置裡面去?隨著超大規模積體電路的出現,這就有了可能。

有了以上的說明,現在應該可以拿出定義了:嵌入在被控制裝置裡的計算機系統叫嵌入式系統。

見太2017-09-2517:20:52廣泛定義(個人理解):現階段來講,凡是針對任何特定環境應用,從產品的硬體、作業系統、上層應用進行裁剪研發設計的產品都可稱為嵌入式系統設計。

英國電氣工程師協會(U。

K。

InstitutionofElectricalEngineer)的定義:嵌入式系統為控制、監視或輔助裝置、機器或用於工廠運作的裝置。

與個人計算機這樣的通用計算機系統不同,嵌入式系統通常執行的是帶有特定要求的預先定義的任務。

由於嵌入式系統只針對一項特殊的任務,設計人員能夠對它進行最佳化,減小尺寸降低成本。

嵌入式系統通常進行大量生產,所以單個的成本節約,能夠隨著產量進行成百上千的放大。

國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。

通常,嵌入式系統是一個控制程式儲存在ROM中的嵌入式處理器控制板。

事實上,所有帶有數字介面的裝置,如手錶、微波爐、錄影機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含作業系統,但大多數嵌入式系統都是由單個程式實現整個控制邏輯。

Beepbug2017-12-0315:37:51智慧測控系統的一種。

最早的測控系統都是獨立於被控裝置之外的。

計算機微型化後,就可以把測控系統安裝在被控裝置內。

這種控制系統就叫嵌入式系統。

嵌入裝置的電腦系統。

譬如我們家裡的電子秤、電子鐘錶、機頂盒、遊戲機、空調、掃地機器人、洗衣機、微波爐、電子體溫計、電子血壓計、智慧玩具、監控、電子門控等等,這些裡面都是嵌入式系統。

華清遠見成都中心2020-09-1411:19:53嵌入式系統無處不在。

通常情況下,人們往往會忽視自己身邊的嵌入式系統——比如手機,取款機或者電梯等等,在這些隨處可見的裝置中就存在嵌入式系統,有時人們經常使用嵌入在汽車,電梯,PDA,程控交換機等裝置中的小巧的計算機系統,而對此毫無察覺。

此外,嵌入式系統還經常在工業機器人,醫療裝置,衛星,飛行系統等領域扮演著更為重要的角色。

正是“看不見”和“無所不在”這樣的特性使得嵌入式計算機系統有別於傳統的計算機系統。

一、嵌入式系統簡介嵌入式系統本身是一個相對模糊的定義。

目前嵌入式系統已經滲透到我們生活中的每個角落,工業、服務業、消費電子……,而恰恰由於這種範圍的擴大,使得“嵌入式系統”更加難於明確定義。

舉個簡單例子:一個手持的mp3是否可以叫做是嵌入式系統呢?答案肯定是“是”。

另外一個PC104的微型工業控制計算機你會認為它是嵌入式系統嗎?當然,也是,工業控制是嵌入式系統技術的一個典型應用領域。

然而比較兩者,你也許會發現二者幾乎完全不同,除了其中都嵌入有微處理器。

那是否可以說嵌入著微處理器的裝置就是嵌入式系統?那滑鼠中也有微控制器,能叫嵌入式系統嘛?那到底什麼是嵌入式系統?莫非嵌入式系統只是一個難以定義的抽象概念?二、嵌入式系統的歷史雖然嵌入式系統是近幾年才風靡起來的,但是這個概念並非新近才出現。

從20世紀七十年代微控制器的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。

作為一個系統,往往是在硬體和軟體交替發展的雙螺旋的支撐下逐漸趨於穩定和成熟,嵌入式系統也不例外。

嵌入式系統的出現是基於微控制器的。

70年代微控制器的出現,使得汽車、家電、工業機器、通訊裝置以及成千上萬種產品可以透過內嵌電子裝置來獲得更佳的使用效能:更容易使用、更快、更便宜。

這些裝置已經初步具備了嵌入式的應用特點,但是這時的應用只是使用8位的晶片,執行一些單執行緒的程式,還談不上“系統”的概念。

提示:早的微控制器是Intel公司的8048,它出現在1976年。

Motorola同時推出了68HC05,Zilog公司推出了Z80系列,這些早期的微控制器均含有256位元組的RAM、4K的ROM、4個8位並口、1個全雙工序列口、兩個16位定時器。

之後在80年代初,Intel又進一步完善了8048,在它的基礎上研製成功了8051,這在微控制器的歷史上是值得紀念的一頁,迄今為止,51系列的微控制器仍然是為成功的微控制器晶片,在各種產品中有著非常廣泛的應用。

從80年代早期開始,嵌入式系統的程式設計師開始用商業級的“作業系統”編寫嵌入式應用軟體,這使得可以獲取更短的開發週期,更低的開發資金和更高的開發效率,“嵌入式系統”真正出現了。

確切點說,這個時候的作業系統是一個實時核,這個實時核包含了許多傳統作業系統的特徵,包括任務管理、任務間通訊、同步與相互排斥、中斷支援、記憶體管理等功能。

其中比較著名的有ReadySystem公司的VRTX、IntegratedSystemIncorporation(ISI)的PSOS和IMG的VxWorks、QNX公司的QNX等。

這些嵌入式作業系統都具有嵌入式的典型特點:它們均採用佔先式的排程,響應的時間很短,任務執行的時間可以確定;系統核心很小,具有可裁剪,可擴充和可移植性,可以移植到各種處理器上;較強的實時和可靠性,適合嵌入式應用。

這些嵌入式實時多工作業系統的出現,使得應用開發人員得以從小範圍的開發解放出來,同時也促使嵌入式有了更為廣闊的應用空間。

90年代以後,隨著對實時性要求的提高,軟體規模不斷上升,實時核逐漸發展為實時多工作業系統(RTOS),並作為一種軟體平臺逐步成為目前嵌入式系統的主流。

這時候更多的公司看到了嵌入式系統的廣闊發展前景,開始大力發展自己的嵌入式作業系統。

除了上面的幾家老牌公司以外,還出現了PalmOS,WinCE,嵌入式Linux,Lynx,Nucleux,以及的Hopen,DeltaOs等嵌入式作業系統。

隨著嵌入式技術的發展前景日益廣闊,相信會有更多的嵌入式作業系統軟體出現。

在嵌入式系統領域,比較認同的嵌入式系統概念是:嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。

它一般由嵌入式微處理器、外圍硬體裝置、嵌入式作業系統以及使用者的應用程式等四個部分組成,用於實現對其他裝置的控制、監視或管理等功能。

研發一條狗2019-08-0516:32:14嵌入式就是“嵌”在硬體裡面的程式,有些公司叫它底層韌體。

舉個栗子,我們每天用的手機,就是一個非常典型並且複雜的嵌入式系統。

首先是硬體部分,它有一個核心CPU,這是嵌入式裝置的大腦。

那還有一些連線到CPU上的外設,比如螢幕,揚聲器,攝像頭等等,這些是嵌入式裝置的四肢。

那嵌入式程式就是要燒錄進CPU的程式,這段程式首先驅動螢幕等外部裝置,使他們能夠工作。

第二決定整個裝置完成哪些工作。

再舉個更簡單的,比如一個智慧溫度計,它有這樣的功能,監測環境溫度,然後每隔一個小時進行一次語音播報。

那這個產品主要會有一個CPU,一個溫度感測器,一個揚聲器。

嵌入式程式就可以控制溫度感測器監測溫度,然後設定一個定時器,每隔一個小時再驅動揚聲器進行一次語音播報。

嵌入式要學什麼?1,基本硬體電路。

一般大公司硬體和嵌入式軟體是分開的崗位,而小公司硬體和嵌入式是合併在一起的。

就單純嵌入式開發而言,至少得能看得懂電路圖。

知道硬體電路部分的連線和基本原理。

單純嵌入式可以不會硬體開發,但至少要能看得懂,否則CPU使用哪個引腳去控制都不懂得話,就完全沒辦法進行嵌入式開發。

2,C語言或者C++語言一般而言嵌入式開發都使用這兩種語言。

一方面是靈活性高,執行快。

另一方面是很多MCU的廠商對於C語言的支援會比較好,有相當多的整合庫可以使用。

最快的是組合語言,但是這個學習難度非常高,在現在商業環境中已經很少有精通的工程師了。

但是不可否認會彙編的都是大牛。

當然其他語言也能進行嵌入式開發,但是很多會有支援問題。

3,英語。

很多講嵌入式的不會講到這個。

但是英語在嵌入式開發中很重要。

因為現在主流的嵌入式晶片基本都是國外的。

做嵌入式開發難免要參考資料手冊,使用者參考手冊,應用資訊等資料,而這些基本都是英文的,很少有中文的。

以上三點學好了基本搞嵌入式沒什麼問題。

工業中很多嵌入式系統比較簡單,用的8位MCU,程式也很簡單。

稍微複雜一點的可能用個32位的晶片。

再複雜一點的就類似手機平板這種,必須得上系統了。

安卓就是一個嵌入式系統。

一些簡單的應用不需要完成安卓這麼複雜的功能,那麼一般嵌入式工程師會自己寫一個狀態機,也就是一個很簡單的系統。

嵌入式入門還算簡單,但是要精通比較困難。

如果想學的話,我建議從STM32開始,一方面應用非常廣泛,另一方面資料也多網上課程也多,價格還不貴。

電子芯吧客2020-08-2116:59:33嵌入式主要涉及到軟體和硬體兩大方面,軟體分為驅動層、應用層、核心層,硬體按等級分就是微控制器、微處理器、處理器三級。

雲逸風清2019-08-0517:58:38嵌入式系統是用於控制監視或者輔助操作機械和裝置的裝置是一種專用的計算機系統。

嵌入式系統需要了解的知識面,需要掌握的知識,有鑲入式系統組成;系統的特點;解決方案;系統初始化;系統軟體。

上一篇國產車中擁有最漂亮中控臺的是哪輛車?下一篇為什麼科技如此發達的今天,人類卻停止了外太空的探索?猜你喜歡膝上型電腦按開機鍵後螢幕亮一下後又關機了是什麼問題?安卓手機能不能換成原生系統?如何操作?初學c語言的人該學習什麼?該如何入手?搜索隨便看看2021-12-26淨水器如何更換濾芯?陳百強有女朋友嗎?2021-12-25沃爾沃S60L和英菲尼迪Q50L,選哪個好?2018-02-27天籟2.0安全性怎麼樣,值得入手嗎?2021-12-25首頁娛樂體育汽車科技育兒歷史美食數碼時尚寵物收藏教育財經社會國際Copyright©2021小熊問答



請為這篇文章評分?