相互聯(lián)系的世界并期望嵌入式能夠可靠地工作
嵌入式系統(tǒng)是一種專(zhuān)用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分,通常嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板,事實(shí)上所有帶有數(shù)字接口的設(shè)備,有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。
嵌入式系統(tǒng)需要存儲(chǔ)器來(lái)存放和執(zhí)行代碼,嵌入式系統(tǒng)的存儲(chǔ)器包含Cache、主存和輔助存儲(chǔ)器,Cache是一種容量小、速度快的存儲(chǔ)器陣列它位于主存和嵌入式微處理器內(nèi)核之間,存放的是一段時(shí)間微處理器使用最多的程序代碼和數(shù)據(jù)。
嵌入式開(kāi)發(fā)是一門(mén)類(lèi)似于編程這樣的技術(shù),只不過(guò)我們理解范圍的程序員是做電腦軟件的、做網(wǎng)頁(yè)開(kāi)發(fā)的、還有做APP的。
而嵌入式開(kāi)發(fā)的大多數(shù)是智能的電子產(chǎn)品,就是針對(duì)硬件的編程,這個(gè)硬件大家可以理解成電路板,一般是由一個(gè)控制器(處理器)芯片和不同的電路組成。
具體是什么程序和電路,一般是由產(chǎn)品功能決定的,比如說(shuō)一個(gè)電子時(shí)鐘產(chǎn)品,一般由數(shù)碼管和單片機(jī)(控制器)組成,然后通過(guò)c語(yǔ)言寫(xiě)程序下載到單片機(jī)里,實(shí)現(xiàn)時(shí)鐘顯示。
嵌入式和物聯(lián)網(wǎng)都可以按軟件和硬件來(lái)分。范圍很廣,有很多細(xì)分的方向。嵌入式是一個(gè)技術(shù)大類(lèi),物聯(lián)網(wǎng)是一個(gè)行業(yè)大類(lèi),它們的共同特性是軟硬件都學(xué)習(xí)了解。
嵌入式技術(shù)主要做單片機(jī)軟件開(kāi)發(fā)、linux軟件開(kāi)發(fā)、驅(qū)動(dòng)開(kāi)發(fā)、嵌入式系統(tǒng)軟件開(kāi)發(fā) 相對(duì)更接近底層的軟件開(kāi)發(fā) ,這類(lèi)工作平常用到的都是C語(yǔ)言,而且要能看懂電路圖和電路時(shí)序圖,匯編語(yǔ)言也要懂,調(diào)試的時(shí)候可能會(huì)有C語(yǔ)言反匯編 ,F(xiàn)PGA、DSP軟件開(kāi)發(fā) 這類(lèi)相對(duì)上層一點(diǎn)硬件專(zhuān)業(yè)中屬于偏軟,還有一些其他的工業(yè)控制軟件開(kāi)發(fā)。
我們今天的世界是一個(gè)相互聯(lián)系的世界。我們每秒從海洋浮標(biāo)、智能手表和工業(yè)物聯(lián)網(wǎng)邊緣傳感器收集、傳輸和分析大量數(shù)據(jù)。從用戶(hù)的角度來(lái)看,我們認(rèn)為連接是理所當(dāng)然的,并期望它能夠可靠地工作。然而,對(duì)于工程團(tuán)隊(duì)來(lái)說(shuō),提供無(wú)線連接打開(kāi)了一個(gè)需求清單。問(wèn)題包括范圍、數(shù)據(jù)量、頻率、互操作性以及應(yīng)用程序的供電方式。反過(guò)來(lái),這有助于指導(dǎo)無(wú)線協(xié)議和拓?fù)涞倪x擇。
隨著連接設(shè)備使用案例的多樣性增加,對(duì)最適合應(yīng)用的新無(wú)線方法的需求也隨之增加。例如,Wi-Fi非常適合以非常高的速度發(fā)送大量數(shù)據(jù),但它耗電量很大。最近,Wi-SUN和Wi-FiHaLow等新協(xié)議為大規(guī)模智能城市和公用事業(yè)計(jì)量部署提供了解決方案。
對(duì)于嵌入式開(kāi)發(fā)人員來(lái)說(shuō),跟上潮流和新技術(shù)是一個(gè)持續(xù)的挑戰(zhàn)。需要考慮的其他因素包括軟件工具的可用性和成本。為了提供競(jìng)爭(zhēng)優(yōu)勢(shì),一些半導(dǎo)體供應(yīng)商投資開(kāi)發(fā)集成開(kāi)發(fā)環(huán)境(IDE),向客戶(hù)免費(fèi)提供這些環(huán)境,但也有大量的第三方IDE可用。在某些情況下,對(duì)軟件兼容性的要求將限制微控制器的選擇。例如,如果設(shè)備需要運(yùn)行為Arm處理器或Intelx86系列編寫(xiě)的應(yīng)用程序,則只能選擇兼容處理器。
目前的嵌入式開(kāi)發(fā)更傾向于智能化,也就是我們所說(shuō)的智能硬件(硬件+軟件),從現(xiàn)在各種前沿的嵌入式產(chǎn)品來(lái)看的確如此,嵌入式產(chǎn)品的一個(gè)發(fā)展趨勢(shì)是更傾向與自動(dòng)化控制和人機(jī)交互,而不是強(qiáng)調(diào)“算法”這一塊。
學(xué)嵌入式的主要有兩個(gè)專(zhuān)業(yè)的人,一個(gè)就是電子類(lèi)專(zhuān)業(yè),另一個(gè)是計(jì)算機(jī)類(lèi)專(zhuān)業(yè),電子類(lèi)專(zhuān)業(yè)一般從硬到軟學(xué),計(jì)算機(jī)類(lèi)的從軟到硬學(xué)。本人更傾向于電子類(lèi)的學(xué)習(xí)走向,硬件要過(guò)度軟件,相對(duì)簡(jiǎn)單,但是要是純軟沒(méi)接觸過(guò)硬件,想邁這個(gè)坎可就難了。從這可以看出,嵌入式行業(yè)要求工程師軟件硬件都要掌握,只是側(cè)重點(diǎn)不同罷了。