{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

什么是嵌入式系統(tǒng)?

weakishweakish 回答0 收藏1
收藏問題

10條回答

Nino

Nino

回答于2022-06-28 12:00

嵌入式系統(tǒng)是一個計算機系統(tǒng),在一個較大的機械或電氣系統(tǒng)中具有專用功能,通常具有實時計算約束,作為一個完整的設(shè)備的一部分被嵌入,通常包括硬件和機械部件。嵌入式系統(tǒng)控制著今天常用的許多設(shè)備, 98%的微處理器都是作為嵌入式系統(tǒng)的組件制造的。

典型的嵌入式計算機與通用相對應(yīng)的計算機屬性的例子是低功耗,小尺寸,穩(wěn)定的操作范圍和低單位成本。這是以有限的處理資源為代價的,這使得編程和交互更加困難。然而,通過在硬件之上構(gòu)建智能機制,利用可能存在的傳感器和嵌入式單元網(wǎng)絡(luò)的存在,既可以優(yōu)化管理單元和網(wǎng)絡(luò)級別的可用資源,又可以提供增強的功能,遠(yuǎn)遠(yuǎn)超越那些可用。例如,可以設(shè)計智能技術(shù)來管理嵌入式系統(tǒng)的功耗。 數(shù)字信號處理器(DSP)是一種常見的標(biāo)準(zhǔn)專用處理器。

由于嵌入式系統(tǒng)專用于特定任務(wù),設(shè)計工程師可以對其進行優(yōu)化,以減少產(chǎn)品的尺寸和成本,并提高可靠性和性能。一些嵌入式系統(tǒng)是大規(guī)模生產(chǎn)的,受益于規(guī)模經(jīng)濟。

嵌入式系統(tǒng)的范圍從便攜式設(shè)備(如數(shù)字手表和MP3播放器)到大型固定安裝(如交通信號燈,工廠控制器以及復(fù)雜系統(tǒng),如混合動力車輛,MRI和航空電子設(shè)備)。復(fù)雜性從單個微控制器芯片的低端到具有多個單元的高端設(shè)備,外圍設(shè)備和網(wǎng)絡(luò)安裝在大型機箱或機箱內(nèi)。

了解更多硅谷前沿深度訊息請看 硅發(fā)布 微信公眾號

評論0 贊同0
  •  加載中...
inapt

inapt

回答于2022-06-28 12:00

所謂嵌入式系統(tǒng),指的是為特定應(yīng)用而設(shè)計的專用計算機系統(tǒng),嵌入式系統(tǒng)由硬件+軟件構(gòu)成。我們分別從硬件和軟件這兩個方面來講述。


一、我們來看硬件部分:

我們都有使用個人桌面電腦的經(jīng)歷,而個人電腦系統(tǒng)屬于通用計算機系統(tǒng)。那嵌入式系統(tǒng)跟通用系統(tǒng)在硬件設(shè)計上有什么區(qū)別呢?

1. 通用計算機系統(tǒng)

這里所講的通用計算機系統(tǒng),主要指的是intel x86系統(tǒng)。這種系統(tǒng)基本由intel cpu + 南北橋芯片組成。cpu通過南橋連接到低速外設(shè),比如:實時時鐘、usb、以太網(wǎng)、wifi、藍(lán)牙等;通過北橋連接到高速外設(shè),比如:內(nèi)存,顯卡等。

這樣設(shè)計的通用系統(tǒng)性能非常強大。比如,我們可以在個人電腦上辦公、運行大型軟件、玩游戲、運行photoshop等。

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

以上是通用系統(tǒng)(以個人電腦為例)的硬件架構(gòu)和使用場景。

2. 嵌入式系統(tǒng)

跟通用計算機系統(tǒng)不同,嵌入式系統(tǒng)使用所謂的soc實現(xiàn)硬件的最大集成。具體來講就是把cpu和外設(shè)都封裝在同一個芯片上,也叫soc,或者叫片上系統(tǒng)。

這樣設(shè)計有什么好處呢?最大的好處就是減小系統(tǒng)尺寸、節(jié)能省電。

尺寸問題好理解,因為很多嵌入式設(shè)備是手持的,甚至是可穿戴的。

為什么要考慮節(jié)能省電的問題呢?因為嵌入式系統(tǒng)一般都無法做到像個人pc一樣持續(xù)供電。舉個例子:大疆的無人機,就是一個典型的嵌入式系統(tǒng),你能想象讓它拖著一根電源線上天嗎?顯然不可能。所以,無人機系統(tǒng)必須要考慮電能的供給和消耗的問題。供給靠電池,消耗就是系統(tǒng)的事情了,所以低功耗的硬件才能工作更長的時間,而只有嵌入式專用系統(tǒng)才能做到低功耗。能耗和性能是嵌入式系統(tǒng)設(shè)計者需要不斷優(yōu)化和改善的兩個指標(biāo)。

另外有些外設(shè)和接口也是傳統(tǒng)的通用系統(tǒng)所不支持的,所以就需要嵌入式系統(tǒng)來做定制了。


二、再來看軟件部分:

嵌入式系統(tǒng)一般采用linux系統(tǒng)(也有wince,vxworks,ucos等),開發(fā)語言一般用c語言。因為c語言的效率高、性能優(yōu),這樣可以最大程度的節(jié)省能耗、提升性能。我們在PC上做開發(fā)的時候可以選擇java,c#等開發(fā)語言,這些語言在開發(fā)上給我們提供了很大的便利性,但是代碼的執(zhí)行效率并不高。但是,在嵌入式系統(tǒng)上開發(fā)應(yīng)用軟件需要考慮的最大的因素就是性能,所以最佳的開發(fā)語言是c語言。這也是嵌入式系統(tǒng)和通用系統(tǒng)在軟件開發(fā)上的的差異。


以上,我從硬件和軟件這兩個方面解釋了什么是嵌入式系統(tǒng),希望對你有所幫助!

評論0 贊同0
  •  加載中...
wudengzan

wudengzan

回答于2022-06-28 12:00



嵌入式分為嵌入式硬件和嵌入式軟件。所謂嵌入式,就是指軟件在特定的嵌入式硬件開發(fā)完成后,最后被固化在此硬件平臺中,當(dāng)硬件啟動后,自動執(zhí)行軟件,完成特定的功能。

嵌入式系統(tǒng)啟動后,一般是沒有人機交互界面的,但會留有調(diào)試接口,如RS232串口、網(wǎng)口,可以通過終端工具檢測軟件運行狀態(tài)、下發(fā)控制指令等。

硬件工程師



嵌入式硬件工程師,主要掌握的是基于CPU設(shè)計計算主板的電路知識。所以模電、數(shù)電、EDA知識是這類工程師的基本功!除此之外,熟悉常用通信協(xié)議和總線,如CAN、SPI、I2C、PCIe、DDR,也是硬件工程師應(yīng)該掌握的技能。

軟件工程師

嵌入式軟件工程師,編程語言、數(shù)據(jù)結(jié)構(gòu)是其基本功,除此之外,還應(yīng)該熟練掌握以下技能:

  1. 掌握多線程、多進程編程技術(shù),理解各種線程同步機制,如臨界保護、同步信號。知曉進程間通信技術(shù),如共享內(nèi)存、管道、套接字編程技術(shù);
  2. 了解常見外設(shè)作用,如CPU、DDR、SDRAM、FLASH、串口、網(wǎng)口等;
  3. 了解常見總線或通信協(xié)議概念,如數(shù)據(jù)總線、地址總線、CAN總線、I2C總線、SPI總線等;
  4. 理解基于寄存器編程概念,也就是硬件驅(qū)動程序?qū)崿F(xiàn)原理。無論什么硬件,不管函數(shù)接口如何封裝,其內(nèi)部一定是對硬件各個寄存器的操作;
嵌入式編程由于受限于硬件資源的大小,所以在內(nèi)存使用上并不像桌面軟件那么靈活。比如,在windows下編程,函數(shù)中的數(shù)組變量可以分配很大的內(nèi)存,這是因為其棧空間默認(rèn)很大。但是在嵌入式環(huán)境中,最好把這些內(nèi)存大的變量定義到外部存儲硬件中,如SDRAM或DDR,這是因為嵌入式處理器的片內(nèi)RAM都很小!

從這里可以看出,嵌入式軟件工程師與其他類型軟件工程師有一個很大的不同點,就是需要掌握很多硬件知識,這是由嵌入式開發(fā)的特點來決定的。

評論0 贊同0
  •  加載中...
SQC

SQC

回答于2022-06-28 12:00

【醫(yī)械測試楊先生】來回答什么是嵌入式系統(tǒng):嵌入式系統(tǒng)是依據(jù)不同角度有不同定義的一種系統(tǒng),往下看:

曾在知乎上看到一篇20萬贊文章,回答的是厲害的人是怎么分析問題的,我覺得對我們會特別有用,其中提到當(dāng)你講了一大段話后問大家:大家有沒有問題?大家可能會沉默或者回答沒有問題,這時你千萬不要以為大家都聽懂了,更大的可能是:他不知道什么是真正的聽懂以及為什么要聽你說這么一大段話,他沒有一個期望值;不知道自己聽懂了什么,沒聽懂什么,處在游離狀態(tài)找不到自己的現(xiàn)狀…因此,不是他完全聽懂了,沒有問題,而是不知道自己有沒有聽懂,不知道什么算是完全聽懂,因而找不到這個落差在哪里,沒有發(fā)現(xiàn)落差也就沒有發(fā)現(xiàn)問題,所以就沉默或者回答:沒有問題。

那么仔細(xì)思考下,我覺得這是很多人都會有的一種現(xiàn)象,既然了解了,我們可以避免這種現(xiàn)象發(fā)生,至少我自己應(yīng)該想著如何去改變,基于此,對于這個問題:我覺得可以加深一步提問,什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)有哪些特點?嵌入式系統(tǒng)有哪些應(yīng)用?如何學(xué)習(xí)嵌入式系統(tǒng)? 下面一一展開。

什么是嵌入式系統(tǒng)?

從技術(shù)的角度定義:以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、重量、功耗嚴(yán)格要求的專用計算機系統(tǒng)。簡而言之,是含有處理器的專用軟硬件系統(tǒng),具有自主的信息處理能力( 信息裝備)。

從系統(tǒng)的角度定義:嵌入式系統(tǒng)是設(shè)計完成復(fù)雜功能的硬件和軟件,并使 其緊密耦合在一起的計算機系統(tǒng)。術(shù)語嵌入式反映了這些系統(tǒng)通常是更大系統(tǒng)中的一個完整的部分,稱為嵌入的系統(tǒng)。嵌入的系統(tǒng)中可以共存多個嵌入式系統(tǒng)。

英國電機工程師協(xié)會的定義– Devices used to control, monitor, or assist theoperation of equipment, machinery or plants(用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置)。

微機學(xué)會的定義– 嵌入式系統(tǒng)是以嵌入式應(yīng)用為目的的計算機系統(tǒng),可分為系統(tǒng)級、 模塊級、 芯片級。

系統(tǒng)級:各種類型的工控機 以標(biāo)準(zhǔn)總線互聯(lián)(背板結(jié)構(gòu))的工控機: CPCI、 PCI-ISA、 VME 等。

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

芯片級:各種以微控制器、 DSP、嵌入式微處理器為核心的產(chǎn)品。

嵌入式系統(tǒng)有那些特點?

主要有以下幾個特點:

嵌入專用:嵌入式處理器只嵌入在針對特定應(yīng)用設(shè)計的系統(tǒng)中;

綜合性強:嵌入式系統(tǒng)是將計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物;

設(shè)計高效:嵌入式系統(tǒng)的硬件和軟件都必須高效率的設(shè)計,量體裁衣、取出冗余;

程序固化:軟件一般都固化在存儲器芯片或處理器本身中,提高了系統(tǒng)的執(zhí)行速度和可靠性;

需要獨立的開發(fā)系統(tǒng):嵌入式系統(tǒng)本身不具備開發(fā)能力,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā);

生命周期長:嵌入式系統(tǒng)和具體應(yīng)用結(jié)合在一起,其升級換代一般與具體產(chǎn)品同步進行,因此具有較長的生命周期

其他如可靠性高、成本低、功耗低等。

嵌入式系統(tǒng)有哪些應(yīng)用?

應(yīng)用十分廣泛,例如坦克、導(dǎo)彈、飛機、軍艦、雷達、DVD機、電視機、微波爐、洗衣機、電冰箱、熱水器、手機、 MP3播放器、數(shù)碼相機、數(shù)碼攝像機、機頂盒、鍵盤、鼠標(biāo)、閃存盤、 CD-ROM、交換機、路由器,幾乎我們生活中用到的方方面面都有嵌入式系統(tǒng)的“嵌入”。

如何學(xué)習(xí)嵌入式系統(tǒng)?

嵌入式系統(tǒng)看似可以簡單分為硬件與軟件,然而其中卻包含著異常龐大的知識量,也因此令許多新手望而卻步,學(xué)習(xí)嵌入式系統(tǒng)大致分為三個階段:基礎(chǔ)篇、進階篇、大咖篇。

基礎(chǔ)篇:

此階段主要是前期的入門過程,一定要打好基礎(chǔ),主要學(xué)習(xí)一下幾個方面

(1)電路知識

首先要學(xué)習(xí)電路、模電、數(shù)電,認(rèn)識電阻、電容、電感等基礎(chǔ)器件,放大電路、集成運放、時序電路基本電路能看懂,不然看電路圖一定是云里霧里,也就無法進行后續(xù)的工作。硬件產(chǎn)品的設(shè)計實現(xiàn),包括器件選型、原理圖和PCB設(shè)計、電路調(diào)試,都需要過硬的電路基礎(chǔ)。

(2)C語言

C語言嵌入式開發(fā)中最重要的編程語言,掌握本的數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體,鏈表、文件操作等都要會,掌握基本語法和語句,保證自己會寫程序的同時也能看懂別人寫的程序。

(3)單片機

單片機入門相對簡單,通過單片機的學(xué)習(xí)可以熟悉單片機的硬件結(jié)構(gòu),包括I/O口、AD轉(zhuǎn)換、通信(串口、并口、I2C、CAN、USB、以太網(wǎng)、ZigBee技術(shù)等)、顯示(LED、LCD等)、控制(PWM等控制技術(shù))、數(shù)據(jù)處理(圖形、圖像、語音、視頻等的處理或識別)等,學(xué)好單片機可以為采用嵌入式系統(tǒng)奠定良好的基礎(chǔ)。

(4)Linux基礎(chǔ)

Linux的源碼和架構(gòu)都是開放的,在嵌入式系統(tǒng)中應(yīng)用尤為廣泛,學(xué)習(xí)Linux對于系統(tǒng)的開發(fā)會有很大的幫助。詳細(xì)了解Linux下的目錄結(jié)構(gòu)、基本命令、編輯器VI、編譯器GCC、調(diào)試器GDB和 Make 項目管理工具,Shell Makefile腳本編寫等知識,以及嵌入式開發(fā)環(huán)境的搭建。

進階篇

經(jīng)過第一個階段的學(xué)習(xí),你已經(jīng)可以進行嵌入式開發(fā)工作了,但是要進階依舊還有很多知識要學(xué),而這個階段也將是第一個分水嶺,使得優(yōu)秀的嵌入式工程師得以脫穎而出。此階段雖然只有三項,但涉及的知識非常廣,要想學(xué)好需要花費大量的精力。

1.Linux編程

系統(tǒng)編程可以直接跟內(nèi)核及核心系統(tǒng)程序庫對話,深入了解Linux內(nèi)核。掌握Linux系統(tǒng)編程主要提升對Linux應(yīng)用開發(fā)的理解和代碼調(diào)試的能力。由于網(wǎng)絡(luò)應(yīng)用開發(fā)越來越廣泛,通過Linux網(wǎng)絡(luò)發(fā)展、TCP/IP協(xié)議、socket編程、TCP網(wǎng)絡(luò)編程、UDP網(wǎng)絡(luò)編程、Web編程開發(fā)等方面入手,可以全面了解Linux網(wǎng)絡(luò)應(yīng)用程序開發(fā)。

2數(shù)據(jù)結(jié)構(gòu)與算法

數(shù)據(jù)結(jié)構(gòu)及算法在嵌入式底層驅(qū)動、通信協(xié)議及各種引擎開發(fā)中得到了廣泛的應(yīng)用,語言編譯要使用棧、散列表以及語法樹;操作系統(tǒng)中用隊列、存儲管理表及目錄樹等;數(shù)據(jù)庫系統(tǒng)運用線型表、多鏈表及索引表進行數(shù)據(jù)管理等等,對其掌握的好壞直接影響程序的效率、簡潔及健壯性。

3.QT、DSP、FPGA

Linux沒有自己界面,學(xué)習(xí)QT編程可以創(chuàng)建藝術(shù)級的圖形用戶界面所需的所有功能,從而更好的實現(xiàn)人機交互控制。而如今用戶對于圖形圖像的要求也越來越高,這就需要DSP、FPGA技術(shù)來設(shè)計開發(fā)更好的嵌入式視覺系統(tǒng)。

大咖篇

學(xué)習(xí)了前兩個階段的知識,你已經(jīng)可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距,其實已經(jīng)到了第二個分水嶺。這部分更多涉及系統(tǒng)層面,沒有全方位的知識將會很難下手。

1操作系統(tǒng)平臺開發(fā)

除了Linux外,嵌入式操作系統(tǒng)還有ARM、WINCE、uC/OS II、Vxworks、uClinux等,不同的系統(tǒng)有著不同的使用環(huán)境,你需要學(xué)習(xí)掌握系統(tǒng)的各個模塊,為底層平臺搭建做好準(zhǔn)備。熟悉各個操作系統(tǒng)的特點以及系統(tǒng)的內(nèi)核移植,確保操作系統(tǒng)能在某個微處理器或微控制器上運行。隨著手機智能硬件的快速興起,Android操作系統(tǒng)開發(fā)也越來越重要。

2驅(qū)動開發(fā)

驅(qū)動程序設(shè)計是嵌入式Linux開發(fā)工作中非常重要的一部分。不僅要熟悉Linux的內(nèi)核機制、驅(qū)動程序與用戶級應(yīng)用程序的接口,掌握系統(tǒng)對設(shè)備的并發(fā)操作。還要具備ARM硬件接口的基礎(chǔ)知識,熟悉ARM Cortex處理器各資源、掌握Linux設(shè)備驅(qū)動原理框架,以及工程中常見Linux高級字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備、USB設(shè)備的驅(qū)動開發(fā)。

當(dāng)你學(xué)完以上所有的時候,那么恭喜你,可以說你已經(jīng)是一個嵌入式系統(tǒng)的大咖了。

但學(xué)如逆水行舟,不進則退!活到老,學(xué)到老!學(xué)無止境...切記大咖也不能止步不前哦!

所以問一句,你聽懂了嗎?

覺得不錯的話點個贊然后關(guān)注一下,關(guān)注評論交流@

評論0 贊同0
  •  加載中...
gclove

gclove

回答于2022-06-28 12:00

談到什么是嵌入式系統(tǒng),那就要從什么是最小系統(tǒng)開始說起。

何為最小系統(tǒng)?

包含一個芯片的復(fù)位,電源,時鐘。也就是說,一個程序能夠跑起來的所需要的最小基本設(shè)施。

對于嵌入式系統(tǒng),就目前來說,其實有很多種不同的理解。拿安卓應(yīng)用來說,有人說這是嵌入式開發(fā)。但從我個人10年的嵌入式開發(fā)經(jīng)驗來看。對于嵌入式系統(tǒng)的理解是,非運行在PC架構(gòu)上的系統(tǒng)都可以稱之為嵌入式系統(tǒng)。

形象點可以說,單片機,嵌入式Linux,F(xiàn)reeos,ucos,安卓等,這些系統(tǒng)都可以稱之為嵌入式系統(tǒng)。

評論0 贊同0
  •  加載中...
2i18ns

2i18ns

回答于2022-06-28 12:00

嵌入式系統(tǒng)的定義很多,這也是困擾嵌入式系統(tǒng)學(xué)習(xí)的一個因素。多年和嵌入式設(shè)備及開發(fā)人員的接觸,提出了嵌入式系統(tǒng)的簡單定義:嵌入式系統(tǒng)是嵌入式計算機系統(tǒng)的簡稱,這個定義突出嵌入式計算機系統(tǒng)和普通計算機系統(tǒng)的共性?,F(xiàn)在隨著邊緣計算的越來越火熱,嵌入式開發(fā)也會逐漸成為新型科技市場的熱門領(lǐng)域,雖然這是一個幾十年就存在的技術(shù)和崗位。

如果題主真想入坑想學(xué)好嵌入式我查詢了一些資料供您參考一下,注定是一場攻堅之旅,成為一位合格厲害的嵌入式開發(fā)工程師需要逐級掌握以下這些開發(fā)知識(升級之路):

第一階段:打基礎(chǔ)階段即初級工程師或工程師助理

  1.電路知識 首先你要學(xué)習(xí)電路、模電,認(rèn)識電阻、電容、三極管,基礎(chǔ)器件,放大電路、集成運放、時序電路基本電路能看懂,不然看電路圖一定是云里霧里,也就無法進行后續(xù)的工作。硬件產(chǎn)品的設(shè)計實現(xiàn),包括器件選型、原理圖和PCB設(shè)計都需要過硬的電路基礎(chǔ)。

  2.C語言

  C語言是嵌入式開發(fā)中最重要的編程語言,要對這門語言有深入的理解,畢竟不僅僅要會寫程序,看懂他人程序也很重要。最基本的數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體,鏈表、文件操作等都要會,掌握基本語法和語句,不然你要能區(qū)分指針數(shù)組與數(shù)組指針嗎?

  3.單片機

單片機入門相對簡單,通過單片機的學(xué)習(xí)可以熟悉單片機的硬件結(jié)構(gòu),包括I/O口、AD轉(zhuǎn)換、通信(串口、并口、I2C、CAN、USB、以太網(wǎng)、ZigBee技術(shù)等)、顯示(LED、LCD等)、控制(PWM等控制技術(shù))、數(shù)據(jù)處理等,學(xué)好單片機可以為采用嵌入式系統(tǒng)奠定良好的基礎(chǔ)。

  4Linux基礎(chǔ)

  Linux的源碼和架構(gòu)都是開放的,在嵌入式系統(tǒng)中應(yīng)用尤為廣泛,學(xué)習(xí)Linux對于系統(tǒng)的開發(fā)會有很大的幫助。詳細(xì)了解Linux下的目錄結(jié)構(gòu)、基本命令、編輯器、編譯器、調(diào)試器,Shell Makefile腳本編寫等知識,以及嵌入式開發(fā)環(huán)境的搭建。

第二階段:相當(dāng)于中級工程師需要掌握的技術(shù)

  1.Linux編程

  系統(tǒng)編程可以直接跟內(nèi)核及核心系統(tǒng)程序庫對話,深入了解Linux內(nèi)核。掌握Linux系統(tǒng)編程主要提升對Linux應(yīng)用開發(fā)的理解和代碼調(diào)試的能力。由于網(wǎng)絡(luò)應(yīng)用開發(fā)越來越廣泛,通過Linux網(wǎng)絡(luò)發(fā)展、TCP/IP協(xié)議、socket編程、TCP網(wǎng)絡(luò)編程、UDP網(wǎng)絡(luò)編程、Web編程開發(fā)等方面入手,可以全面了解Linux網(wǎng)絡(luò)應(yīng)用程序開發(fā)。

  2數(shù)據(jù)結(jié)構(gòu)與算法

數(shù)據(jù)結(jié)構(gòu)及算法在嵌入式底層驅(qū)動、通信協(xié)議及各種引擎開發(fā)中得到了廣泛的應(yīng)用,語言編譯要使用棧、散列表以及語法樹;操作系統(tǒng)中用隊列、存儲管理表及目錄樹等;數(shù)據(jù)庫系統(tǒng)運用線型表、多鏈表及索引表進行數(shù)據(jù)管理等等,對其掌握的好壞直接影響程序的效率、簡潔及健壯性。

  3.QT、DSP、FPGA

  Linux沒有自己界面,學(xué)習(xí)QT編程可以創(chuàng)建藝術(shù)級的圖形用戶界面所需的所有功能,從而更好的實現(xiàn)人機交互控制。

第三階段:高級工程師

  學(xué)習(xí)了前兩個階段的知識,你已經(jīng)可以勝任大部分嵌入式工作了,但是距離大咖仍有一定的差距,其實已經(jīng)到了第二個分水嶺。這部分更多涉及系統(tǒng)層面,沒有全方位的知識將會很難下手。

  1操作系統(tǒng)平臺開發(fā)

除了Linux外,嵌入式操作系統(tǒng)還有ARM、WINCE、uClinux等,不同的系統(tǒng)有著不同的使用環(huán)境,你需要學(xué)習(xí)掌握系統(tǒng)的各個模塊,為底層平臺搭建做好準(zhǔn)備

  2驅(qū)動開發(fā)

驅(qū)動程序設(shè)計是嵌入式Linux開發(fā)工作中非常重要的一部分。不僅要熟悉Linux的內(nèi)核機制、驅(qū)動程序與用戶級應(yīng)用程序的接口,熟悉ARM Cortex處理器各資源、掌握Linux設(shè)備驅(qū)動原理框架,以及工程中常見Linux高級字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備、USB設(shè)備的驅(qū)動開發(fā)。

評論0 贊同0
  •  加載中...
tain335

tain335

回答于2022-06-28 12:00

就是單片機控制系統(tǒng)

評論0 贊同0
  •  加載中...
afishhhhh

afishhhhh

回答于2022-06-28 12:00



嵌入式系統(tǒng)是指由硬件和軟件組成并且能夠移植到硬件設(shè)備的操作系統(tǒng)。而相比較于普通的PC操作系統(tǒng),嵌入式操作系統(tǒng)不能存儲大容量的內(nèi)存和程序。所以嵌入式操作系統(tǒng)的移植必須要進行裁剪工作才能夠成功在嵌入式設(shè)備進行運作,目前嵌入式操作系統(tǒng)已經(jīng)廣泛運用在生活中的各種各樣的設(shè)備上。如智能電表、藍(lán)牙手環(huán)、車載系統(tǒng)、機器人、軍事設(shè)備等等。







而嵌入式系統(tǒng)大致由三大部分組成硬件、驅(qū)動、軟件。首先來說下硬件:嵌入式的硬件和普通的電腦硬件沒有太大區(qū)別,也是由CPU、存儲器、I/O接口、GPU(有些系統(tǒng)沒有圖形設(shè)備)、串口、網(wǎng)口等部分組成。但是嵌入式操作系統(tǒng)在速度、功耗、存儲等方面和普通的PC設(shè)備有較大的區(qū)別,由于嵌入式操作系統(tǒng)基本上都是運用在中小型設(shè)備上。所以這類操作系統(tǒng)不可能采用慢的存儲介質(zhì)、而是采用高速、快速的存儲設(shè)備,比方說NAND FLASH、EPROM等。





接著我們來說下驅(qū)動層:嵌入式的驅(qū)動層一般所指的是操作系統(tǒng)和硬件的橋梁,操作系統(tǒng)必須要通過這個橋梁才能夠正??刂朴布?。而驅(qū)動層一般提供一整套完成的API程序,讓對應(yīng)的開發(fā)者編寫相對應(yīng)的驅(qū)動程序使其硬件能夠正常工作。在嵌入式操作系統(tǒng)中,驅(qū)動層包含了:Flash驅(qū)動、串口驅(qū)動、網(wǎng)口驅(qū)動、鍵盤驅(qū)動、RTC驅(qū)動、DMA驅(qū)動等等。




最后是嵌入式操作系統(tǒng)的應(yīng)用層:嵌入式的應(yīng)用層基本上屬于整個嵌入式操作系統(tǒng)的最上層,換言之應(yīng)用層的程序基本上不會和硬件層、驅(qū)動層打交道。而是針對某個特定的應(yīng)用場景和應(yīng)用領(lǐng)域完成這些應(yīng)用場景的需求,而應(yīng)用層通常包括:多線程、多進程、網(wǎng)絡(luò)編程、數(shù)據(jù)庫、音視頻編解碼等等。


而各位小伙伴們覺得,嵌入式系統(tǒng)還運用在哪些方面呢?


看完別忘了點個關(guān)注喲?[ * ? ▽ ? * ]?,您的支持是對M君最大的鼓勵。

評論0 贊同0
  •  加載中...
jokester

jokester

回答于2022-06-28 12:00


什么是嵌入式


首先,我們來看看什么是嵌入式。

嵌入式,一般是指嵌入式系統(tǒng),英文叫作:embedded system。嵌入式開發(fā),其實就是對嵌入式系統(tǒng)的開發(fā)。

IEEE(美國電氣和電子工程師協(xié)會)對嵌入式系統(tǒng)的定義是:“用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置”。

國內(nèi)學(xué)術(shù)界的定義更為具體一些,也更容易理解:

嵌入式系統(tǒng),是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件硬件可裁剪,適用于對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機系統(tǒng)。

以應(yīng)用為中心,說明嵌入式系統(tǒng)是有明確實際用途的。以計算機技術(shù)為基礎(chǔ),說明它其實就是一種特殊的計算機。軟硬件可裁剪,說明它有很強的靈活性和可定制能力。

專用計算機系統(tǒng),“專用”所對應(yīng)的,就是“通用”。我們常用的個人PC、筆記本電腦、數(shù)據(jù)中心服務(wù)器,可以用于多種用途,就是“通用計算機系統(tǒng)”。

嵌入式系統(tǒng)究竟具體應(yīng)用于哪些“專用”方向呢?

舉例如下:

  • 個人通信與娛樂系統(tǒng):手機、數(shù)碼相機、音樂播放器、可穿戴電子產(chǎn)品、PSP游戲機
  • 家電類產(chǎn)品:數(shù)字電視、掃地機器人、智能家電
  • 辦公自動化:打印機,復(fù)印機、傳真機
  • 醫(yī)療電子類產(chǎn)品:生化分析儀、血液分析儀、CT
  • 網(wǎng)絡(luò)通信類產(chǎn)品:通信類交換設(shè)備、網(wǎng)絡(luò)設(shè)備 (交換機、路由器、網(wǎng)絡(luò)安全)
  • 汽車電子類產(chǎn)品:引擎控制、安全系統(tǒng)、汽車導(dǎo)航與娛樂系統(tǒng)
  • 工業(yè)控制類產(chǎn)品:工控機、交互式終端 (POS、ATM)、安全監(jiān)控、數(shù)據(jù)采集與傳輸、儀器儀表
  • 軍事及航天類產(chǎn)品:無人機、雷達、作戰(zhàn)機器人

嵌入式系統(tǒng)的應(yīng)用領(lǐng)域

上述這些領(lǐng)域,都使用了嵌入式系統(tǒng)。這還只是冰山一角。

可以說,嵌入式系統(tǒng)完完全全地包圍了我們,時刻影響著我們的工作和生活。

嵌入式系統(tǒng),既然是一個計算機系統(tǒng),那么肯定離不開硬件和軟件。

一個嵌入式系統(tǒng)的典型架構(gòu)如下:


注意,最重要的就是嵌入式操作系統(tǒng)和嵌入式微處理器。

從硬件角度來看,嵌入式系統(tǒng)就是以處理器(CPU)為核心,依靠總線(Bus)進行連接的多模塊系統(tǒng):


和個人PC是一樣的方式

下面這張圖,就是一個嵌入式系統(tǒng)的實物樣例:



中間偏左上角,S3C2440,是CPU,中間是RAM,然后還有ROM、網(wǎng)卡、串口、電源等等??梢钥闯?,嵌入式系統(tǒng)麻雀雖小,五臟俱全。


什么是嵌入式系統(tǒng)?

嵌入式系統(tǒng)是是一個功能完備、幾乎不依賴其他外部裝置就可以獨立運行的系統(tǒng)。該系統(tǒng)包含軟件和硬件,以應(yīng)用為中心,以計算機為基礎(chǔ),能夠根據(jù)需求靈活選取軟硬件模塊的專業(yè)計算機系統(tǒng)。

其中系統(tǒng)的軟件部分包含軟件運行環(huán)境以及操作系統(tǒng),硬件部分包含信號處理器、存儲器以及通信模塊等多方面內(nèi)容。與傳統(tǒng)的計算機系統(tǒng)相比,嵌入式系統(tǒng)與之相差很大,它并不能實現(xiàn)大容量的存儲功能,軟件部分則以API接口為平臺核心。

嵌入式系統(tǒng)具備定制性強、體積小型、實時性好、可裁剪性好、可靠性高、功耗低等優(yōu)勢。由于嵌入式系統(tǒng)是為特定用戶而專門定制的,所以一般嵌入式系統(tǒng)通常都具備專用性。并且嵌入式系統(tǒng)的集成性非常高,所以它的功耗、身材都非常小,可靠性非常高。

嵌入式系統(tǒng)主要功能是以CPU為核心,而在不同的系統(tǒng)中,嵌入的形式和程序是不同的。根據(jù)嵌入式系統(tǒng)與計算機的連接的密切程度,將嵌入形式分為全嵌入形式和半嵌入形式。全嵌入形式可以不依賴計算機系統(tǒng),即可多帶帶工作,如手機、音樂播放器等設(shè)備都是此類型設(shè)備。而半嵌入式方式則必須與計算機相結(jié)合,才可以發(fā)揮作用。

當(dāng)前嵌入式系統(tǒng)的應(yīng)用場景十分廣泛,包含工業(yè)生產(chǎn)、日常生活、航空航天等多個領(lǐng)域,并且隨著計算機和制造工藝的發(fā)展,嵌入式系統(tǒng)將以最大限度的協(xié)同軟硬件能力,優(yōu)化設(shè)計方案,逐漸拓展至其他領(lǐng)域。

最后,希望大家點個贊給個關(guān)注吧,日常分享干貨知識。

評論0 贊同0
  •  加載中...
soasme

soasme

回答于2022-06-28 12:00

嵌入式就是“嵌”在硬件里面的程序,有些公司叫它底層固件。

舉個栗子????,我們每天用的手機,就是一個非常典型并且復(fù)雜的嵌入式系統(tǒng)。首先是硬件部分,它有一個核心CPU,這是嵌入式設(shè)備的大腦。那還有一些連接到CPU上的外設(shè),比如屏幕,揚聲器,攝像頭等等,這些是嵌入式設(shè)備的四肢。那嵌入式程序就是要燒錄進CPU的程序,這段程序首先驅(qū)動屏幕等外部設(shè)備,使他們能夠工作。第二決定整個設(shè)備完成哪些工作。再舉個更簡單的????,比如一個智能溫度計,它有這樣的功能,監(jiān)測環(huán)境溫度,然后每隔一個小時進行一次語音播報。那這個產(chǎn)品主要會有一個CPU,一個溫度傳感器,一個揚聲器。嵌入式程序就可以控制溫度傳感器監(jiān)測溫度,然后設(shè)置一個定時器,每隔一個小時再驅(qū)動揚聲器進行一次語音播報。

嵌入式要學(xué)什么?

1,基本硬件電路。

一般大公司硬件和嵌入式軟件是分開的崗位,而小公司硬件和嵌入式是合并在一起的。就單純嵌入式開發(fā)而言,至少得能看得懂電路圖。知道硬件電路部分的連接和基本原理。單純嵌入式可以不會硬件開發(fā),但至少要能看得懂,否則CPU使用哪個引腳去控制都不懂得話,就完全沒辦法進行嵌入式開發(fā)。

2,C語言或者C++語言

一般而言嵌入式開發(fā)都使用這兩種語言。一方面是靈活性高,執(zhí)行快。另一方面是很多MCU的廠商對于C語言的支持會比較好,有相當(dāng)多的集成庫可以使用。最快的是匯編語言,但是這個學(xué)習(xí)難度非常高,在現(xiàn)在商業(yè)環(huán)境中已經(jīng)很少有精通的工程師了。但是不可否認(rèn)會匯編的都是大牛。當(dāng)然其他語言也能進行嵌入式開發(fā),但是很多會有支持問題。

3,英語。很多講嵌入式的不會講到這個。但是英語在嵌入式開發(fā)中很重要。因為現(xiàn)在主流的嵌入式芯片基本都是國外的。做嵌入式開發(fā)難免要參考數(shù)據(jù)手冊,用戶參考手冊,應(yīng)用信息等資料,而這些基本都是英文的,很少有中文的。

以上三點學(xué)好了基本搞嵌入式?jīng)]什么問題。工業(yè)中很多嵌入式系統(tǒng)比較簡單,用的8位MCU,程序也很簡單。稍微復(fù)雜一點的可能用個32位的芯片。再復(fù)雜一點的就類似手機平板這種,必須得上系統(tǒng)了。安卓就是一個嵌入式系統(tǒng)。一些簡單的應(yīng)用不需要完成安卓這么復(fù)雜的功能,那么一般嵌入式工程師會自己寫一個狀態(tài)機,也就是一個很簡單的系統(tǒng)。嵌入式入門還算簡單,但是要精通比較困難。如果想學(xué)的話,我建議從STM32開始,一方面應(yīng)用非常廣泛,另一方面資料也多網(wǎng)上課程也多,價格還不貴。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<