嵌入式系統(tǒng)是否要使用堆棧監(jiān)視器
本文中,小編將對(duì)嵌入式系統(tǒng)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。
一、嵌入式系統(tǒng)的特點(diǎn)
1.嵌入式系統(tǒng)通常是面向特定應(yīng)用的
嵌入式微處理器與通用型處理器的大不同就是嵌入式微處理器大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中。嵌入式微處理器通常都具有低功耗、體積小、集成度高等特點(diǎn),能夠把通用處理器中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化,大大增強(qiáng)移動(dòng)能力,跟網(wǎng)絡(luò)的耦合越來越緊密。
2.嵌入式系統(tǒng)是各種技術(shù)、各個(gè)行業(yè)融合的產(chǎn)物
嵌入式可以應(yīng)用在人們生活的各個(gè)領(lǐng)域,它是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。
3.嵌入式系統(tǒng)的軟硬件設(shè)計(jì)高效、可裁減
嵌入式系統(tǒng)對(duì)成本、體積等方面有嚴(yán)格的要求,要求嵌入式工程師對(duì)硬件和軟件進(jìn)行高效地設(shè)計(jì),量體裁衣、去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用中更具有競(jìng)爭(zhēng)力。
4.嵌入式系統(tǒng)軟件固化
為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)中,而不是存儲(chǔ)于磁盤等載體中。
5.購買產(chǎn)品與技術(shù)開發(fā)相結(jié)合的實(shí)現(xiàn)方式
通用處理器系統(tǒng)多數(shù)是通過軟件工程的方法,根據(jù)用戶的需求進(jìn)行軟件開發(fā)的,用戶擁有完整的技術(shù)資料,可以根據(jù)應(yīng)用的需要進(jìn)行相應(yīng)的維護(hù)與升級(jí)。而嵌入式系統(tǒng)一般采用購買現(xiàn)成產(chǎn)品與自行獨(dú)立開發(fā)相結(jié)合的方式來構(gòu)建。
二、嵌入式系統(tǒng)是否要使用堆棧監(jiān)視器
對(duì)許多的嵌入式開發(fā)者而言,堆棧似乎是一股相當(dāng)神秘的力量。當(dāng)奇怪的事情開始發(fā)生,工程師終于被難倒了,他們開始思考,也許堆棧中發(fā)生了什么事。結(jié)果是盲目地調(diào)整堆棧的大小和位置等等。但該錯(cuò)誤往往是與堆棧無關(guān)的,但怎能如此確定?畢竟,有多少工程師真的實(shí)際執(zhí)行過最壞情況下的堆棧大小分析? 堆棧大小是在編譯時(shí)就靜態(tài)分配好的,但堆棧是以動(dòng)態(tài)的方式使用的。隨著代碼的執(zhí)行,應(yīng)用程序需要的變量、返回的地址和其它信息被不斷存儲(chǔ)在堆棧中。這種機(jī)制導(dǎo)致堆棧在其分配的內(nèi)存中不斷增長(zhǎng)。然而,這種增長(zhǎng)有時(shí)會(huì)超出編譯時(shí)確定的容量極限,導(dǎo)致堆棧破壞相鄰內(nèi)存區(qū)域的數(shù)據(jù)。 絕對(duì)確保堆棧正常工作的一種方法是實(shí)現(xiàn)堆棧監(jiān)視器,將它作為系統(tǒng)“保健”代碼的一部分。堆棧監(jiān)視器會(huì)在堆棧和“其它”內(nèi)存區(qū)域之間創(chuàng)建一個(gè)緩沖區(qū)域,并填充已知的位模式。然后監(jiān)視器會(huì)不斷的監(jiān)視圖案是否有任何變化。如果該位模式發(fā)生了改變,那就意味著堆棧增長(zhǎng)得太大了,即將要把系統(tǒng)推向黑暗地獄!此時(shí)監(jiān)視器可以記錄事件的發(fā)生、系統(tǒng)狀態(tài)以及任何其它有用的數(shù)據(jù),供日后用于問題的診斷。大多數(shù)實(shí)時(shí)操作系統(tǒng)或?qū)崿F(xiàn)了內(nèi)存保護(hù)單元的微控制器系統(tǒng)中都提供有堆棧監(jiān)視器??膳碌氖?,這些功能默認(rèn)都是關(guān)閉狀態(tài),或者經(jīng)常被開發(fā)人員有意關(guān)閉。在網(wǎng)絡(luò)上快速搜尋一下可以發(fā)現(xiàn),很多人建議關(guān)閉實(shí)時(shí)操作系統(tǒng)中的堆棧監(jiān)視器以節(jié)省56字節(jié)的閃存空間。但是,這可是得不償失的做法!
以上便是小編此次想要和大家共同分享的有關(guān)嵌入式系統(tǒng)的內(nèi)容,如果你對(duì)本文內(nèi)容感到滿意,不妨持續(xù)關(guān)注我們網(wǎng)站喲。最后,十分感謝大家的閱讀,have a nice day!





