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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > s3c2440 NAND與NOR啟動方式詳解

          s3c2440 NAND與NOR啟動方式詳解

          作者: 時間:2016-11-11 來源:網(wǎng)絡 收藏
          一:地址空間的分配

          1:s3c2440是32位的,所以可以尋址4GB空間,內(nèi)存(SDRAM)和端口(特殊寄存器),還有ROM都映射到同一個4G空間里.

          本文引用地址:http://www.ex-cimer.com/article/201611/316880.htm

          2:開發(fā)板上一般都用SDRAM做內(nèi)存flash(nor、nand)來當做ROM。其中nand flash沒有地址線,一次至少要讀一頁(512B).其他兩個有地址線

          3:nandflash不用來運行代碼,只用來存儲代碼,NORflash,SDRAM可以直接運行代碼)

          4:s3c2440總共有8個內(nèi)存banks
          6個內(nèi)存bank可以當作ROM或者SRAM來使用
          留下的2個bank除了當作ROM或者SRAM,還可以用SDRAM(各種內(nèi)存的讀寫方式不一樣)
          7個bank的起始地址是固定的
          還有一個靈活的bank的內(nèi)存地址,并且bank大小也可以改變

          5:s3c2440支持兩種啟動模式:NAND和非NAND(這里是nor flash)。
          具體采用的方式取決于OM0、OM1兩個引腳

          OM[1:0所決定的啟動方式

          OM[1:0]=00時,處理器從NAND Flash啟動

          OM[1:0]=01時,處理器從16位寬度的ROM啟動

          OM[1:0]=10時,處理器從32位寬度的ROM啟動。

          OM[1:0]=11時,處理器從Test Mode啟動。


          當從NAND啟動時

          cpu會自動從NAND flash中讀取前4KB的數(shù)據(jù)放置在片內(nèi)SRAM里(s3c2440是soc),同時把這段片內(nèi)SRAM映射到nGCS0片選的空間(即0x00000000)。cpu是從0x00000000開始執(zhí)行,也就是NAND flash里的前4KB內(nèi)容。因為NAND FLASH連地址線都沒有,不能直接把NAND映射到0x00000000,只好使用片內(nèi)SRAM做一個載體。通過這個載體把nandflash中大代碼復制到RAM(一般是SDRAM)中去執(zhí)行

          當從非NAND flash啟動時

          nor flash被映射到0x00000000地址(就是nGCS0,這里就不需要片內(nèi)SRAM來輔助了,所以片內(nèi)SRAM的起始地址還是0x40000000).然后cpu從0x00000000開始執(zhí)行(也就是在Norfalsh中執(zhí)行)。

          總結(jié):

          Arm的啟動都是從0地址開始,所不同的是地址的映射不一樣。在arm開電的時候,要想讓arm知道以某種方式(地址映射方式)運行,不可能通過你寫的某段程序控制,因為這時候你的程序還沒啟動,這時候arm會通過引腳的電平來判斷。

          1當引腳OM0跟OM1有一個是高電平時,這時地址0會映射到外部nGCS0片選的空間,也就是Norflash,程序就會從Norflash中啟動,arm直接取Norflash中的指令運行。

          2當OM0跟OM1都為低電平,則0地址內(nèi)部bootbuf(一段4k的SRAM)開始。系統(tǒng)上電,arm會自動把NANDflash中的前4K內(nèi)容考到bootbuf(也就是0地址),然后從0地址運行。

          這時NANDFlash中的前4K就是啟動代碼(他的功能就是初始化硬件然后在把NANDFlash中的代碼復制到RAM中,再把相應的指針指向該運行的地方)

          為什么會有這兩種啟動方式,關(guān)鍵還是兩種flash的不同特點造成,NOR FLASH容量小,速度快,穩(wěn)定性好,輸入地址,然后給出讀寫信號即可從數(shù)據(jù)口得到數(shù)據(jù),適合做程序存儲器。NAND FLASH 總?cè)萘看?,但是讀寫都需要復雜的時序,更適合做數(shù)據(jù)存儲器。這種不同就造成了NORflash可以直接連接到arm的總線并且可以運行程序,而NANDflash必須搬移到內(nèi)存(SDRAM)中運行。

          在實際的開發(fā)中,一般可以把bootloader燒入到Norflash,程序運行可以通過串口交互,進行一定的操作,比如下載,調(diào)試。這樣就很可以很方便的調(diào)試你的一些代碼。Norflash中的Bootloader還可以燒錄內(nèi)核到Norflash等等功能。



          關(guān)鍵詞: s3c2440NANDNOR啟動方

          評論


          技術(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); })();