<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          S3C2440-SDRAM

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          我板子的SDRAM是64M,從0x30000000"0x3fffffff,被BANK6選中。
          //64MB
          // 0x30000000 " 0x30ffffff : Download Area (16MB) Cacheable
          // 0x31000000 " 0x33feffff : Non-Cacheable Area
          // 0x33ff0000 " 0x33ff47ff : Heap & RW Area
          // 0x33ff4800 " 0x33ff7fff : FIQ " User Stack Area
          // 0x33ff8000 " 0x33fffeff : Not Useed Area
          // 0x33ffff00 " 0x33ffffff : Exception & ISR Vector Table
          我的開發(fā)板要求在0x32000000這個地址運行,也就是在Non-Cacheable Area這段內(nèi)存區(qū)域。SDRAM內(nèi)部是一個存儲陣列,陣列就如同表格一樣,將數(shù)據(jù)“填進去”。和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),就可以準確的找到所需要的存單元格,這就是SDRAM尋址的基本原理。這個單元格被成為存儲單元,這個表格就是邏輯BANK(Logic Bank,下文稱L-Bank),SDRAM一般含有4個L-Bank。SDRAM有13個控制寄存器。
          BWSCON總線寬度與等待狀態(tài)控制寄存器
          BANKCON0"BANKCON7,BANK控制寄存器
          REFRESH,刷新控制寄存器
          BANKSIZE寄存器
          MRSRB6,MRSRB7,模式寄存器集寄存器
          下面完成一個程序讓跑馬燈程序在0x0地址運行,如果是Nandflash啟動,也就是在steppingstone中運行,把它搬到SDRAM中運行。程序還是有問題有待于改進。
          SADD EQU 0x30000000
          BWSCONS EQU 0x48000000
          AREA |DATA|,CODE,READONLY
          ENTRY
          IMPORT LedMain
          bl disableWTD
          bl initmem
          bl Copy_Sdram
          ldr pc,=on_sdram
          on_sdram
          ldr sp,=0x34000000
          bl LedMain
          disableWTD
          mov r1,#0x53000000
          mov r2,#0
          str r2,[r1]
          mov pc,lr
          initmem
          ldr r1,=SDRAM_add
          ldr r2,=BWSCONS
          add r3,r2,#52
          cp1
          ldr r4,[r1],#4
          str r4,[r2],#4
          cmp r2,r3
          bne cp1
          mov pc,lr
          Copy_Sdram
          mov r1,#0
          add r2,r1,#4096
          ldr r4,=SADD
          cp2
          ldr r3,[r1],#4
          str r3,[r4],#4
          cmp r1,r2
          bne cp2
          mov pc,lr
          ALIGN 4
          SDRAM_add
          DCD 0x22011110 ;BWSCON
          DCD 0x00000700 ;BANKCON0
          DCD 0x00000700 ;BANKCON1
          DCD 0x00000700 ;BANKCON2
          DCD 0x00000700 ;BANKCON3
          DCD 0x00000700 ;BANKCON4
          DCD 0x00000700 ;BANKCON5
          DCD 0x00018005 ;BANKCON6
          DCD 0x00018005 ;BANKCON7
          DCD 0x008c07a3 ;REFRESH
          DCD 0x000000b1 ;BANKSIZE
          DCD 0x00000030 ;MRSRB6
          DCD 0x00000030 ;MRSRB7
          END
          #define GPFCON (*(volatile unsigned *)0x56000050)
          #define GPFDAT (*(volatile unsigned *)0x56000054)
          #define GPFUP (*(volatile unsigned *)0x56000058)
          int LedMain()
          {
          void Delay(unsigned int);
          unsigned char ledtab[]={0xf7,0xef,0xdf,0xbf};
          int i;
          GPFUP&=0XFFFFFF87; //使能上拉F3-6
          GPFCON&=0XC03f;
          GPFCON|=0X1540; //將F3-6設(shè)為輸出口
          while(1)
          {
          for(i=0;i<4;i++)
          {
          GPFDAT=ledtab[ i];
          Delay(670);
          }
          }
          return(0);
          }
          void Delay(unsigned int x )
          {
          unsigned int i,j,k;
          for(i=0;i<=x;i++)
          for(j=0;j<=0xff;j++)
          for(k=0;k<=0xff;k++);
          }


          關(guān)鍵詞: S3C2440SDRAM存儲陣

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();