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