[發明專利]一種8051單片機地址映射方法有效
| 申請號: | 200910059230.4 | 申請日: | 2009-05-08 |
| 公開(公告)號: | CN101625643A | 公開(公告)日: | 2010-01-13 |
| 發明(設計)人: | 孫銀明 | 申請(專利權)人: | 和芯微電子(四川)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 成都天嘉專利事務所(普通合伙) | 代理人: | 徐 豐 |
| 地址: | 610041四川省*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 8051 單片機 地址 映射 方法 | ||
技術領域
本發明涉及數碼消費電子產品系統,特別是一種8051單片機地址映射方法。
背景技術
8051系列單片機的程序地址空間是64KB(字),數據地址空間也是64KB。一般采用 8051單片機的系統,程序空間都是分為兩部分,一部分是只讀的即ROM(Read?Only Memory)固定不可改變,用于存儲重要的系統啟動代碼;另一部分是可讀寫的即PRAM (Program?Random?Access?Memory),將數據存儲器RAM(Random?Access?Memory)放在 程序地址空間,這部分代碼的目的是為了程序的擴展和升級。在系統芯片里面,由于PRAM 的成本比ROM高很多,PRAM地址空間都會設計的比較小。
實際的程序代碼會比PRAM大,因此程序代碼需要分多次加載到PRAM中運行。真正 的程序代碼由于比PRAM大很多,一般存儲在系統芯片之外,系統運行的時候根據指令 的流向逐段加載到PRAM中執行,這樣可以節約系統成本也可以輕松的實現程序代碼的 擴展和升級。
例如PRAM的大小為4KB,實際的程序代碼空間需要40KB,那么就需要將程序代碼 分為10個4KB,根據程序的運行情況,逐段加載到PRAM中運行。
如圖1所示,PRAM的地址空間是固定的即1000H到1FFFH,大小也是固定即4KB(這 里以4KB大小來說明,實際可以是任意大小,那么第一個4KB就是第一段)。程序地址 空間的范圍是1000H到AFFFH即40KB地址空間,分為10段。當系統運行時,會根據程 序的走向,將10個段每段4KB逐一加載到PRAM中,以供系統運行。這里就有問題了, 10個段程序中,只有第1段的地址和PRAM的地址一樣,即1000H到1FFFH,而后續9 段的地址都比PRAM高,其程序直接加載到PRAM中是不能運行的,需要將其地址映射到 1000H到1FFFH。
硬件映射方法具體說明如下:
8051的程序地址空間是64KB,即有16根地址線ADD[15:0],PRAM?4KB空間需要 的地址線為ADD[0:11],只要將其余的地址線ADD[15:12]固定為0001H,2000H到AFFFH 的地址空間就可以逐段映射到1000H到1FFFH空間,即將除第1段之外的其他段地址都 映射到第1段地址空間1000H到1FFFH。
這樣做雖然可以實現地址的映射,各段中的程序代碼加載到PRAM空間都可以正確 執行,而不出現地址超出問題。但是硬件地址映射有以下缺陷:
1、需要硬件將某些地址線固定,增加硬件開銷,也給系統帶來風險;
2、硬件地址固定帶來的段大小也固定,不能根據需要調整段大小,使用不靈活;
3、硬件地址固定帶來的段的數目固定,使用不夠靈活;
在沒有硬件地址線映射的系統中,無法使用這種分段加載方法。
在8051的指令系統中,涉及到絕對地址的幾條指令,如:LCALL(長調用指令),LJMP (長跳轉指令)等,以其中的LJMP為例,指令格式是LJMP?1000H(示例),這個指令 就有可能從一個段跳轉到另外一個段,即只要保證類似的絕對地址不超出段的地址,就 不需要地址映射了。這里的絕對地址是指只以地址0000H為參照,地址范圍是整個64KB 空間;而相對地址則是以當前程序指令地址為參照,地址范圍是2KB。絕對地址不容易 控制,很容易超出一個段的地址,相對地址容易控制,只要將絕對地址做地址映射,就 實現了程序地址映射的效果。
系統啟動時候,第1段被加載到PRAM空間,由于第1段和PRAM的地址都是1000H 到1FFFH,所以,系統運行沒有問題;當把第2段的程序代碼加載到PRAM中后,地址空 間就不相同,即程序有可能地址超出1000H到1FFFH空間,造成災難性后果。關鍵是8051 的大部分指令是不關心地址的,即在1000H到1FFFH或者2000H到2FFFH,運行都可以, 和地址相關的指令也分為兩類:絕對地址和相對地址。絕對地址的范圍是整個64KB,而 相對地址的范圍是2KB,因此本發明則是要將程序空間中涉及絕對地址指令所操作的地 址,修改到PRAM地址空間來實現地址映射。
發明內容
本發明為解決上述技術問題提供了一種8051單片機地址映射方法,特別適用于 8051系統,可以避免硬件地址映射帶來的缺陷。
本發明的技術方案如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于和芯微電子(四川)有限公司,未經和芯微電子(四川)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910059230.4/2.html,轉載請聲明來源鉆瓜專利網。





