專(zhuān)利名稱(chēng):擴(kuò)展8051系列單片機(jī)尋址能力的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及單片機(jī)領(lǐng)域,特別是涉及擴(kuò)展8051系列單片機(jī)尋址能力的方法。
背景技術(shù):
隨著半導(dǎo)體和電子技術(shù)的發(fā)展,在SOC (片上系統(tǒng))芯片上集成的功能塊越來(lái)越多,這就使得在SOC芯片上的軟件系統(tǒng)也越來(lái)越復(fù)雜,代碼量以及代碼所要使用的數(shù)據(jù)區(qū)和數(shù)據(jù)量也越來(lái)越大。8051系列單片機(jī)作為應(yīng)用廣泛的中央處理器,在數(shù)據(jù)區(qū)和代碼區(qū)上各只有64K字節(jié)的尋址能力,使得它在SOC芯片上的應(yīng)用遇到越來(lái)越多的挑戰(zhàn)。同時(shí),作為SOC芯片的用戶,也慢慢趨于多樣化和個(gè)性化,SOC芯片有著不同層次,不同需求的不同用戶,這些用戶需要完成的功能各有側(cè)重,從而對(duì)SOC芯片中軟件系統(tǒng)的要求也不一樣。這也使得在SOC芯片上會(huì)存在著多個(gè)針對(duì)不同用戶的軟件包和數(shù)據(jù)包,如何區(qū)分不同用戶的軟件包和數(shù)據(jù)包,如何給不同用戶加載各自的代碼和數(shù)據(jù),并保證不同用戶的代碼和數(shù)據(jù)不會(huì)被誤使用也就成為了一個(gè)關(guān)鍵問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種擴(kuò)展8051系列單片機(jī)尋址能力的方法,能夠有效的擴(kuò)展數(shù)據(jù)區(qū)和代碼區(qū)的尋址能力,增加其應(yīng)用性和靈活性。為解決上述技術(shù)問(wèn)題,本發(fā)明的擴(kuò)展8051系列單片機(jī)尋址能力的方法是采用如下技術(shù)方案實(shí)現(xiàn)的將8051系列單片機(jī)訪問(wèn)數(shù)據(jù)區(qū)的邏輯地址分為四個(gè)大小為16K字節(jié)的單元,得到四個(gè)邏輯地址段;將8051系列單片機(jī)訪問(wèn)代碼區(qū)的邏輯地址分為四個(gè)大小為16K字節(jié)的單元,得到四個(gè)邏輯地址段;所述八個(gè)邏輯地址段能映射到IM物理地址空間的任意位置。每個(gè)所述邏輯地址段的有效長(zhǎng)度可配置,在操作超出邏輯地址段的有效長(zhǎng)度時(shí),產(chǎn)生不可屏蔽中斷。所述方法支持模式控制,在不同的模式下,IM物理地址空間的訪問(wèn)受到限制,有些區(qū)域被屏蔽;并且,在不同的模式下,邏輯地址段能夠映射到不同的物理地址。在不同的模式下,硬件可以屏蔽IM物理地址空間的某些區(qū)域,在配置物理地址時(shí),硬件根據(jù)當(dāng)前的模式,確定配置有效還是無(wú)效,從而保護(hù)這些區(qū)域;同時(shí),軟件可以根據(jù)當(dāng)前的模式,將所述訪問(wèn)數(shù)據(jù)區(qū)和訪問(wèn)代碼區(qū)的八個(gè)邏輯地址段映射到不同的物理地址上。對(duì)每個(gè)邏輯地址段提供兩個(gè)不可屏蔽中斷,分別是代碼越界中斷和數(shù)據(jù)越界中斷;當(dāng)8051系列單片機(jī)訪問(wèn)數(shù)據(jù)區(qū)或者訪問(wèn)代碼區(qū)時(shí),如果操作仍在當(dāng)前邏輯地址段,但是超出了當(dāng)前邏輯地址段的有效長(zhǎng)度,則產(chǎn)生不可屏蔽中斷。采用本發(fā)明的方法能夠擴(kuò)展8051系列單片機(jī)數(shù)據(jù)區(qū)和代碼區(qū)的尋址能力,使得在SOC設(shè)計(jì)中,提供給8051系列單片機(jī)更強(qiáng)大的尋址能力,從原有的數(shù)據(jù)區(qū)和代碼區(qū)各64K字節(jié)的尋址能力,擴(kuò)展到總計(jì)IM字節(jié)的物理地址空間中。同時(shí),本發(fā)明能提供不可屏蔽中斷,并可定義邏輯地址段的有效范圍,在805 I系列單片機(jī)訪問(wèn)數(shù)據(jù)區(qū)、代碼區(qū)越界時(shí),將觸發(fā)中斷。本發(fā)明還提供模式控制功能,在不同的模式下,硬件將一些特定區(qū)域屏蔽,保證各個(gè)用戶的程序不會(huì)被誤使用,并且在不同的模式下,可以配置不同的映射關(guān)系,各個(gè)用戶使用不同的個(gè)性化的程序。
下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明附圖是擴(kuò)展8051系列單片機(jī)尋址能力的方法示意圖。
具體實(shí)施例方式參見(jiàn)附圖所示,將8051系列單片機(jī)對(duì)代碼區(qū)和數(shù)據(jù)區(qū)的尋址地址定義為邏輯地址段,并等分為八個(gè)單元(即八個(gè)邏輯地址段),每個(gè)單元的范圍是16K字節(jié),而且每個(gè)單元可以在IM字節(jié)物理地址空間任意配置邏輯地址段的映射地址。這樣,就把8051系列單片機(jī)對(duì)代碼區(qū)和數(shù)據(jù)區(qū)的尋址能力擴(kuò)展到IM字節(jié)。在程序運(yùn)行期間,對(duì)映射關(guān)系能夠進(jìn)行動(dòng)態(tài)調(diào)整,也就是程序在一個(gè)邏輯地址段 中運(yùn)行時(shí),可以調(diào)整其他幾個(gè)邏輯地址段的映射關(guān)系,從而代碼的長(zhǎng)度和數(shù)據(jù)的長(zhǎng)度都可以突破64K字節(jié)的限制。比如,8051系列單片機(jī)的程序在訪問(wèn)代碼區(qū)的邏輯地址段6 (結(jié)合附圖)上運(yùn)行的時(shí)候,可以重新配置代碼區(qū)的邏輯地址段2的映射關(guān)系,這樣代碼的長(zhǎng)度就可以到擴(kuò)展80K字節(jié)。同樣,如果數(shù)據(jù)量很大,超出數(shù)據(jù)區(qū)64K的范圍,也可以動(dòng)態(tài)調(diào)整數(shù)據(jù)區(qū)的邏輯地址段到物理地址的映射。當(dāng)然,使用了這種擴(kuò)展方式之后,對(duì)代碼的編寫(xiě)上會(huì)有所限制,比如調(diào)整指令的實(shí)現(xiàn),子程序調(diào)用的實(shí)現(xiàn),中斷入口地址的處理等等,這些問(wèn)題在編寫(xiě)代碼階段都需要加些特別的處理,這些處理方法超出本發(fā)明的范圍,在此不做詳細(xì)介紹。除了可以定義邏輯地址段映射的物理地址外,所述方法還支持定義邏輯地址段的有效長(zhǎng)度。邏輯地址段的范圍是固定的,為16K字節(jié),但可以定義其有效長(zhǎng)度,從256字節(jié)到16K字節(jié)不等。并且提供了兩個(gè)不可屏蔽中斷,分別是代碼越界中斷和數(shù)據(jù)越界中斷。當(dāng)8051系列單片機(jī)訪問(wèn)數(shù)據(jù)區(qū)或者代碼時(shí)區(qū)時(shí),如果訪問(wèn)地址超過(guò)當(dāng)前邏輯地址段的有效范圍,將會(huì)產(chǎn)生這兩個(gè)不可屏蔽中斷。如圖所示,代碼區(qū)邏輯地址段0映射的物理空間首地址是OOOOOh,有效長(zhǎng)度可定義為一個(gè)8K字節(jié),這樣在代碼運(yùn)行時(shí),如果8051系列單片機(jī)試圖訪問(wèn)有效范圍以外的區(qū)域時(shí),即02000H到03FFFH區(qū)域時(shí),代碼越界中斷就會(huì)觸發(fā),由于是不可屏蔽中斷,而且是最高優(yōu)先級(jí),8051系列單片機(jī)會(huì)立刻響應(yīng)中斷,這樣程序設(shè)計(jì)者可以在中斷子程序里做些處理,來(lái)防止非授權(quán)的代碼訪問(wèn)。SOC芯片在實(shí)際使用中,針對(duì)不同的用戶,會(huì)使用不同的軟件包和數(shù)據(jù)包。比如測(cè)試用戶,只關(guān)注芯片的測(cè)試功能;內(nèi)核用戶,擁有最大的權(quán)限,可以訪問(wèn)芯片的任何一個(gè)寄存器;而應(yīng)用用戶,軟件包只針對(duì)某種應(yīng)用。面對(duì)這三類(lèi)用戶,SOC芯片上內(nèi)嵌三個(gè)不同的軟件包和數(shù)據(jù)包,并且把這些軟件包和數(shù)據(jù)包放在IM物理地址空間的不同位置。同時(shí)設(shè)定三個(gè)模式,分別是測(cè)試模式,內(nèi)核模式和應(yīng)用模式,在不同的模式下,把8051系列單片機(jī)的數(shù)據(jù)區(qū)和代碼區(qū)的邏輯地址映射到IM物理地址空間的不同位置,并且在硬件上屏蔽相互訪問(wèn)的權(quán)利,也就是說(shuō)在測(cè)試模式下,只能讀取測(cè)試軟件包以及測(cè)試軟件的數(shù)據(jù)包。通過(guò)模式控制,可以管理不同用戶的軟件包和數(shù)據(jù)包以及保護(hù)不同模式下的數(shù)據(jù)和軟件。 以上通過(guò)具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,但在具體實(shí)施的時(shí)候,本領(lǐng)域技術(shù)人員可以在本發(fā)明的原理下做適當(dāng)?shù)恼{(diào)整和變化,比如物理地址空間的大小,邏輯 地址段的劃分等等。這些調(diào)整也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種擴(kuò)展8051系列單片機(jī)尋址能力的方法,其特征在于 將8051系列單片機(jī)訪問(wèn)數(shù)據(jù)區(qū)的邏輯地址分為四個(gè)大小為16K字節(jié)的單元,得到四個(gè)邏輯地址段; 將8051系列單片機(jī)訪問(wèn)代碼區(qū)的邏輯地址分為四個(gè)大小為16K字節(jié)的單元,得到四個(gè)邏輯地址段; 所述八個(gè)邏輯地址段能映射到IM物理地址空間的任意位置。
2.如權(quán)利要求I所述的方法,其特征在于每個(gè)所述邏輯地址段的有效長(zhǎng)度可配置,在操作超出邏輯地址段的有效長(zhǎng)度時(shí),產(chǎn)生不可屏蔽中斷。
3.如權(quán)利要求I或2所述的方法,其特征在于支持模式控制,在不同的模式下,IM物理地址空間的訪問(wèn)受到限制,有些區(qū)域被屏蔽;并且,在不同的模式下,邏輯地址段能夠映射到不同的物理地址。
4.如權(quán)利要求3所述的方法,其特征在于在不同的模式下,硬件可以屏蔽IM物理地址空間的某些區(qū)域,在配置物理地址時(shí),硬件根據(jù)當(dāng)前的模式,確定配置有效還是無(wú)效,從而保護(hù)這些區(qū)域;同時(shí),軟件可以根據(jù)當(dāng)前的模式,將所述訪問(wèn)數(shù)據(jù)區(qū)和訪問(wèn)代碼區(qū)的八個(gè)邏輯地址段映射到不同的物理地址上。
5.如權(quán)利要求I或2所述的方法,其特征在于對(duì)每個(gè)邏輯地址段提供兩個(gè)不可屏蔽中斷,分別是代碼越界中斷和數(shù)據(jù)越界中斷;當(dāng)8051系列單片機(jī)訪問(wèn)數(shù)據(jù)區(qū)或者訪問(wèn)代碼區(qū)時(shí),如果操作仍在當(dāng)前邏輯地址段,但是超出了當(dāng)前邏輯地址段的有效長(zhǎng)度,則產(chǎn)生不可屏蔽中斷。
6.如權(quán)利要求I或2所述的方法,其特征在于在不同的模式下,硬件可以屏蔽IM物理地址空間的某些區(qū)域,在配置物理地址時(shí),硬件根據(jù)當(dāng)前的模式,確定配置有效還是無(wú)效,從而保護(hù)這些區(qū)域;同時(shí),軟件可以根據(jù)當(dāng)前的模式,將所述訪問(wèn)數(shù)據(jù)區(qū)和訪問(wèn)代碼區(qū)的八個(gè)邏輯地址段映射到不同的物理地址上。
全文摘要
本發(fā)明公開(kāi)了一種擴(kuò)展8051系列單片機(jī)尋址能力的方法,將8051系列單片機(jī)訪問(wèn)數(shù)據(jù)區(qū)的邏輯地址分為四個(gè)大小為16K字節(jié)的單元,得到四個(gè)邏輯地址段;將8051系列單片機(jī)訪問(wèn)代碼區(qū)的邏輯地址分為四個(gè)大小為16K字節(jié)的單元,得到四個(gè)邏輯地址段;所述八個(gè)邏輯地址段能映射到1M物理地址空間的任意位置。每個(gè)所述邏輯地址段的有效長(zhǎng)度可配置,在操作超出邏輯地址段的有效長(zhǎng)度時(shí),產(chǎn)生不可屏蔽中斷。本發(fā)明能有效的擴(kuò)展數(shù)據(jù)區(qū)和代碼區(qū)的尋址能力,增加其應(yīng)用性和靈活性。
文檔編號(hào)G06F9/445GK102789386SQ201110131350
公開(kāi)日2012年11月21日 申請(qǐng)日期2011年5月20日 優(yōu)先權(quán)日2011年5月20日
發(fā)明者葉國(guó)平 申請(qǐng)人:上海華虹集成電路有限責(zé)任公司