[發(fā)明專利]一種在嵌入式系統(tǒng)的擴(kuò)展存儲(chǔ)器中動(dòng)態(tài)裝入代碼的方法有效
| 申請(qǐng)?zhí)枺?/td> | 200810207949.3 | 申請(qǐng)日: | 2008-12-26 |
| 公開(kāi)(公告)號(hào): | CN101763273A | 公開(kāi)(公告)日: | 2010-06-30 |
| 發(fā)明(設(shè)計(jì))人: | 錢(qián)小剛 | 申請(qǐng)(專利權(quán))人: | 上海聞泰電子科技有限公司 |
| 主分類號(hào): | G06F9/445 | 分類號(hào): | G06F9/445 |
| 代理公司: | 上海世貿(mào)專利代理有限責(zé)任公司 31128 | 代理人: | 李浩東 |
| 地址: | 200001 上海市黃*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 嵌入式 系統(tǒng) 擴(kuò)展 存儲(chǔ)器 動(dòng)態(tài) 裝入 代碼 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種在嵌入式系統(tǒng)的擴(kuò)展存儲(chǔ)器中動(dòng)態(tài)裝入代碼的方法。
背景技術(shù)
在嵌入式系統(tǒng)開(kāi)發(fā)領(lǐng)域中,代碼越來(lái)越復(fù)雜,需要的代碼存儲(chǔ)空間也 越來(lái)越大,因此設(shè)計(jì)者需要在嵌入式系統(tǒng)中增大存儲(chǔ)器的容量。當(dāng)前通用 的嵌入式硬件架構(gòu)為:處理器+非易失存儲(chǔ)器(NOR-FLASH,NAND-FLASH等)。 有些嵌入式系統(tǒng)還增加了擴(kuò)展存儲(chǔ)器,如SD卡、T-FLASH。這類設(shè)計(jì)應(yīng)用 的擴(kuò)展性較差,不能根據(jù)需要裝載所需的應(yīng)用,同時(shí)也提高了產(chǎn)品的成本, 往往得不償失。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種在嵌入式系統(tǒng)的擴(kuò)展存儲(chǔ)器中動(dòng)態(tài)裝入代 碼的方法,可以有效解決現(xiàn)有技術(shù)存在的擴(kuò)展性差、產(chǎn)品成本高等問(wèn)題。 嵌入式系統(tǒng)里面的程序一般是把用各種語(yǔ)言(C,C++,ASM等)編寫(xiě)的代碼, 通過(guò)編譯、連接等過(guò)程生成一個(gè)二進(jìn)制文件,然后通過(guò)下載工具寫(xiě)到系統(tǒng)的 非易失存儲(chǔ)器中。系統(tǒng)運(yùn)行時(shí),處理器會(huì)從存儲(chǔ)器里讀入指令,按順序執(zhí)行。 本發(fā)明的實(shí)施方式是把系統(tǒng)的應(yīng)用模塊化,在有需要的時(shí)候把代碼從擴(kuò)展存 儲(chǔ)器中拷貝到非易失存儲(chǔ)器中,然后執(zhí)行跳轉(zhuǎn)指令,直接跳到特定的地址運(yùn) 行該程序。
本發(fā)明涉及一種在嵌入式系統(tǒng)的擴(kuò)展存儲(chǔ)器中動(dòng)態(tài)裝入代碼的方法, 其特征在于,包括如下步驟:
1)將動(dòng)態(tài)應(yīng)用程序所需的系統(tǒng)函數(shù)總結(jié)出來(lái),生成一個(gè)結(jié)構(gòu)變 量g_functionList_ptr來(lái)保存這些系統(tǒng)函數(shù)指針,并給予固定 的地址;
2)編譯配置文件,在指定位置留出足夠大的空間用來(lái)動(dòng)態(tài)裝載動(dòng) 態(tài)應(yīng)用程序,生成系統(tǒng)的BIN文件;
3)編寫(xiě)系統(tǒng)的調(diào)用動(dòng)態(tài)應(yīng)用程序的服務(wù)程序,將動(dòng)態(tài)應(yīng)用的代 碼從擴(kuò)展存儲(chǔ)器中拷貝到非易失存儲(chǔ)器的指定位置;
4)初始化結(jié)構(gòu)變量g_functionList_ptr,跳轉(zhuǎn)到特定的地址;
5)編寫(xiě)動(dòng)態(tài)應(yīng)用程序,在該程序中包括系統(tǒng)函數(shù)指針映射表的全 局變量g_functionList_ptr和應(yīng)用程序代碼。
所述的系統(tǒng)在運(yùn)行過(guò)程中可通過(guò)步驟2)所寫(xiě)的服務(wù)程序調(diào)用步驟3) 所寫(xiě)的動(dòng)態(tài)應(yīng)用程序。
本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明針對(duì)各種增加擴(kuò)展存儲(chǔ)器的嵌入式系統(tǒng), 通過(guò)在運(yùn)行過(guò)程中根據(jù)需要從擴(kuò)展存儲(chǔ)器中動(dòng)態(tài)裝入運(yùn)行代碼的方法,增 加應(yīng)用的擴(kuò)展性,從而節(jié)約產(chǎn)品的成本,豐富產(chǎn)品的應(yīng)用,提高產(chǎn)品的競(jìng) 爭(zhēng)力。
附圖說(shuō)明
附圖為本發(fā)明涉及的方法流程圖。
具體實(shí)施方式
一種在嵌入式系統(tǒng)的擴(kuò)展存儲(chǔ)器中動(dòng)態(tài)裝入代碼的方法,其特征在 于,包括如下步驟:
1)將動(dòng)態(tài)應(yīng)用程序所需的系統(tǒng)函數(shù)總結(jié)出來(lái),生成一個(gè)結(jié)構(gòu)變 量g_functionList_ptr來(lái)保存這些系統(tǒng)函數(shù)指針,并給予固定 的地址。
動(dòng)態(tài)應(yīng)用程序所需的系統(tǒng)函數(shù)指的是有可能調(diào)用到的系統(tǒng)函數(shù),包括 編程語(yǔ)言提供的系統(tǒng)函數(shù),嵌入式系統(tǒng)提供的系統(tǒng)函數(shù)等。結(jié)構(gòu)變量 g_functionList_ptr,為系統(tǒng)函數(shù)指針映射表的全局變量,每一個(gè)可能調(diào) 用到的系統(tǒng)函數(shù)指針都是g_functionList_ptr的一個(gè)成員,給予 g_functionList_ptr固定的起始地址,如0x80000000,參與整個(gè)系統(tǒng)的 編譯和連接。
2)編寫(xiě)配置文件,在指定位置留出足夠大的空間用來(lái)動(dòng)態(tài)裝載動(dòng) 態(tài)應(yīng)用程序,生成系統(tǒng)的BIN文件;
編寫(xiě)嵌入式系統(tǒng)的配置文件的地方空出足夠大的空間,以便能有空間 拷貝動(dòng)態(tài)應(yīng)用的程序。空間大小由設(shè)計(jì)者根據(jù)需要決定,一般要參考最大 允許動(dòng)態(tài)應(yīng)用的大小決定。對(duì)于ARM系統(tǒng)來(lái)說(shuō),嵌入式系統(tǒng)的配置文件一 般是scatter文件。若g_functionList_ptr的起始地址為0x80000000, 則需要在0x80000000處留出足夠的空間。
3)編寫(xiě)系統(tǒng)的調(diào)用動(dòng)態(tài)應(yīng)用程序的服務(wù)程序,將動(dòng)態(tài)應(yīng)用的代 碼從擴(kuò)展存儲(chǔ)器中拷貝到非易失存儲(chǔ)器的指定位置。
所述的指定位置是指g_functionList_ptr的起始地址。
4)初始化結(jié)構(gòu)變量g_functionList_ptr,跳轉(zhuǎn)到特定的地址。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海聞泰電子科技有限公司,未經(jīng)上海聞泰電子科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810207949.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:一種抗起球腈綸的制造方法
- 下一篇:油井用油管帶壓作業(yè)保護(hù)器
- 用于控制非易失性存儲(chǔ)器的控制器
- 處理器、存儲(chǔ)器、計(jì)算機(jī)系統(tǒng)、系統(tǒng)LSI及其驗(yàn)證方法
- 存儲(chǔ)和檢索處理系統(tǒng)的數(shù)據(jù)的存儲(chǔ)器系統(tǒng)和性能監(jiān)視方法
- 用于控制半導(dǎo)體裝置的方法
- 存儲(chǔ)器存儲(chǔ)裝置及其測(cè)試方法
- 存儲(chǔ)器裝置及可促進(jìn)張量存儲(chǔ)器存取的方法
- 使用雙通道存儲(chǔ)器作為具有間隔的單通道存儲(chǔ)器
- 用于管理存儲(chǔ)器訪問(wèn)操作的方法和系統(tǒng)
- 存儲(chǔ)器控制器、存儲(chǔ)裝置和存儲(chǔ)裝置的操作方法
- 具有部分組刷新的存儲(chǔ)器





