[發(fā)明專利]用于嵌入式系統(tǒng)的子程序相互調(diào)用的方法無效
| 申請?zhí)枺?/td> | 201010170472.3 | 申請日: | 2010-05-11 |
| 公開(公告)號: | CN101853181A | 公開(公告)日: | 2010-10-06 |
| 發(fā)明(設計)人: | 劉應軍;董愛榮 | 申請(專利權)人: | 中達電通股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 上海光華專利事務所 31219 | 代理人: | 王松 |
| 地址: | 201209 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 嵌入式 系統(tǒng) 子程序 相互 調(diào)用 方法 | ||
技術領域
本發(fā)明屬于電子計算機領域,涉及一種用于嵌入式系統(tǒng)的子程序相互調(diào)用的方法。
背景技術
嵌入式系統(tǒng)在廣義上說就是計算機系統(tǒng),它包括除了以通用為目的的計算機之外的所有計算機。與通用計算機系統(tǒng)可以滿足多種任務不同,嵌入式系統(tǒng)只能完成某些特定目的的任務。部分為嵌入式系統(tǒng)編寫的程序被稱為固件,他們存儲在只讀存儲器或閃存芯片中,他們運行在資源有限的計算機硬件中。嵌入式系統(tǒng)中的子程序在運行時使用的全局/局部變量以及子程序調(diào)用時的返回地址都占用RAM空間,隨著嵌套調(diào)用的層次增加,占用的RAM空間也越大,而嵌入式系統(tǒng)中RAM空間十分有限。此外,一個子程序的bug很容易影響到其他子程序。
在某些單片機中,一些功能寄存器上電后只能寫一次,使用這些寄存器時,必須整體規(guī)劃,從而降低了程序的靈活性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是:提供一種能最大限度隔離子程序之間的聯(lián)系,徹底釋放先前運行子程序占用的資源,以及復位子程序?qū)\行環(huán)境的修改的用于嵌入式系統(tǒng)的子程序相互調(diào)用的方法。
為解決上述技術問題,本發(fā)明采用如下技術方案。
一種用于嵌入式系統(tǒng)的子程序相互調(diào)用的方法包括以下步驟:
步驟一,嵌入式系統(tǒng)啟動運行時,設置初始環(huán)境,檢查初始標志,決定調(diào)用的哪個子程序;
步驟二,開始運行子程序:清除復位標志,設置獨立的子程序運行環(huán)境,然后進入子程序主體;
步驟三,當需要調(diào)用另一個子程序時,設置復位標志及調(diào)用參數(shù),重新啟動CPU,從而轉(zhuǎn)入步驟一。
作為本發(fā)明的一種優(yōu)選方案,所述獨立的子程序運行環(huán)境是通過重新啟動CPU來實現(xiàn)的。
作為本發(fā)明的另一種優(yōu)選方案,所述CPU是通過硬復位而不是軟復位來重新啟動的,所述硬復位包括設置看門狗,或復位信號;所述軟復位包括直接跳到CPU上電時執(zhí)行的第一條指令運行。
作為本發(fā)明的再一種優(yōu)選方案,通過設置看門狗重啟CPU的一種設置方法,設置的子程序運行環(huán)境有:A1、設置看門狗;A2、設置中斷向量;A3、設置定時器。
作為本發(fā)明的再一種優(yōu)選方案,通過硬復位重啟CPU的一種設置方法,調(diào)用子程序的操作為:
B1、關閉中斷源,屏蔽中斷;
B2、設置復位標志為特征值,設置子程序地址標志為子程序的入口地址;設置傳遞給子程序的參數(shù);
B3、停止復位看門狗,等待看門狗復位CPU,從而運行子程序。
作為本發(fā)明的再一種優(yōu)選方案,步驟一中,所述設置初始環(huán)境包括設置初始堆棧,清零中斷向量表。
作為本發(fā)明的再一種優(yōu)選方案,步驟一中,所述檢查初始標志包括檢查復位標志,以及子程序地址標志。
本發(fā)明的有益效果在于:
1)每個子程序都可使用幾乎全部的RAM;
2)硬復位后,一次性寫的寄存器可再寫;
3)最大限度的隔離了子程序bug對別的子程序的干擾;
4)每個子程序都可獲得獨立的運行環(huán)境。
附圖說明
圖1為子程序調(diào)用方法的示意圖;
具體實施方式
下面結合附圖對本發(fā)明的具體實施方式作進一步詳細說明。
實施例
本實施例提供一種用于嵌入式系統(tǒng)的子程序相互調(diào)用的方法,該方法包括以下步驟:
一種用于嵌入式系統(tǒng)的子程序相互調(diào)用的方法包括以下步驟:
步驟一,嵌入式系統(tǒng)啟動運行時,設置初始環(huán)境,檢查初始標志,決定調(diào)用哪個子程序;所述設置初始環(huán)境包括設置初始堆棧,清零中斷向量表;所述檢查初始標志包括檢查復位標志,以及子程序地址標志;初始標志可以放在RAM、或外部存儲設備中,也可用I/O標示。
步驟二,開始運行子程序,首先清除復位標志,設置獨立的子程序運行環(huán)境,然后進入子程序主體;所述獨立的子程序運行環(huán)境是通過硬復位CPU來實現(xiàn)的;所述硬復位CPU是通過設置看門狗或復位信號來重新啟動的;
設置的子程序運行環(huán)境有:
A1、設置看門狗;
A2、設置低電壓偵測;
A3、設置省電模式;
A4、設置時鐘生成器;
A5、設置中斷向量;
A6、設置定時器。
步驟三,當需要調(diào)用另一個子程序時,操作為:
B1、關閉中斷源,屏蔽中斷;
B2、設置復位標志為特征值,設置子程序地址標志為子程序的入口地址,設置傳遞給子程序的參數(shù);
B3、停止復位看門狗,等待看門狗復位CPU,進入步驟一。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中達電通股份有限公司,未經(jīng)中達電通股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010170472.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





