本發(fā)明涉及嵌入式系統(tǒng)技術(shù)領(lǐng)域,尤其涉及一種嵌入式系統(tǒng)及其控制方法。
背景技術(shù):
微控制單元(Micro Control Unit,MCU),又稱單片微型計(jì)算機(jī)或者單片機(jī),是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計(jì)算機(jī)的中央處理器(Central Processing Unit,CPU)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、只讀存儲(chǔ)器(Read-Only Memory,ROM)、定時(shí)計(jì)數(shù)器和多種輸入/輸出接口等集成在一片芯片上,形成芯片級(jí)的計(jì)算機(jī),為不同的應(yīng)用場合做不同組合控制。閃存(Flash Memory,簡稱Flash)是一種非易失性存儲(chǔ)器,既能在掉電的情況下保存數(shù)據(jù),又能夠進(jìn)行多次擦除和編程,具有較高的靈活性,逐漸成為MCU中非常重要的程序、數(shù)據(jù)存儲(chǔ)器。
隨著MCU的發(fā)展,MCU中Flash的容量越來越大,F(xiàn)lash的讀取速度成為制約MCU發(fā)展的一個(gè)重要因素。為了提升Flash的讀取速度,大多采取將Flash中程序數(shù)據(jù)復(fù)制到與之相連的RAM中,RAM的讀取速度遠(yuǎn)大于Flash的讀取速度,從而提高對(duì)這部分程序數(shù)據(jù)的讀取速度。
但是現(xiàn)有技術(shù)中,為了提升更多Flash的讀取速度,通過增加RAM單元來映射更多Flash單元,RAM單元和Flash單元一一對(duì)應(yīng)設(shè)置,而一個(gè)RAM單元一般是由6個(gè)晶體管組成,比Flash單元需要更多的面積,因此現(xiàn)有技術(shù)存在成 本較高的缺陷。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供一種嵌入式系統(tǒng)及其控制方法,旨在使用較少的RAM,將盡可能多的Flash通過RAM提高讀取速度,節(jié)約成本。
第一方面,本發(fā)明實(shí)施例提供了一種嵌入式系統(tǒng),包括:
總線、存儲(chǔ)器地址交換寄存器、存儲(chǔ)器地址交換控制模塊、第一閃存存儲(chǔ)器、第二閃存存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器;
所述存儲(chǔ)器地址交換寄存器、所述存儲(chǔ)器地址交換控制模塊分別與所述總線連接;
所述存儲(chǔ)器地址交換控制模塊還分別與所述第一閃存存儲(chǔ)器、所述第二閃存存儲(chǔ)器和所述隨機(jī)存取存儲(chǔ)器連接,用于在所述存儲(chǔ)器地址交換寄存器為復(fù)位值時(shí),控制所述第一閃存存儲(chǔ)器直接與所述總線相連,以及控制所述第二閃存存儲(chǔ)器通過所述存儲(chǔ)器地址交換控制模塊與所述總線連接,且將所述第二閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器;
所述存儲(chǔ)器地址交換控制模塊還用于在所述存儲(chǔ)器地址交換寄存器為置位值時(shí),控制所述第二閃存存儲(chǔ)器直接與所述總線相連,以及控制所述第一閃存存儲(chǔ)器通過所述存儲(chǔ)器地址交換控制模塊與所述總線連接,且將所述第一閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器。
可選的,所述存儲(chǔ)器地址交換控制模塊還用于在接收到第一讀取請(qǐng)求時(shí),從所述隨機(jī)存取存儲(chǔ)器讀取與所述第一讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù)。
可選的,所述存儲(chǔ)器地址交換控制模塊還用于在接收到第一寫入請(qǐng)求時(shí),將所述程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器和所述第二閃存存儲(chǔ)器中。
可選的,所述存儲(chǔ)器地址交換控制模塊還用于在接收到第二讀取請(qǐng)求時(shí),從所述隨機(jī)存取存儲(chǔ)器讀取與所述第二讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù)。
可選的,所述存儲(chǔ)器地址交換控制模塊還用于在接收到第二寫入請(qǐng)求時(shí),將所述程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器和所述第一閃存存儲(chǔ)器中。
第二方面,本發(fā)明實(shí)施例還提供了一種嵌入式系統(tǒng)的控制方法,包括:
存儲(chǔ)器地址交換控制模塊獲取所述存儲(chǔ)器地址交換寄存器的寄存值;
若所述寄存值為復(fù)位值,控制所述第一閃存存儲(chǔ)器直接與所述總線相連,以及控制所述第二閃存存儲(chǔ)器通過所述存儲(chǔ)器地址交換控制模塊與所述總線連接,且將所述第二閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器;
若所述寄存值為置位值,控制所述第二閃存存儲(chǔ)器直接與所述總線相連,以及控制所述第一閃存存儲(chǔ)器通過所述存儲(chǔ)器地址交換控制模塊與所述總線連接,且將所述第一閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器。
可選的,接收到第一讀取請(qǐng)求時(shí),從所述隨機(jī)存取存儲(chǔ)器讀取與所述第一讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù);
接收到第一寫入請(qǐng)求時(shí),將所述程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器和所述第二閃存存儲(chǔ)器中。
可選的,接收到第二讀取請(qǐng)求時(shí),從所述隨機(jī)存取存儲(chǔ)器讀取與所述第二讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù);
接收到第二寫入請(qǐng)求時(shí),將所述程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器和所述第一閃存存儲(chǔ)器中。
本發(fā)明實(shí)施例提供一種嵌入式系統(tǒng)及其控制方法,其中,所述嵌入式系統(tǒng)包括:總線、存儲(chǔ)器地址交換寄存器、存儲(chǔ)器地址交換控制模塊、第一閃存存儲(chǔ)器、第二閃存存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,存儲(chǔ)器地址交換控制模塊獲取所述 存儲(chǔ)器地址交換寄存器的寄存值,若所述寄存值為復(fù)位值,控制所述第一閃存存儲(chǔ)器直接與所述總線相連,以及控制所述第二閃存存儲(chǔ)器通過所述存儲(chǔ)器地址交換控制模塊與所述總線連接,且將所述第二閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器;若所述寄存值為置位值時(shí),控制第二閃存存儲(chǔ)器直接與總線相連,以及控制第一閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,且將第一閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器。采用本發(fā)明實(shí)施例提供的嵌入式系統(tǒng)及其控制方法,旨在使用較少的隨機(jī)存取存儲(chǔ)器,將盡可能多的閃存存儲(chǔ)器中的程序數(shù)據(jù)通過隨機(jī)存取存儲(chǔ)器讀取,提高讀取速度,節(jié)約成本。
附圖說明
為了更加清楚地說明本發(fā)明示例性實(shí)施例的技術(shù)方案,下面對(duì)描述實(shí)施例中所需要用到的附圖做一簡單介紹。顯然,所介紹的附圖只是本發(fā)明所要描述的一部分實(shí)施例的附圖,而不是全部的附圖,對(duì)于本領(lǐng)域普通技術(shù)人員,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖得到其他的附圖。
圖1是本發(fā)明實(shí)施例一提供的一種嵌入式系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明實(shí)施例二提供的一種嵌入式系統(tǒng)的控制方法的流程示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,以下將結(jié)合本發(fā)明實(shí)施例中的附圖,通過具體實(shí)施方式,完整地描述本發(fā)明的技術(shù)方案。顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下獲得的所有其他實(shí)施 例,均落入本發(fā)明的保護(hù)范圍之內(nèi)。
實(shí)施例一
圖1是本發(fā)明實(shí)施例一提供的一種嵌入式系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,所述嵌入式系統(tǒng)包括:
總線101、存儲(chǔ)器地址交換寄存器102、存儲(chǔ)器地址交換控制模塊103、第一閃存存儲(chǔ)器104、第二閃存存儲(chǔ)器105和隨機(jī)存取存儲(chǔ)器106。
存儲(chǔ)器地址交換寄存器102、存儲(chǔ)器地址交換控制模塊103分別與總線101連接;
存儲(chǔ)器地址交換控制模塊103還分別與第一閃存存儲(chǔ)器104、第二閃存存儲(chǔ)器105和隨機(jī)存取存儲(chǔ)器106連接,用于在存儲(chǔ)器地址交換寄存器102為復(fù)位值時(shí),控制第一閃存存儲(chǔ)器104直接與總線101相連,以及控制第二閃存存儲(chǔ)器105通過存儲(chǔ)器地址交換控制模塊103與總線101連接,且將第二閃存存儲(chǔ)器105的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106。
示例性的,如圖1所示,該嵌入式系統(tǒng)還包括A、B、C、D四個(gè)連接端口,在存儲(chǔ)器地址交換寄存器102為復(fù)位值時(shí),通過A與B相連,控制第一閃存存儲(chǔ)器104直接與總線101相連,通過C與D相連,控制第二閃存存儲(chǔ)器105通過存儲(chǔ)器地址交換控制模塊103與總線101連接,并將第二閃存存儲(chǔ)器105的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106。
進(jìn)一步的,本發(fā)明實(shí)施例提供的嵌入式系統(tǒng),將第一地址空間映射為與隨機(jī)存取存儲(chǔ)器106相連的閃存存儲(chǔ)器的地址范圍,將第二地址空間映射為直接與總線101相連的閃存存儲(chǔ)器的地址范圍。當(dāng)存儲(chǔ)器地址交換寄存器102為復(fù)位值時(shí),將第二地址空間映射為第一閃存存儲(chǔ)器104的地址范圍,將第一地址 空間,即隨機(jī)存取存儲(chǔ)器106的地址范圍,映射為第二閃存存儲(chǔ)器105的地址范圍。
存儲(chǔ)器地址交換控制模塊103還用于在存儲(chǔ)器地址交換寄存器102為置位值時(shí),控制第二閃存存儲(chǔ)器105直接與總線101相連,以及控制第一閃存存儲(chǔ)器104通過存儲(chǔ)器地址交換控制模塊103與總線101連接,且將第一閃存存儲(chǔ)器104的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106。
示例性的,如圖1所示,在存儲(chǔ)器地址交換寄存器102為置位值時(shí),通過A與D相連,控制第二閃存存儲(chǔ)器105直接與總線101相連,通過C與B相連,控制第一閃存存儲(chǔ)器104通過存儲(chǔ)器地址交換控制模塊103與總線101連接,且將第一閃存存儲(chǔ)器104的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106。此時(shí),將第二地址空間映射為第二閃存存儲(chǔ)器105的地址范圍,將第一地址空間,即隨機(jī)存取存儲(chǔ)器106的地址范圍,映射為第一閃存存儲(chǔ)器104的地址范圍。
可選的,存儲(chǔ)器地址交換控制模塊103還用于在接收到第一讀取請(qǐng)求時(shí),從隨機(jī)存取存儲(chǔ)器106讀取與第一讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù)。
示例性的,所述第一讀取請(qǐng)求可以是存儲(chǔ)器地址交換寄存器102為復(fù)位值時(shí),總線101對(duì)第一地址空間的讀取請(qǐng)求。當(dāng)存儲(chǔ)器地址交換控制模塊103接收到第一讀取請(qǐng)求時(shí),從隨機(jī)存取存儲(chǔ)器106讀取與第一讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù),即從隨機(jī)存取存儲(chǔ)器106讀取與第二閃存存儲(chǔ)器105中程序數(shù)據(jù)相同的程序數(shù)據(jù)。
可選的,存儲(chǔ)器地址交換控制模塊103還用于在接收到第一寫入請(qǐng)求時(shí),將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106和第二閃存存儲(chǔ)器105中。
示例性的,所述第一寫入請(qǐng)求可以是存儲(chǔ)器地址交換寄存器為復(fù)位值時(shí),總線101對(duì)第一地址空間的寫入請(qǐng)求。當(dāng)存儲(chǔ)器地址交換控制模塊103接收到 第一寫入請(qǐng)求時(shí),將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106和第二閃存存儲(chǔ)器105中。
可選的,存儲(chǔ)器地址交換控制模塊103還用于在接收到第二讀取請(qǐng)求時(shí),從隨機(jī)存取存儲(chǔ)器106讀取與第二讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù)。
示例性的,所述第二讀取請(qǐng)求可以是存儲(chǔ)器地址交換寄存器102為置位值時(shí),總線101對(duì)第一地址空間的讀取請(qǐng)求。當(dāng)存儲(chǔ)器地址交換控制模塊103接收到第二讀取請(qǐng)求時(shí),從隨機(jī)存取存儲(chǔ)器106讀取與第二讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù),即從隨機(jī)存取存儲(chǔ)器106讀取與第一閃存存儲(chǔ)器104中程序數(shù)據(jù)相同的程序數(shù)據(jù)。
可選的,存儲(chǔ)器地址交換控制模塊103還用于在接收到第二寫入請(qǐng)求時(shí),將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106和第一閃存存儲(chǔ)器104中。
示例性的,所述第二寫入請(qǐng)求可以是存儲(chǔ)器地址交換寄存器為置位值時(shí),總線101對(duì)第一地址空間的寫入請(qǐng)求。當(dāng)存儲(chǔ)器地址交換控制模塊103接收到第二寫入請(qǐng)求時(shí),將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器106和第一閃存存儲(chǔ)器104中。
本發(fā)明實(shí)施例一提供的嵌入式系統(tǒng),獲取存儲(chǔ)器地址交換寄存器的寄存值,若寄存值為復(fù)位值,控制第一閃存存儲(chǔ)器直接與總線相連,以及控制第二閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,且將第二閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器,若寄存值為置位值,控制第二閃存存儲(chǔ)器直接與總線相連,以及控制第一閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,且將第一閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器。采用本發(fā)明實(shí)施例提供的嵌入式系統(tǒng),可以使用較少的隨機(jī)存取存儲(chǔ)器,將盡可能多的閃存存儲(chǔ)器中的程序數(shù)據(jù)通過隨機(jī)存取存儲(chǔ)器讀取,提高讀取速度,節(jié)約成本。
實(shí)施例二
圖2是本發(fā)明實(shí)施例二提供的一種嵌入式系統(tǒng)的控制方法的流程示意圖,本實(shí)施例是以上述實(shí)施例所述的嵌入式系統(tǒng)為基礎(chǔ),提供一種嵌入式系統(tǒng)的控制方法。如圖2所示,該方法包括:
S210、存儲(chǔ)器地址交換控制模塊獲取所述存儲(chǔ)器地址交換寄存器的寄存值。
S220、若所述寄存值為復(fù)位值,控制所述第一閃存存儲(chǔ)器直接與所述總線相連,以及控制所述第二閃存存儲(chǔ)器通過所述存儲(chǔ)器地址交換控制模塊與所述總線連接,且將所述第二閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器。
示例性的,若存儲(chǔ)器地址交換寄存器的寄存值為復(fù)位值時(shí),控制第一閃存存儲(chǔ)器直接與總線相連,控制第二閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,且將第二閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器中。此時(shí),將第二地址空間映射為第一閃存存儲(chǔ)器的地址范圍,將第一地址空間,即隨機(jī)存取存儲(chǔ)器的地址范圍,映射為第二閃存存儲(chǔ)器的地址范圍。
可選的,接收到第一讀取請(qǐng)求時(shí),從隨機(jī)存取存儲(chǔ)器讀取與第一讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù)。
示例性的,所述第一讀取請(qǐng)求可以是存儲(chǔ)器地址交換寄存器為復(fù)位值時(shí),總線對(duì)第一地址空間的讀取請(qǐng)求,即從隨機(jī)存取存儲(chǔ)器讀取與第二閃存存儲(chǔ)器中程序數(shù)據(jù)相同的程序數(shù)據(jù)。
可選的,接收到第一寫入請(qǐng)求時(shí),將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器和第二閃存存儲(chǔ)器中。
示例性的,所述第一寫入請(qǐng)求可以是存儲(chǔ)器地址交換寄存器為復(fù)位值時(shí), 總線對(duì)第一地址空間的寫入請(qǐng)求,即將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器和第二閃存存儲(chǔ)器中。
S230、若所述寄存值為置位值,控制所述第二閃存存儲(chǔ)器直接與所述總線相連,以及控制所述第一閃存存儲(chǔ)器通過所述存儲(chǔ)器地址交換控制模塊與所述總線連接,且將所述第一閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到所述隨機(jī)存取存儲(chǔ)器。
示例性的,若存儲(chǔ)器地址交換寄存器的寄存值為置位值時(shí),控制第二閃存存儲(chǔ)器直接與總線相連,控制第一閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,且將第一閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器中。此時(shí),將第二地址空間映射為第二閃存存儲(chǔ)器的地址范圍,將第一地址空間,即隨機(jī)存取存儲(chǔ)器的地址范圍,映射為第一閃存存儲(chǔ)器的地址范圍。
可選的,接收到第二讀取請(qǐng)求時(shí),從隨機(jī)存取存儲(chǔ)器讀取與第二讀取請(qǐng)求對(duì)應(yīng)的程序數(shù)據(jù)。
示例性的,所述第二讀取請(qǐng)求可以是存儲(chǔ)器地址交換寄存器為置位值時(shí),總線對(duì)第一地址空間的讀取請(qǐng)求,即從隨機(jī)存取存儲(chǔ)器讀取與第一閃存存儲(chǔ)器中程序數(shù)據(jù)相同的程序數(shù)據(jù)。
可選的,接收到第二寫入請(qǐng)求時(shí),將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器和第一閃存存儲(chǔ)器中。
示例性的,所述第二寫入請(qǐng)求可以是存儲(chǔ)器地址交換寄存器為置位值時(shí),總線對(duì)第一地址空間的寫入請(qǐng)求,即將程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器和第一閃存存儲(chǔ)器中。
進(jìn)一步的,本發(fā)明實(shí)施例提供的嵌入式系統(tǒng)的控制方法,還可以實(shí)現(xiàn)程序數(shù)據(jù)的備份。
示例性的,由于隨機(jī)存取存儲(chǔ)器的讀取速度遠(yuǎn)大于閃存存儲(chǔ)器的讀取速度, 因此在某些情況下,通過總線訪問第二地址空間不能滿足讀取時(shí)間約束,而訪問第一地址空間可以滿足。當(dāng)存儲(chǔ)器地址交換寄存器的寄存值為復(fù)位值時(shí),第二閃存存儲(chǔ)器可以存儲(chǔ)一個(gè)較新的不太穩(wěn)定的程序數(shù)據(jù)版本,而第一閃存存儲(chǔ)器可以存儲(chǔ)一個(gè)穩(wěn)定的程序數(shù)據(jù)版本,即一個(gè)備份版本。通過總線訪問第一地址空間,訪問的是第二閃存存儲(chǔ)器中的程序數(shù)據(jù),因訪問的是一個(gè)不穩(wěn)定的程序數(shù)據(jù)版本,一旦出現(xiàn)錯(cuò)誤,可以通過總線將存儲(chǔ)器地址交換寄存器的寄存值改寫為置位值,當(dāng)通過總線再次訪問第一地址空間時(shí),此時(shí)訪問的是第一閃存存儲(chǔ)器的程序數(shù)據(jù),即訪問的是一個(gè)穩(wěn)定的程序數(shù)據(jù)版本,此時(shí)該嵌入式系統(tǒng)可以正常運(yùn)行,從而避免嵌入式系統(tǒng)一直處在錯(cuò)誤狀態(tài)。
進(jìn)一步的,本發(fā)明實(shí)施例提供的嵌入式系統(tǒng)的控制方法,還可以實(shí)現(xiàn)程序數(shù)據(jù)的隱藏。
示例性的,由于隨機(jī)存取存儲(chǔ)器的讀取速度遠(yuǎn)大于閃存存儲(chǔ)器的讀取速度,因此在某些情況下通過總線訪問第二地址空間不能滿足讀取時(shí)間約束,而訪問第一地址空間可以滿足。這里,可以對(duì)存儲(chǔ)器地址交換寄存器的寄存值進(jìn)行權(quán)限設(shè)置,在未授權(quán)條件下,存儲(chǔ)器地址交換寄存器的寄存值為復(fù)位值,第二閃存存儲(chǔ)器可以存儲(chǔ)一個(gè)精簡的程序數(shù)據(jù)版本,而第一閃存存儲(chǔ)器可以存儲(chǔ)一個(gè)全功能的程序數(shù)據(jù)版本。通過總線訪問第一地址空間,訪問的是第二閃存存儲(chǔ)器中的程序數(shù)據(jù),只能訪問到一個(gè)精簡的程序數(shù)據(jù)版本。因此在未授權(quán)條件下,全功能的程序數(shù)據(jù)版本是隱藏的。而當(dāng)獲得授權(quán)后,通過總線將存儲(chǔ)器地址交換寄存器的寄存值改寫為置位值,此時(shí)通過總線再次訪問第一地址空間,訪問的是第一閃存存儲(chǔ)器的程序數(shù)據(jù),就能訪問到全功能的程序數(shù)據(jù)版本。
本發(fā)明實(shí)施例二提供的嵌入式系統(tǒng)的控制方法,存儲(chǔ)器地址交換控制模塊獲取所述存儲(chǔ)器地址交換寄存器的寄存值,若寄存值為復(fù)位值,控制第一閃存 存儲(chǔ)器直接與總線相連,控制第二閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,且將第二閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器,若寄存值為置位值,控制第二閃存存儲(chǔ)器直接與總線相連,控制第一閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,且將第一閃存存儲(chǔ)器的程序數(shù)據(jù)寫入到隨機(jī)存取存儲(chǔ)器。采用本發(fā)明實(shí)施例提供的方法,可以使用較少的隨機(jī)存取存儲(chǔ)器,將盡可能多的閃存存儲(chǔ)器中的程序數(shù)據(jù)通過隨機(jī)存取存儲(chǔ)器讀取,提高讀取速度,節(jié)約成本,并且可以實(shí)現(xiàn)程序數(shù)據(jù)的備份和隱藏。
需要說明的是,存儲(chǔ)器地址交換寄存器的寄存值與第一閃存寄存器和第二閃存寄存器與總線的連接關(guān)系并不是限定關(guān)系,本發(fā)明實(shí)施例只是通過一種對(duì)應(yīng)關(guān)系進(jìn)行說明,在上述實(shí)施例的基礎(chǔ)上,也可以是當(dāng)存儲(chǔ)器地址交換寄存器的寄存值為復(fù)位值時(shí),第二閃存存儲(chǔ)器直接與總線相連,第一閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接,以及當(dāng)存儲(chǔ)器地址交換寄存器的寄存值為置位值時(shí),第一閃存存儲(chǔ)器直接與總線相連,第二閃存存儲(chǔ)器通過存儲(chǔ)器地址交換控制模塊與總線連接。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。