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





