a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 地址重映射在ARM系統中的實現

地址重映射在ARM系統中的實現

作者: 時間:2013-04-12 來源:網絡 收藏

近年來,隨著32位芯片制造技術的不斷完善,制造成本不斷降低,國內的32位MCU市場也開始火爆起來。越來越多的工程師開始將開發目光從8位轉移到32位微處理器上,基于32位MCU的產品如雨后春筍般層出不窮,應用領域涵蓋了掌上設備、家用電器、網絡設備、無線通信、工業控制等。在32位微控制芯片領域,ARM架構的芯片占了近70%的市場。本文中所用到的處理器正是Samsung公司生產的基于ARM架構的

1 簡介

是一款基于以太網系統的高性價比、高性能的16/32位RISC微處理器。芯片部集成了8KB的Cache/SRAM和Ethernet控制器,減少了整個系統的成本。片外可擴展ROM、Flash、SDRAM等存儲芯片,可以移植μClinux等復雜的操作系統。利用操作系統完善的TCP/IP協議棧充分發揮芯片的網絡功能

S3C4510B芯片內部沒有程序存儲器,所有程序都被存儲在片外擴展的ROM和Flash中。開始啟動時,存有啟動代碼的ROM或Flash將被映射為0x00地址,系統從此開始運行。但在實際應用中,為提高系統的實時性,加快代碼的執行速度,系統啟動后程序往往要被搬移到RAM中,因為RAM的存取速度要比ROM快得多,這樣大大提升系統的性能。由于S3C4510B芯片中的入口地址被固定在0x00開始的8個字中,系統只能將地址空間重新分配,把RAM映射到0x00地址處,這正是Remap的原因所在。

S3C4510B內部有幾個特殊寄存器,用于實現地址空間和芯片內外存儲介質的映射。這幾個寄存器的簡介如下:

SYSCFG:設置特殊寄存器的起始地址和片內SRAM的起始地址。

EXTDBWTH:設置各Bank寄存器所映射芯片的數據線寬度。

ROMCON0~ROMCON5:設置系統內片擴展ROM和Flash的起始和終止地址。

DRAMCON0~DRAMCON3:設置系統內片外擴展RAM的起始和終止地址。

S3C4510B芯片內特殊寄存器段的物理地址為0x3ff0000,各特殊寄存器的偏移地址詳見S3C4510B的技術手冊。

2 S3C4510B系統中Remap的實現

地址空間的重新分配,與處理器的硬件結構緊密相關。總體來說,32位系統中的機制可以分為兩種情況:一類是處理器內部專門的寄存器可以完成Remap,這樣只需將Remap寄存器的相應位置1,由硬件邏輯來完成地址的重新映射,如Atmel AT91xx系列;另一類沒有專門的Remap控制寄存器,需要重新改寫處理器內部用于控制Memory起止地址的Bank寄存器,來實現Remap過程。S3C4510B屬于第二種情況。

2.1 硬件系統結構及地址分配

為例于對的過程進行分析,圖1給出了本人用于測試的基本S3C4510B的系統硬件結構。文中給出的所有流程及代碼都經過了測試。

此系統是以Samsung公司給出的測試板為參考建立的,其中ROM的容量為512KB,8位數據總線,Remap前的地址范圍為0x0000000~0x0100000,Remap后的地址范圍為0x1000000~0x1100000;RAM的容量為16MB,32位數據總線,Remap前的地址范圍為0x0100000~0x100000,Remap后的地址范圍為0x0000000~0x1000000;Flash的容量為2MB,16位數據總線,Remap前后地址不變,均為0x1100000~0x1300000。Remap前后的地址映射關系如圖2所示。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉