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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > U-Boot從NAND Flash啟動的實現(xiàn)

          U-Boot從NAND Flash啟動的實現(xiàn)

          作者: 時間:2010-08-05 來源:網(wǎng)絡(luò) 收藏

          摘要:不能從 給應(yīng)用帶來些不便,因此修改使其支持從 。分析了流程的兩個階段及 啟動的原理和思路,并根據(jù)NAND Flash的物理結(jié)構(gòu)和存儲特點,增加U-Boot對NAND Flash的操作支持,從而完成把存儲在NAND Flash上的U-Boot代碼復(fù)制到SDRAM中執(zhí)行,從NAND Flash的啟動。修改過后的U-Boot可以直接從NAND Flash啟動,給應(yīng)用帶來便利。
          關(guān)鍵詞:U-Boot;NAND Flash;Boofloader;S3C2440;移植

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

          Bootloader引導(dǎo)裝載程序是系統(tǒng)上電后運行的第一段程序,其作用是完成基本的硬件初始化工作,所以引導(dǎo)裝載程序跟硬件有著緊密的聯(lián)系。因此必須根據(jù)開發(fā)板的硬件配置對引導(dǎo)裝載程序進(jìn)行修改才可以使其運行起來。隨著嵌入式系統(tǒng)的復(fù)雜化,大容量數(shù)據(jù)存儲的NAND Flash的應(yīng)用會越來越廣泛,同時U-Boot是功能最豐富的Bootloader,但遺憾的是U-Boot不支持從NAND Flash啟動。所以如果能U-Boot從NAND Flash啟動的話將會給應(yīng)用帶來很大的方便。本文討論修改U-Boot使其支持從NAND Flash啟動.采用基于S3C2440的開發(fā)板。

          1 U-Boot簡介及流程分析
          U-Boot,全稱universal boot loader,是遵循GPL條款的開放源代碼項目。可以引導(dǎo)多種操作系統(tǒng),支持多種架構(gòu)的CPU。它支持如下操作系統(tǒng):Linux、NetBSD、VxWorks等,支持如下架構(gòu)的CPU:PowerPC、MIPS、X86、ARM、NIOS、XSeale等,同時支持NFS掛載,是一個功能豐富的BootLoader。它的整個程序框架清晰,易于移植,許多設(shè)計人員將自己的移植代碼上傳到網(wǎng)站(http://sourceforge.net/project-s/u-boot/) 上,更新速度很快。目前的版本是1.1.6,本論文正是采用此版本進(jìn)行說明,U-Boot的目錄結(jié)構(gòu)參見U-Boot源代碼。

          要進(jìn)行U-Boot的修改移植必須了解U-Boot的程序運行流程,這是必要的一步。U-Boot屬于兩階段的BootLoader,其啟動流程如圖l所示。第一階段的文件為cpu/arm920t/start.S和board/smdk2410/lowlevel_init.S,用ARM匯編語言編寫,前者是平臺相關(guān)的,后者是開發(fā)板相關(guān)的。第一階段主要是關(guān)于基本硬件的初始化,包括關(guān)閉MMU、CACHE、設(shè)置PLL時鐘比例、關(guān)閉看門狗;初始化SDRAM,為復(fù)制第二階段代碼做準(zhǔn)備,最后復(fù)制第二階段代碼到SDRAM中,然后跳到SDRAM中運行第二階段。第二階段代碼都是用C語言編寫的,功能更加復(fù)雜。主要是進(jìn)一步初始化硬件設(shè)備、檢測內(nèi)存映射、復(fù)制內(nèi)核鏡像和根文件系統(tǒng)到SDRAM以及設(shè)置啟動參數(shù)從而啟動內(nèi)核。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 實現(xiàn) 啟動 Flash NAND U-Boot

          評論


          相關(guān)推薦

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