[發(fā)明專利]一種片上系統(tǒng)SoC中進(jìn)行程序初始化的方法和裝置有效
| 申請?zhí)枺?/td> | 201610969992.8 | 申請日: | 2016-10-27 |
| 公開(公告)號(hào): | CN108008981B | 公開(公告)日: | 2020-12-08 |
| 發(fā)明(設(shè)計(jì))人: | 曾小光;鄧攀;盛東暉;李淑榮 | 申請(專利權(quán))人: | 海信視像科技股份有限公司 |
| 主分類號(hào): | G06F9/445 | 分類號(hào): | G06F9/445 |
| 代理公司: | 北京同達(dá)信恒知識(shí)產(chǎn)權(quán)代理有限公司 11291 | 代理人: | 黃志華 |
| 地址: | 266555 山東省青*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 系統(tǒng) soc 進(jìn)行 程序 初始化 方法 裝置 | ||
本發(fā)明公開了一種片上系統(tǒng)SoC中進(jìn)行程序初始化的方法和裝置,方法包括:根據(jù)初始化語句中的初始值起始存儲(chǔ)地址,讀取需要初始化的所有變量的初始值;根據(jù)所述初始化語句中的變量起始存儲(chǔ)地址,將所讀取的初始值,依次賦值給與每個(gè)初始值對應(yīng)的變量;其中,所述變量的存儲(chǔ)地址滿足設(shè)定的約束條件;所述初始值的存儲(chǔ)地址滿足所述約束條件,且所述初始值的存儲(chǔ)順序與所述初始值對應(yīng)的變量的存儲(chǔ)順序相同。由于只需要在存儲(chǔ)區(qū)域中存儲(chǔ)一條初始化語句,即可完成該存儲(chǔ)區(qū)域內(nèi)所有變量的初始化,通過簡化初始化語句,減少了程序的大小,從而減少了程序在該存儲(chǔ)區(qū)域中的空間占用,優(yōu)化了存儲(chǔ)區(qū)域的存儲(chǔ)空間,也縮短了初始化處理的時(shí)間。
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種片上系統(tǒng)(System on Chip,簡稱SoC)中進(jìn)行程序初始化的方法和裝置。
背景技術(shù)
物聯(lián)網(wǎng)(Internet of Things,簡稱IOT)是當(dāng)前應(yīng)用熱點(diǎn),同時(shí)也是設(shè)備互聯(lián)互通的技術(shù)發(fā)展方向。作為IOT技術(shù)的重要載體—SoC,以其低成本,高效互聯(lián)技術(shù)特征,得到廣泛應(yīng)用。SoC被稱為系統(tǒng)級(jí)芯片或片上系統(tǒng),是一個(gè)有專用目標(biāo)的集成電路,包含了完整系統(tǒng)并有嵌入軟件的全部內(nèi)容,用來實(shí)現(xiàn)從系統(tǒng)功能確定、到軟硬件劃分及完成設(shè)計(jì)在內(nèi)的整個(gè)過程。從狹義角度講,SoC是信息系統(tǒng)核心的芯片集成,是將系統(tǒng)關(guān)鍵部件集成在一塊芯片上。從廣義角度看,SoC是一個(gè)微小型系統(tǒng),包括微處理器、模擬IP核、數(shù)字IP核和存儲(chǔ)器(或片外存儲(chǔ)控制接口)等部件。
SoC中包括只讀存儲(chǔ)器(Read Only Memory,簡稱ROM)和隨機(jī)訪問存儲(chǔ)器(RandomAccess Memory,簡稱RAM),ROM中用來存儲(chǔ)程序數(shù)據(jù)、常量數(shù)據(jù)或變量數(shù)據(jù)。RAM中用來存儲(chǔ)程序中用到的需要被改寫的量,包括全局變量、局部變量和堆棧段。由于ROM是只讀存儲(chǔ)器,CPU只能從ROM中讀數(shù)據(jù),而不能往ROM中寫數(shù)據(jù),掉電后數(shù)據(jù)依然保存在ROM中,而RAM是隨機(jī)存儲(chǔ)器,CPU既可以從RAM中讀出數(shù)據(jù),又可以往RAM中寫入數(shù)據(jù),掉電后數(shù)據(jù)不保存,所以若在程序中定義了一些全局變量,這些變量將全部存儲(chǔ)在ROM上,但之后程序運(yùn)行過程中這些變量也會(huì)占用RAM空間。
每一個(gè)變量都會(huì)占用ROM空間,每一個(gè)變量的初始化語句也占用ROM空間,變量的數(shù)量越多,所需的初始化語句越多,而且還包括了初始化值的存儲(chǔ),則占據(jù)的ROM空間越大,因?yàn)槌绦蛐枰3殖跏蓟怠⒅痦?xiàng)初始化執(zhí)行代碼。而任何一個(gè)程序中,變量是必不可少的,因此,如何優(yōu)化ROM存儲(chǔ)空間是SoC開發(fā)過程中亟需解決的問題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種SoC中進(jìn)行程序初始化的方法和裝置,優(yōu)化了SoC中的存儲(chǔ)空間。
第一方面,提供了一種片上系統(tǒng)SoC中進(jìn)行程序初始化的方法,包括:
根據(jù)初始化語句中的初始值起始存儲(chǔ)地址,讀取需要初始化的所有變量的初始值;
根據(jù)初始化語句中的變量起始存儲(chǔ)地址,將所讀取的初始值,依次賦值給與每個(gè)初始值對應(yīng)的變量;
其中,所述變量的存儲(chǔ)地址滿足設(shè)定的約束條件;所述初始值的存儲(chǔ)地址滿足所述約束條件,且所述初始值的存儲(chǔ)順序與所述初始值對應(yīng)的變量的存儲(chǔ)順序相同。
一種可能的實(shí)施方式中,所述約束條件為存儲(chǔ)地址連續(xù),或任意兩個(gè)存儲(chǔ)地址間隔相同。
進(jìn)一步的,若所述約束條件為存儲(chǔ)地址連續(xù),所述初始化語句中還包括所述變量的數(shù)量,或者所述初始化語句中還包括變量結(jié)束存儲(chǔ)地址和初始值結(jié)束存儲(chǔ)地址;
若所述約束條件為任意兩個(gè)存儲(chǔ)地址間隔相同,所述初始化語句中還包括所述變量的數(shù)量和存儲(chǔ)地址間隔,或者所述初始化語句中還包括變量結(jié)束存儲(chǔ)地址、初始值結(jié)束存儲(chǔ)地址和存儲(chǔ)地址間隔。
一種可能的實(shí)施方式中,所述變量存儲(chǔ)于只讀存儲(chǔ)器ROM中,所述初始值存儲(chǔ)于所述ROM的閃存Flash中指定的數(shù)據(jù)區(qū)域內(nèi)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于海信視像科技股份有限公司,未經(jīng)海信視像科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610969992.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>





