新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > U-Boot從NAND Flash啟動的實現

        U-Boot從NAND Flash啟動的實現

        作者: 時間:2010-08-05 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/180637.htm

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

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

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


        上一頁 1 2 3 下一頁

        關鍵詞: 實現 啟動 Flash NAND U-Boot

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 犍为县| 肇源县| 通城县| 阳朔县| 甘泉县| 高密市| 盘山县| 沂水县| 苏尼特左旗| 南京市| 临汾市| 连州市| 通海县| 稷山县| 宣城市| 广州市| 廉江市| 龙海市| 常熟市| 客服| 大同市| 昭苏县| 鸡泽县| 北宁市| 平利县| 镇雄县| 富川| 云安县| 依安县| 永登县| 景德镇市| 阳城县| 红安县| 兰坪| 呼伦贝尔市| 湟中县| 军事| 邢台县| 公主岭市| 通山县| 扶绥县|