第9講 S3C44B0硬件結構與關鍵技術分析_第1頁
第9講 S3C44B0硬件結構與關鍵技術分析_第2頁
第9講 S3C44B0硬件結構與關鍵技術分析_第3頁
第9講 S3C44B0硬件結構與關鍵技術分析_第4頁
第9講 S3C44B0硬件結構與關鍵技術分析_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第9講S3C44B0硬件結構與關鍵技術分析S3C44B0是基于ARM7TDMI架構的,S3C2410是基于ARM920T架構的。當前,這兩款芯片在嵌入式開發領域廣泛應用。本章主要介紹S3C44B0的硬件資源和整體架構,對其存儲控制器、NANDFlash控制原理、時鐘電源管理、通用I/O接口和中斷控制器作了詳細介紹,并通過一定的實例來加深讀者對關鍵技術的理解。S3C44B0微控制器帶8KBCache的ARM7TDMI核。內置系統存儲控制器(片選邏輯,支持ROM、SRAM、Flash、FP/EDO/SDRAM)。LCD控制器(支持256色的STN,集成1個DMA控制器)。2個通用DMA控制器(ZDMA)/2個外圍DMA控制器(BDMA)。2個帶硬件握手的UART控制器(符合550標準)/1個SIO。1個支持多主設備的I2C控制器。1個IIS總線控制器。5個PWM定時器和1個內部定時器??撮T狗定時器WatchDog。71個通用可編程的I/O口和8個外部中斷源。具有8通道輸入的10位ADC。具有日歷功能的實時時鐘RTC。功率控制模式:Nomal、Slow、Idle和Stop。帶鎖相環PLL的片內時鐘發生器。S3C44B0內部結構看門狗定時器看門狗定時器(WDT,WatchDogTimer)實際上是一個計數器,一般給看門狗一個大數,程序開始運行后看門狗開始倒計數。如果程序運行正常,過一段時間CPU應發出指令讓看門狗復位,重新開始倒計數,即“喂狗”,以防止復位信號的發生。如果看門狗減到0就認為程序沒有正常工作,強制整個系統復位??撮T狗的作用就是防止程序發生死循環,或者說程序跑飛。S3C44B0X在使用嵌入式ICE來調試時,看門狗定時器不能被操作。因此,信號在調試模式下,即使看門狗的定時器定時時間到了,也不會產生復位信號。看門狗定時器對微控制器提供了獨立的保護系統,當系統出現故障時,在可選的超時周期之后,看門狗將以RESET信號作出響應。即當WatchDog在你的程序陷入死循環的時候,可以讓系統復位而不用整個系統斷電,從而保護你的硬件電路。汽車電子系統需要監控電路監測故障容限或安全性??撮T狗定時器可理想滿足這類需求,通過對微控制器正常工作條件下產生的周期脈沖進行檢測,偵測電路或IC的失效狀態,一旦發生故障可立即切換到備份/冗余系統??撮T狗定時器PWM脈寬調制PWM是“PulseWidthModulation”即脈沖寬度調制,簡稱脈寬調制。脈寬調制PWM一種是利用微處理器的數字輸出對模擬電路進行控制的非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。PWM是一種對模擬信號電平進行數字編碼的方法。通過高分辨率計數器的使用,方波的占空比被調制用來對一個具體的模擬信號的電平進行編碼。其中:占空比和調制頻率是兩個主要參數PWM脈寬調制占空比是指在一個周期內,接通信號與周期的比值10%50%70%占空比為10%的PWM輸出,即在信號周期中,10%的時間通(高電平),其余90%的時間斷。另外兩個顯示的分別是占空比為50%和70%的PWM輸出。這三種PWM輸出的編碼分別是強度為滿度值的10%及50%和70%的3種不同模擬信號值。PWM脈寬調制燈開關調制頻率是周期的倒數。例如圖中使用9V電池給一個白熾燈泡供電。如果將連接電池和燈泡的開關閉合50ms,則燈泡在這段時間中將得到9V供電,如果在下一個50ms中將開關斷開,燈泡得到的供電將為0V。如果在1s內將此過程重復10次,燈泡將會點亮。因占空比是50%,因此像連接到了一個4.5V電池(9V的50%)

因T=1s/10次=0.1s,因此調制頻率為1/T=1/0.1s=10HzPWM定時器S3C44B0的PWM定時器具有6個16位定時器,每個定時器可以按照中斷模式或DMA模式工作。定時器0,1,2,3和4具有PWM輸出功能。定時器5是一個內部定時器不具有對外輸出口線。定時器0具有死區發生器,通常用于大電流設備應用。用于在開關設備的斷開和另一個開關設備的閉合之間插入一個時間缺口。這個時間缺口阻止兩個開關設備處于同時閉合的狀態,即使是非常短的時間。例如:通過PWM控制器控制蜂鳴器的發生S3C44B0存儲控制器存儲器是嵌入式系統的重要組成部分,在嵌入式開發中,擴展存儲器是重要的一步。S3C44B0和S3C2410的存儲器控制器提供訪問外部存儲器所需要的存儲器控制信號,便于擴展外部存儲器。S3C44B0存儲控制與地址空間存儲格式小/大端選擇S3C44B0存儲空間共有8個Bank,每個Bank為32MB,總共256MB。8個Bank中:Bank0~Bank5這6個為ROM、SRAM等類型的Bank,起始地址都是固定的。Bank6、Bank7這兩個可做SROM、SDRAM、FP/EDO/SDRAM等類型的Bank;Bank6、Bank7這兩個的大小是可選的,因此,Bank6的起始地址固定,但Bank7的起始地址是可變的;但Bank6和Bank7必須有相同的存儲器大小。(見教材表9-2)地址空間分布專用功能寄存器Bank6~Bank7大小可選

S3C44B0的Bank6/7地址分布S3C44B0存儲位寬控制

S3C44B0存儲器數據寬度選擇S3C44B0的Bank0數據總線(nGCS0)寬度可配置成8/16/32bit;又因為BANK0是ROM區的引導(映射到0x00000000),總線寬度需在ROM訪問前確定,在復位時根據OM[1:0]的邏輯電平來確定。S3C44B0存儲器接口ROM接口

4片8位ROM存儲器接口讀/寫32位寬度數據時 CPU 存儲器地址線A2——A016位ROM存儲器接口讀/寫16位寬度數據時 CPU 存儲器地址線A1——A0SDRAM接口地址線連與ROM同理讀/寫16位寬度數據時 CPU 存儲器地址線A1——A0讀/寫32位寬度數據時 CPU 存儲器地址線A2——A0S3C44B0存儲控制寄存器總線寬度和等待控制寄存器(BWSCON)詳細信息見教材《ARM嵌入式系統結構與編程》

227頁表9-6總線控制寄存器(1)(BANKCONn:nGCS0-nGCS5):總線控制寄存器BANKCON0~BANKCON5位詳細信息見教材227頁表9-7(2)(BANKCONn

:nGCS6-nGCS7):總線控制寄存器BANKCON6~BANKCON7位詳細信息見教材229頁表9-8刷新控制寄存器(REFRESH)刷新控制寄存器REFRESH詳細信息見230頁表9-9BANKSIZE寄存器(BANKSIZE) BANKSIZE寄存器位詳細信息見教材231頁表9-10SDRAM接口電路設計SDRAM的行地址線和列地址線是分時復用的,也就是地址線要分兩次送出,先送行地址線,再送列地址線。HY57V561620是現代公司生產的容量為32MB(4Mx16bitx4Bank)的SDRAMHY57V561620內部原理jS3C2410與HY57V561620的接口電路詳細信息見教材233頁表9-12S3C44B0存儲器初始化實例例:使用一條STM指令完成13個控制寄存器的初始化。當系統復位后,通過LDMIA和STMIA命令來設置BWSCON,BANCON0-7,REFRESH,BANKSIZ,MRSRB6/7這13個控制寄存器。LDR R0,=SMRDATALDMIAR0,{R1-R13};將[R0]~[R0+13*4]的字數據讀到R1~R13中, ;即下面DATA區的13個字數據讀到R1~R13中LDR R0,=0x01C80000;BWSCON寄存器地址STMIAR0,{R1-R13};將R1~R13中的字數據存入[R0]~[R0+13*4]中 ;即將DATA區的字數據存入13個控制寄存器SMRDATADATADCD0x22221210 ;BWSCONDCD0x00000600 ;GCS0DCD0x00000700 ;GCS1DCD0x00000700 ;GCS2DCD0x00000700 ;GCS3DCD0x00000700 ;GCS4DCD0x00000700 ;GCS5DCD0x0001002A ;GCS6,EDODRAM(Trcd=3) ;(Tcas=2,Tcp=1,CAN=10bit)DCD0x0001002A ;GCS7,EDODRAMDCD0x00960000+953 ;Refresh(REFEN=1,TREFMD=0) ;(Trp=3,Trc=5,Tchr=3)DCD0x0 ;BankSize,32MB/32MBDCD0x20 ;MRSR6(CL=2)DCD0x20 ;MRSR7(CL=2)S3C44B0時鐘電源管理S3C44B0的電源管理有五種模式:正常模式低速模式空閑模式停止模式LCD的SL空閑模式S3C44B0的時鐘生成器能夠為CPU和外設產生所需的時鐘信號,且可以控制每個外設提供或斷開時鐘,以減少電源消耗。S3C44B0時鐘管理S3C44B0的時鐘發生器模塊主時鐘源來自外部晶振或外部時鐘。連接到外部的晶體振蕩器PLL鎖相環,把低頻率震蕩輸出作為它的輸入,然后產生滿足S3C44B0需求的高頻率時鐘。2.時鐘源的選擇:控制模式引腳(OM3和OM2)與S3C44B0時鐘源選擇的結合關系如表9-18所示。OM[3:2]狀態通過查閱OM3和OM2引腳在nRESET上升沿時的值內部鎖存的。五種電源管理模式分別是:正常模式:用來支持CPU和所有外設的時鐘。且用戶可以選擇斷開外設的的電源管理來減少消耗。低速模式:不使用PLL鎖相環直接種用外部時鐘作為主時鐘。電源消耗只依賴于外部時鐘頻率??臻e模式:只斷開CPU內核的時鐘,但為所有外設提供時鐘。CPU內核的電源消耗被減少了,任何中斷請求可使CPU從空閑模式被喚醒。停止模式:通過禁止PLL鎖相環來凍結CPU和所有外設的時鐘。CPU的外部中斷可使之從停止模式被喚醒。LCD的SL空閑模式:使得LCD控制器得以工作。除了LCD控制器外的CPU及外設的時鐘被停止,此模式電源消耗比空閑模式小。上電復位晶振開始振蕩數毫秒后,當S3C44B0OSC時鐘穩定后nRESET得到釋放,PLL開始根據默認的PLL配置進行運作。PLL在上電復位后變得不穩定,所以Fin代替Fpllo在S/W更新PLLCON的配置前直接反饋到Fout。用戶在復位后想使用PLLCON寄存器的默認值,也需要通過S/W寫入相同的值給PLLCON寄存器。上電復位時鐘鎖定在正常模式下的操作,如果用戶希望通過寫PMS值的方法改變頻率,PLL鎖定時間會自動寫入。在鎖定時間里,時鐘不支持內部模塊。S3C44B0時鐘與電源管理專用寄存器鎖時計數寄存器LOCKTIME、PLL配置寄存器、時鐘控制寄存器(CLKCON)、低速時鐘控制寄存器(CLKSLOW)詳細描述信息見教材第246-250頁S3C44B0通用I/O端口S3C44B0有71個多功能輸入/輸出引腳。有如下7個端口一個10位輸入/輸出端口(端口A)一個11位輸入/輸出端口(端口B)一個16位輸入/輸出端口(端口C)兩個8位輸入/輸出端口(端口D和G)兩個9位輸入/輸出端口(端口E和F)端口控制描述1.端口配置寄存器在S3C44B0中,大多數引腳是復合式的。所以,需要決定每個引腳所選擇的功能。端口控制寄存器決定每個引腳的功能。在S3C44B0中,如果PG0-PG7用于在掉電模式下的喚醒信號,這些端口需要配置成中斷模式。2.端口數據寄存器如果這些端口被配置成輸出端口,數據可以從相應的位被寫入。如果這些端口被配置成輸入端口,數據可以從相應的位讀出。3.端口上拉寄存器端口上拉寄存器控制每個端口組的上拉電阻使能/禁止。當相應的位置0,引腳的上拉電阻被使能。為1時,上拉電阻被禁止。4.外部中斷控制寄存器S3C44B0的8個外部中斷通過多種信號方法被請求。EXTINT寄存器可以設置外部中斷觸發方式。通用I/O接口設計實例例:LED與蜂鳴器接口電路 S3C44B0的端口A的第0、1、2、3管腳分別與LED相連,端口E的第0管腳用來控制蜂鳴器。根據LED的硬件電路圖,實現LED的循環閃爍:{LED1亮延時,LED4滅}->{LED2亮延時,LED1滅}->{LED3亮延時,LED2滅}->{LED4亮延時,LED3滅}->{蜂鳴器開延時,蜂鳴器關},如此無限循環,實現LED霓虹燈式的循環閃爍。/************************************************************************************文件名:GPIO_Test.c版本號:V1.0創建日期:2008-7-1作者:FE2000硬件描述:S3C44B0GPA0~GPA3分別接LED1~LED4,GPE0控制蜂鳴器。主要函數描述:函數LED1_delay~LED4_delay用于實現LED1~LED4亮滅控制并延時。修改日志:***********************************************************************************//*定義S3C44B0內部端口寄存器地址*/#definerPCONA(*(volatileunsigned*)0x1d20000)//定義端口A配置寄存器rPCONA#definerPDATA(*(volatileunsigned*)0x1d20004)//定義端口A數據寄存器rPDATA#definerPCONE(*(volatileunsigned*)0x1d20028)//定義端口E配置寄存器rPCONE#definerPDATE(*(volatileunsigned*)0x1d2002c)//定義端口E數據寄存器rPDATE#definerPUPE(*(volatileunsigned*)0x1d20030)//定義端口E上拉電阻寄存器rPUPE/*S3C44B0端口配置*/rPCONA=rPCONA&0xFFFFFFF0//GPA0~GPA3設置為輸出rPCONE=rPCONE&0xFFFFFFFDrPCONE=rPCONE|0xFFFFFFFD//GPE0設置為輸出具體代碼見教材P276~279/******************************************函數名稱:Delay功能描述:Delay函數實現軟件延時.入口參數:Time延時參數出口參數:無******************************************/VoidDelay(intTime){unsignedintI;for(i=0;i<Time;i++);}/************************************************************函數名稱:LED1_Delay功能描述:LED1_Delay函數實現控制LED1亮滅并延時.入口參數:x:控制LED1的亮滅.x=1亮,x=0滅出口參數:無***************************************************************/voidLED1_Delay(charx){if(x==1) rPDATA=rDATA&0xFFFFFFFE;/*開LED1*/elseif(x==0) rPDATA=rDATA|0x000000001;/*關LED1*/Delay(500);}/************************************************************函數名稱:LED2_Delay功能描述:LED2_Delay函數實現控制LED2亮滅并延時.入口參數:x:控制LED2的亮滅.x=1亮,x=0滅出口參數:無*****************************************************************/voidLED2_Delay(charx){if(x==1) rPDATA=rDATA&0xFFFFFFFD;/*開LED2*/elseif(x==0) rPDATA=rDATA|0x000000002;/*關LED2*/Delay(500);}/************************************************************函數名稱:LED3_Delay功能描述:LED3_Delay函數實現控制LED3亮滅并延時.入口參數:x:控制LED3的亮滅.x=1亮,x=0滅出口參數:無*****************************************************************/voidLED3_Delay(charx){if(x==1) rPDATA=rDATA&0xFFFFFFFB;/*開LED3*/elseif(x==0) rPDATA=rDATA|0x000000004;/*關LED3*/Delay(500);}/************************************************************函數名稱:LED4_Delay功能描述:LED4_Delay函數實現控制LED4亮滅并延時.入口參數:x:控制LED4的亮滅.x=1亮,x=0滅出口參數:無*****************************************************************/voidLED4_Delay(charx){if(x==1) rPDATA=rDATA&0xFFFFFFF7;/*開LED4*/elseif(x==0) rPDATA=rDATA|0x000000008;/*關LED4*/Delay(500);}/************************************************************函數名稱:Beep_Delay功能描述:Beep_Delay函數實現控制蜂鳴器的開關并延時.入口參數:x:控制蜂鳴器的開關.x=1開,x=0滅出口參數:無*****************************************************************/voidBeep_Delay(charx){if(x==1) rPDATE=rDATE&0xFFFFFFFE;/*開蜂鳴器*/elseif(x==0) rPDATE=rDATE|0x000000001;/*關蜂鳴器*/Delay(500);}/************************************************************函數名稱:Main()功能描述:實現以下過程的無限循環{LED1亮延時,LED4滅}->{LED2亮延時,LED1滅}->{LED3亮延時,LED2滅}->{LED4亮延時,LED3滅}->{蜂鳴器開延時,蜂鳴器關}入口參數:無出口參數:無*****************************************************************/voidMain(){while(1) { LED1_Delay(1); LED4_Delay(0); LED2_Delay(1); LED1_Delay(0); LED3_Delay(1); LED2_Delay(0); LED4_Delay(1); LED3_Delay(0); Beep_Delay(1); Beep_Delay(0); }}程序中:/*定義S3C44B0內部端口寄存器地址*/#definerPCONA(*(volatileunsigned*)0x1d20000)//定義端口A配置寄存器rPCONA#definerPDATA(*(volatileunsigned*)0x1d20004)//定義端口A數據寄存器rPDATA#definerPCONE(*(volatileunsigned*)0x1d20028)//定義端口E配置寄存器rPCONE#definerPDATE(*(volatileunsigned*)0x1d2002c)//定義端口E數據寄存器rPDATE#definerPUPE(*(volatileunsigned*)0x1d20030)//定義端口E上拉電阻寄存器rPUPE/*S3C44B0端口配置*/rPCONA=rPCONA&0xFFFFFFF0//PA0~PA3設置為輸出rPCONE=rPCONE&0xFFFFFFFDrPCONE=rPCONE|0xFFFFFFFD//PE0設置為輸出端口A(控制寄存器PCONA,數據寄存器PDATA)各寄存器的具體位信息見教材P251表9-24程序中:/*定義S3C44B0內部端口寄存器地址*/#definerPCONA(*(volatileunsigned*)0x1d20000)//定義端口A配置寄存器rPCONA#definerPDATA(*(volatileunsigned*)0x1d20004)//定義端口A數據寄存器rPDATA#definerPCONE(*(volatileunsigned*)0x1d20028)//定義端口E配置寄存器rPCONE#definerPDATE(*(volatileunsigned*)0x1d2002c)//定義端口E數據寄存器rPDATE#definerPUPE(*(volatileunsigned*)0x1d20030)//定義端口E上拉電阻寄存器rPUPE/*S3C44B0端口配置*/rPCONA=rPCONA&0xFFFFFFF0//PA0~PA3設置為輸出rPCONE=rPCONE&0xFFFFFFFDrPCONE=rPCONE|0xFFFFFFFD//PE0設置為輸出端口E(控制寄存器PCONE,數據寄存器PDATE,上拉電阻使能寄存器PUPE)各寄存器的具體位信息見教材P255頁表9-28寄存器

地址

讀/寫

描述

復位值

PCONE

0x01D20028

R/W

配置端口E的引腳

0x00

PDATE

0x01D2002C

R/W

端口E的數據寄存器

未定義

PUPE

0x01D20030

R/W

端口E上拉電阻使能寄存器

0x00S3C44B0中斷機制中斷是CPU在程序運行過程中,被內部或外部的事件所打斷,轉去執行一段預先安排好的中斷服務程序,中斷服務程序執行完畢后,又返回原來的斷點,繼續執行原來的程序。S3C44B0內部集成了中斷控制器,能夠管理30個中斷源。26個獨立的外部中斷4個通過或門共用一根中斷請求線的外部中斷4/5/6/72個通過或門共用一根中斷請求線的UART錯誤中斷0/1說明:對于共用中斷請求線的中斷發生時,需要在中斷服務程序中進行查詢以進一步確定中斷源。中斷優先級產生模塊由1個主單元和4個從單元組成主單元管理4個從單元和2個中斷源從單元有4個可編程優先級中斷源sGN和2個固定優先級中斷源sGKn;2個固定優先級中斷源在6個中斷源中優先級最低中斷優先級約定從優先級單元中:sGA、sGB、sGC、sGD的優先級>sGKA>sGKB。其中,sGA、sGB、sGC、sGD的優先級通過編程配置。主優先級單元中:mGA、mGB、mGC、mGD的優先級>mGKA>mGKB。其中,mGA、mGB、mGC、mGD的優先級通過編程配置。所以mGKA和mGKB在其他中斷源中優先級最低。非向量中斷方式中斷源產生中斷后,從0x18處取指執行向量中斷方式中斷源產生中斷后,跳轉到0x18處,并忽略0x18處指令,由處理器識別中斷后自動產生一個跳轉到中斷源向量地址的分支指令,并填充總線執行總線上新的指令;在各中斷源對應的中斷向量地址中,存放著跳轉到相應中斷服務程序的指令代碼。0x18中斷服務入口0x18中斷服務入口S3C44B0的IRQ中斷分為向量中斷與非向量中斷向量中斷與非向量中斷處理過程IRQs中斷非向量中斷INTCONV=1向量中斷INTCONV=0中斷服務入口地址表地址映射中斷控制器讀取I_ISPR寄存器并計算偏移量26個中斷源EINT0/1/2……PowerDownEINT0/1/2……PowerDown中斷初始化時要對中斷控制寄存器INTCON進行配置,設置V來選擇向量模式還是非向量模式。S3C44B0中斷控制特殊功能寄存器使用S3C44B0中斷控制時,要能夠完成這些功能的寄存器的初始化。主要寄存器有:中斷控制寄存器INTCON中斷掛起寄存器INTPND中斷模式寄存器INTMOD中斷屏蔽寄存器INTMSKIRQ向量模式相關寄存器中斷控制寄存器INTCON—見P284頁表9-51中斷掛起寄存器INTPND—見P284頁表9-52所示每一個中斷源對應著一位。只有未被屏蔽且具有最高優先級、在源掛起寄存器中等待處理的中斷請求,其對應的中斷掛起位被置1。S3C44B0在中斷服務程序中必須加入對I_ISPC和F_ISPC寫1的操作來清除掛起條件,準備接收下一次中斷。中斷模式寄存器INTMOD—見P286表9-53ARM處理器的中斷模式有兩種:IRQ模式和FIQ模式。每一個中斷源對應著一位。當中斷源的模式位設置為0時,中斷會按IRQ模式來處理;當模式位設置為1時,對應的中斷會按FIQ模式來處理。某一時刻只能有一個中斷源在FIQ模式下處理,即INTMOD寄存器只有一位可以設置為1。中斷屏蔽寄存器INTMSK—見P288表9-54每一個中斷源對應著一位;如果某位設置為1,則該位所對應的中斷請求不會被處理;如果某位設置為0,則該位所對應的中斷請求才會被處理;如果全局屏蔽位被設置為1,則所有的中斷請求都不會被處理。S3C44B0向量模式相關寄存器—見P290表9-55對S3C44B0中的優先級產生模塊的設置通過對寄存器I_PSLV、I_PMST、I_CSLV、C_CMST的設置來完成。如果幾個中斷源同時發出中斷請求,則可通過讀I_ISPR寄存器可獲知前具有最高優先級的中斷源。7個外部中斷的中斷控制寄存器EXTINT—見P258頁表9-327個外部中斷的中斷掛起寄存器EXINTPND—見P259頁表9-33外部中斷請求(4,5,6,7)是‘或’關系,中共享相同的中斷請求線,提供一個中斷信號給中斷控制器。當每個外部中斷請求中斷,相應位將會被設置成1。中斷服務例程必須在清除外部掛起條件EXINTPND后清除中斷掛起條件INTPNDS3C44B0中斷接口實例部分函數代碼見P298圖為一個3*3的矩陣鍵盤,3條行線接GPC0~2,3條列線接GPC3~5,鍵盤中斷從EXINT6輸入。行線由CPU送出低電平當按鍵K1~9中任一按鍵按下時,行線和列線短路,列線被拉低,經過與門后,EXINT6產生低電平向CPU發出中斷請求。當CPU受理中斷后,進入相應中斷服務程序,進行按鍵判斷和鍵值計算?;贏RM的嵌入式硬件平臺體系結構UP-NETARM3000

S3C44B0X把外部復位信號,也作為一個中斷來處理。在系統復位的時候,程序(PC)指針被設置成0,使程序跳轉到0x00000000開始運行。此空間對應的是Bank0。因為在系統的1MB的線性Flash和處理器的Bank0相連接。在線性Flash里存儲的是供系統的初始化的程序。此程序負責配置處理器的結構、工作模式以及自動檢測嵌入式控制器的各個硬件是否工作正常。此程序負責把存儲在16MB的非線性處理器里面的system.bin文件復制到0xc5f0000地址(此地址是系統8MB的SDRAM的首地址)。引導程序把程序(PC)指針指向0xc000000地址,系統開始運行。system.bin是嵌入式操作系統引導的執行文件。編譯以后的操作系統和應用程序就是這個文件。S3C44B0X存儲系統的特征

支持數據存儲的大/小端選擇(通過外部引腳進行選擇)地址空間:具有8個存儲體,每個存儲體可達32Mb,總共可達256Mb。對所有存儲體的訪問大小均可進行改變(8位/16位/32位)8個存儲體中,Bank0-Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FP/EDO/SDRAM等。7個存儲體的起始地址固定,1個存儲體的起始地址可變。典型系統中存儲體的分配情況存儲體與存儲體的接口Bank0BIOS512K×2FlashBank116MFlash硬盤Bank2USB接口Bank3LCD顯示模塊Bank4保留Bank5保留Bank6系統內存SDRAMBank7保留復位后的S3C44B0X的存儲器映射表使用Bank0上的兩片512Kb×2來放置系統BIOS,系統上電以后,PC指針自動指向Bank0的第一個單元,開始進行系統自舉。系統自舉完成以后,便從硬盤中將系統文件和用戶應用程序復制到SDRAM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論