[發明專利]一種嵌入式系統最大棧空間的設定方法有效
| 申請號: | 200710073673.X | 申請日: | 2007-03-23 |
| 公開(公告)號: | CN101272551A | 公開(公告)日: | 2008-09-24 |
| 發明(設計)人: | 李夏忠;蔡紅紅 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04Q7/32 | 分類號: | H04Q7/32;H04J13/00 |
| 代理公司: | 深圳市君勝知識產權代理事務所 | 代理人: | 楊宏 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 嵌入式 系統 最大 空間 設定 方法 | ||
技術領域
本發明涉及CDMA(Code?Division?Multiple?Access)無線通訊終端產品最大棧空間設定的方法,尤其涉及一種嵌入式系統最大棧空間的設定方法。
背景技術
目前,有很多情況下,嵌入式系統對成本要求比較敏感,采用的RAM空間都比較有限,所以多采用固定棧空間的方式(如圖1所示),每個任務初始化時固定棧空間的大小有非常大的好處:任務調度時算法相對簡單,執行效率比動態分配棧空間要高,速度更快。
但是,由此產生一個問題:到底初始化時每個任務棧空間的大小設為多大是一個非常突出的問題。如果每個棧空間分配過大,對有限的RAM空間是個極大的浪費(在嵌入式系統中往往由于成本問題,所以最好占用較少的RAM空間),如果分配過小,會導致棧溢出,這樣會導致程序異常死機、重啟、運行混亂,后果非常嚴重。
發明內容
本發明所要解決的技術問題是:提供了一種設定嵌入式系統最大棧空間的新方法,該方法簡便易行,并且具有充分有效的依據,減少對RAM空間的浪費。
本發明為解決上述技術問題所采用的技術方案為:
一種嵌入式系統最大棧空間設定方法,包括以下步驟:
A、根據每個任務的空間情況,預定該任務的棧空間最大預計值;
B、通過一段時間的實際運行,得到該任務占用棧空間的實際最大值;
C、根據所述實際最大值,最終確定該任務的最大棧空間。
所述的方法,其中:所述的步驟B采用如下方法獲得棧空間的實際最大值:
B1、程序初始化時,把分配給棧的空間全部初始化成一特定值;
B2、當運行一段時間后,從棧空間最大預計值位置開始向棧底方向查找,記錄棧空間中第一個與所述特定值不同的位置為當前使用最大位置;
B3、利用當前使用最大位置減去棧底初始位置獲得棧空間的實際最大值。
所述的方法,其中:所述特定值為0xAA。
所述的方法,其中:最終確定的最大棧空間為所述實際最大值的二倍。
本發明的有益效果為:由于本發明設定某個任務的最大棧空間,是以較長時間段內該任務所占用的棧空間實際最大值為參考依據的,因此既不會導致棧空間的不夠導致異常,也不會為了避免溢出而浪費RAM空間,可以有效保證RAM空間的合理應用,減少不必要的成本開支,降低成本。本發明的方法,思路獨到、新穎,并且簡單易行。
附圖說明
圖1為初始化時固定棧空間的位置示意圖;
圖2為本發明方法中某個棧所用空間的位置示意圖。
具體實施方式
下面根據附圖和實施例對本發明作進一步詳細說明:
本發明的基本方法是:首先根據每個任務的空間情況,預定該任務的棧空間最大預計值;然后通過一段時間的實際運行,得到該任務占用棧空間的實際最大值;最終根據所述實際最大值,最終確定該任務的最大棧空間。參見圖2,本技術方案的具體實施包括以下幾個步驟:
1,根據每個任務的空間情況預估計一個最大預計值,這個值可以設的比較大,比如任務占用的較大的可以先設置為8192字節,任務較小的先設為4096字節,如果代碼是基于某個解決方案的話,一般解決方案會給出一個建議值,可以將最大預計值設為建議值的2倍左右。總之,應先給一個較大的棧空間值,如果棧空間給的不夠大,導致棧溢出,可以通過仿真器來看是哪個任務棧溢出,這樣就能把棧空間放大到比較合適的大小。
2,在以上設定的基礎上,通過一段時間的運行,記錄下這段時間每個任務占用棧的實際最大值。某個任務某個時間運行中占用的棧的最大空間可以通過如下方式取到:
2.1、程序初始化時,可以把RAM空間中分配給棧的空間全部初始化成某個特定的值,比如0xAA;設置成某個特定值有相當的好處,可以在從未用的一端往用的一端查找的時候,發現第一個不是0xAA的地方就是已經使用的地方。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710073673.X/2.html,轉載請聲明來源鉆瓜專利網。





