今天就來好好盤點(diǎn)一下嵌入式開發(fā)!
發(fā)布時(shí)間:2019-07-24 09:45:39
已幫助:465人
來源:鄭州信盈達(dá)教育


嵌入式是什么?簡單點(diǎn)說,就是微處理器在電子產(chǎn)品中的軟硬件應(yīng)用。嵌入式系統(tǒng)也可以看做是一個微型的計(jì)算機(jī)系統(tǒng)。
今天就來好好盤點(diǎn)一下嵌入式開發(fā)!
嵌入式是什么?簡單點(diǎn)說,就是微處理器在電子產(chǎn)品中的軟硬件應(yīng)用。嵌入式系統(tǒng)也可以看做是一個微型的計(jì)算機(jī)系統(tǒng)。
對工程師來說一個好處就是,IDE和工具鏈可以自動產(chǎn)生應(yīng)用程序或內(nèi)存空間校驗(yàn)和(Checksum),從而根據(jù)這個校驗(yàn)和驗(yàn)證應(yīng)用程序是否完好。
然而,如若CRC或校驗(yàn)和保持在內(nèi)存中,那么驗(yàn)證應(yīng)用程序在啟動時(shí)(或甚至對長時(shí)間運(yùn)行的系統(tǒng)定期驗(yàn)證)是否仍然完好無損是確保意外之事不會發(fā)生的很好的一個途徑。現(xiàn)在假如說一個編程過的應(yīng)用程序要發(fā)生改變的概率是很小的,但考慮每年交付的數(shù)十億個微控制器以及隨時(shí)準(zhǔn)備惡劣的工作環(huán)境,應(yīng)用程序崩潰的機(jī)會也并不是零。更有可能的是,系統(tǒng)中的一個缺陷可能導(dǎo)致某一扇區(qū)發(fā)生閃存寫入或閃存擦除,從而破壞應(yīng)用程序的完整性。
關(guān)于靜態(tài)內(nèi)存與動態(tài)內(nèi)存的特點(diǎn):
1、創(chuàng)建的時(shí)間不同:靜態(tài)分配發(fā)生在程序編譯和連接的時(shí)候。動態(tài)分配則發(fā)生在程序調(diào)入和執(zhí)行的時(shí)候。
2、創(chuàng)建的空間不同:堆都是動態(tài)分配的,沒有靜態(tài)分配的堆;棧有2種分配方式:靜態(tài)分配和動態(tài)分配;靜態(tài)分配是編譯器完成的,比如局部變量的分配;動態(tài)分配由函數(shù)malloc進(jìn)行分配。不過棧的動態(tài)分配和堆不同,他的譯器進(jìn)行釋放,無需我們手工實(shí)現(xiàn)。嵌入式學(xué)習(xí)
動態(tài)分配是由編
靜態(tài)和動態(tài)內(nèi)存的優(yōu)缺點(diǎn):
1、靜態(tài)內(nèi)存其實(shí)是編譯階段分配好的,而動態(tài)內(nèi)存是由運(yùn)行中分配,這樣動態(tài)內(nèi)存可以被高效地重復(fù)使用。
2、動態(tài)內(nèi)存由于是涉及到分配和釋放的問題,這種情況一般在產(chǎn)品體現(xiàn)為剛開始設(shè)備正常工作的時(shí)候,但是運(yùn)行了幾個小時(shí)或者幾天后出現(xiàn)死機(jī)的現(xiàn)象。這種情況一般會被稱作內(nèi)存泄漏。
嵌入式中是否應(yīng)該使用動態(tài)內(nèi)存:
針對一些穩(wěn)定性較高和安全性數(shù)高的項(xiàng)目來講,使用動態(tài)內(nèi)存就需要好好地想以下了,由于RTOS上基本沒有MMU的硬件支持或者是系統(tǒng)軟件支持。在實(shí)時(shí)嵌入式系統(tǒng)中,由于系統(tǒng)的軟件并不像PC上復(fù)雜,一般都是很簡單的內(nèi)存使用,所以一般也不使用動態(tài)內(nèi)存管理。
你還在猶豫什么,你還在迷茫嗎?你還在畏懼你的未來嗎?以上就是小成習(xí)為你書寫的關(guān)于IT方面的文章,當(dāng)然啦,想要了解更多的專業(yè)請找準(zhǔn)「信盈達(dá)教育」,與客服人員進(jìn)行咨詢,關(guān)注小成習(xí),我們一同學(xué)習(xí)一同成長!