簡易檢索 / 詳目顯示

研究生: 謝文程
Wen-Cheng Hsieh
論文名稱: 嵌入式系統之U-Boot移植與實作
U-Boot Porting And Implementation On Embedded System
指導教授: 陳秋華
Chyou-hwa Chen
許孟超
Mon-Chau Shie
口試委員: 阮聖彰
Shanq-Jang Ruan
梁文耀
Wen-Yau Liang
學位類別: 碩士
Master
系所名稱: 電資學院 - 資訊工程系
Department of Computer Science and Information Engineering
論文出版年: 2005
畢業學年度: 93
語文別: 中文
論文頁數: 97
中文關鍵詞: 嵌入式系統U-Boot
外文關鍵詞: U-Boot, Embedded System
相關次數: 點閱:387下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • Boot loader對用戶端而言,雖然很難感受到它的存在,但是對「嵌入式系統」(Embedded System)的研究者而言,卻是最基礎的功課,當然,在長期使用同一開發板(Evaluation Board)狀況下,只要選擇一種適合的Boot loader即可解決問題,但是,對大量進行各種不同嵌入式系統的開發者而言,這卻是一個煩瑣的問題,尤其是現在,硬體變化速度,令人目不暇給,人們對行動裝置與手持式的產品需求與日俱增,這些輕量化的產品,絕大多數有賴於嵌入式系統的開發。新產品的硬體變化頻繁,造成研究人員必須不斷的修改或增加Boot loader程式,這對研究者而言,是相當浪費時間的。

    U-Boot (Universal Bootloader) 是眾多Boot loader其中的一種,只要我們遵循GPL (General Public License) 的基本精神,它是一個免費的軟體。早期,它只支援三種系列的CPU (PowerPC、ARM、MIPS),近年來,U-Boot 隨著嵌入式系統的快速發展,功能也愈來愈強大,各種CPU與週邊系統陸續的加入,到目前為止 (2005,May,U-Boot 1.1.2 ),U-Boot 已經支援了25種不同的CPU,162種不同的實驗板(Evaluation Board),使用U-Boot ,我們只需修改少量的程式,即可達到軟體資源的重覆使用,這讓我們節省了大量的時間與人力來做系統轉移的工作。

    在網路上,從許多有關嵌入式系統的討論區觀察,在國外,選擇使用U-Boot做為Boot loader已經成為一種趨勢,但是在台灣,關於U-Boot的書籍與資訊卻是相當的缺乏,因此想藉由此一研究來開啟對U-Boot的研究大門,希望在日後的研究工作上,不管是他人或自己,皆能有所幫助。


    There are many discussions about the Embedded System in the Internet. It's a flexible and popular boot loader for various different hardware architectures. However, there is limited reference and information about the U-Boot. I hope this thesis can help the future research in this field.

    The end-user might be indifferent to the Boot loader. However, it is the basic study for the researcher of the Embedded System. For those who use the same evaluation board over a long period of time can choose one Boot loader to solve the problem. However, it's complicated case for the innovators who want to carry out the various kinds of the Embedded System.

    The specification of the computer hardware has changing rapidly. The demand of Mobile Devices and Handheld Devices has been steadily on the increase. These portable products depend on the development of the Embedded System. However, the constantly changing of the hardware has made it very time-consuming to modify or add the Boot loader programs.

    U-Boot (Universal Bootloader) is one type of the Boot loaders. It is a free software as long as we follow the rules of the GPL (General Public License). It only supports the three systems of the CPU (PowerPC、ARM、MIPS). The function of the U-Boot has increasing quite a lot follows the development of Embedded System. The U-Boot has supported 25 different kinds of CPU and 162 different kind of Evaluation Board until now ( May 2005 ). We only need to modify some programs so that we can repeat using the software source. In this way we can save a lot of time and labor to transfer the system.

    摘要 1 ABSTRACT 2 誌謝 3 目錄 4 圖形索引 7 表格索引 11 第1章 前言 12 1.1 研究動機 12 第2章 U-Boot簡介 [8] 13 2.1 Boot Loader功能 13 2.2 Boot Loader類型 15 2.3 U-Boot的特性 17 2.4 U-BOOT命令 [8] 20 第3章 U-BOOT原理 25 3.1 硬體系統架構 25 3.2 軟體系統架構 26 3.2.1 U-Boot主要啟動流程 26 3.2.2 U-Boot初始化流程 27 3.2.3 TFTP 啟動流程 28 3.2.4 BOOTP 啟動流程 [1-4] 29 3.2.5 串列埠啟動 30 3.2.6 記憶體啟動流程 31 第4章 系統實作 32 4.1 開發環境的建立 33 4.1.1 NetStart! 硬體連接配置 [12-14] 33 4.1.2 NET-Start! 實驗板基本特性 [12-14] 35 4.1.3 Net-Start! 系統方塊圖 [12-14] 36 4.1.4 Net-Start!硬體位址配置 [12-14] 37 4.1.5 JTAG 介面 [22] 38 4.1.6 JTAG 軟體介面安裝 [22] 41 4.1.7 安裝與執行FlashAccess [22] 43 4.2 軟體部份 44 4.2.1 Compiler環境安裝 44 4.2.2 Cross Compiler安裝 45 4.2.3 Compiler之環境設定 46 4.2.4 安裝U-Boot原始程式 [8-9] 47 4.2.5 修改前準備 [14] [25] 48 4.2.6 U-Boot程式分析 54 4.2.7 軟體修改 65 4.2.8 軟體測試與除錯 66 4.3 硬體部份 [12-14] [26] 77 4.4 測試 78 4.4.1 測試Flash清除(Erase)功能 78 4.4.2 測試Boot環境變數檢測功能 80 4.4.3 測試Flash寫入(Write)功能 81 第5章 結論 83 5.1 結果展示 84 5.1.1 展示前準備 [15] [24] 84 5.1.2 展示設定 88 5.1.3載入U-Boot 應用程式展示 90 5.1.4載入uClinux作業系統展示 92 5.2 未來展望 94 參考文獻 95 圖形索引 圖 2-1 Boot Loader 與作業系統關係方塊圖 13 圖 3-1 U-Boot主要啟動流程圖 26 圖 3-2 U-Boot初始化流程圖 27 圖 3-3 TFTP 啟動流程圖 28 圖 3-4 BOOTP 啟動流程圖 29 圖 3-5 串列埠啟動流程圖 30 圖 3-6記憶體啟動流程圖 31 圖 4-1 NetStart硬體連接配置圖 33 圖 4-2 U-Boot 實驗中NETStart! 與PC關係圖 34 圖 4-3 Net-Start! 實驗板元件配置圖 35 圖 4-4 NET-Start! 系統方塊圖 36 圖 4-5 ARMU_ICE 外觀圖 38 圖 4-6 JTAG腳位定義圖 39 圖 4-7 JTAG Reset電路圖 40 圖 4-8 DaemonU 之圖示 42 圖 4-9 DaemonU 主視窗 42 圖 4-10 FlashAccess 初始化成功畫面 43 圖 4-11 16Bit之Data BUS 49 圖 4-12 DATA POLLING 演算法 53 圖 4-13 Flash測試時之錯誤畫面 66 圖 4-14 修改FLASH_CMD_UNLOCK前 67 圖 4-15修改FLASH_CMD_UNLOCK後 67 圖 4-16修改FLASH_CMD_SELECT前 68 圖 4-17 修改FLASH_CMD_SELECT後 68 圖 4-18修改FLASH_CMD_RESET()前 69 圖 4-19 修改FLASH_CMD_RESET()後 69 圖 4-20修改FLASH_CMD_ERASE_SEC()前 70 圖 4-21修改FLASH_CMD_ERASE_SEC () 後 70 圖 4-22修改FLASH_CMD_ERASE_CHIP () 前 71 圖 4-23修改FLASH_CMD_ERASE_CHIP () 後 71 圖 4-24修改FLASH_CMD_UNLOCK_BYPASS () 前 72 圖 4-25修改FLASH_CMD_UNLOCK_BYPASS () 後 72 圖 4-26修改Data Polling命令後 73 圖 4-27修改Flash 廠商識別碼前 74 圖 4-28修改Flash 廠商識別碼後 74 圖 4-29 修改Flash Erase之驗證前 74 圖 4-30修改Flash Erase之驗證後 74 圖 4-31修改write_buff ()後 76 圖 4-32 NET-Start! Reset 電路圖 77 圖 4-33 Watchdog DS1819 電路圖 77 圖 4-34 位址0x1020000已被保護畫面 78 圖 4-35 Chip#1,Bank#5保護已被解除畫面 78 圖 4-36位址1020000刪除前內容 79 圖 4-37刪除Sector Bank #5 79 圖 4-38檢查刪除後位址1020000內容 79 圖 4-39 環境變數錯誤之檢查畫面 80 圖 4-40環境變數寫入Flash前 81 圖 4-41設定新環境變數畫面 81 圖 4-42環境變數設定後內容 81 圖 4-43寫入Flash之畫面 82 圖 4-44 檢查Flash寫入後之內容 82 圖 5-1超級終端機設定示意圖 88 圖 5-2 TFTP主畫面 89 圖 5-3 設定Bootcmd環境變數 90 圖 5-4 執行Boot命令 90 圖 5-5 使用bootp命令下庫檔案畫面 90 圖 5-6 執行hello程式畫面 91 圖 5-7下載uClinux 影像檔 92 圖 5-8 uClinux啟動中之畫面 92 圖 5-9 uClinux成功啟動之畫面 93 圖 5-10執行簡單之linux 命令 93 表格索引 表 4-1 NET-Start! memory map 37 表 4-2 Memory Usage 37 表 4-3 實驗板Net Start與EVB4510之差異比較表 48 表 4-4 MX29LV160AB SECTOR ARCHITECTURE 50 表 4-5 MX29LV160AB 命令碼的定義 51 表 4-6 Flash識別資料 52 表 4-7 Flash狀態與Data Bus對照表 52 表 4-8 S3C4510B01 Exception Vectors 60

    [1] Croft, B., and J. Gilmore, "BOOTSTRAP Protocol (BOOTP)", RFC 951, Stanford and SUN Microsytems, September 1985.

    [2] Wimer, W., "Clarifications and Extensions for the Bootstrap Protocol", RFC 1532, Carnegie Mellon University, October 1993.

    [3] Alexander, S., and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 1533, Lachman Technology, Inc., Bucknell University, October 1993.

    [4] Sollins, K., THE TFTP PROTOCOL (REVISION 2), RFC 1350, MIT, July 1992

    [5] Finlayson, R., Mann, T., Mogul, J., and M. Theimer, "A Reverse Address Resolution Protocol", RFC 903, Stanford, June 1984.

    [6] Sun Microsystems, Inc., "Network File System specification," RFC 1094, March 1989.

    [7] S-Record format, Motorola defined format for ROM contents, URL:
    http://srecord.sourceforge.net/srecord-1.20.README
    http://www.amelek.gda.pl/avr/uisp/srecord.htm

    [8] The DENX U-Boot and Linux Guide (DULG) for TQM8xxL
    http://www.denx.de/twiki/publish/DULG/DULG-tqm8xxl.html
    http://www.denx.de/twiki/bin/view/DULG/Manual

    [9] U-Boot project homepage, URL:
    http://u-boot.sourceforge.net/

    [10] CPU Samsung 4510, URL: http://www.samsung.com/Products/Semiconductor/SystemLSI/Networks/PersonalNTASSP/CommunicationProcessor/S3C4510B/S3C4510B.htm

    [11] Samsung, S3C4510B Data Sheet, Samsumg Electronics Corporation, http://www.samsung.com

    [12] 晶慧資訊股份有限公司 WISCORE Inc
    http://www.wiscore.com/

    [13] 晶慧資訊 NET-Start!
    http://www.wiscore.com/content/info_netstarts.html#01

    [14] 「NET-Start! User's Guide」, URL: http://www.wiscore.com/files/download/nsug.pdf

    [15] uClinux for Samsung 4510b, URL:
    http://sourceforge.net/projects/samsung-uclinux/

    [16] Cygwin Information and Installation, URL: http://cygwin.com/

    [17] ARM Architecture Reference Manual, ARM DDI 0100E
    URL: http://www.arm.com/documentation/

    [18] ARM Architecture Reference Manual, by Dave Jagger, Dave Seal (Editor), Morgan Kaufmann Publishers, 10/2000, ISBN: 0201737191

    [19] ARM Instruction Set Quick Reference Card v2.1, Ref: QRC0001H, Issued: October 2003, URL: http://www.arm.com/documentation/

    [20] ARM720T (Rev 4) Technical Reference Manual, Ref: DDI0229A, Issued: 22 November 2001, URL: http://www.arm.com/documentation/

    [21] 探矽工作室, ARM 原理與實作-以網路SoC為例, 益眾宏友,
    ISBN: 9572868721, June 2003

    [22] 凱思嵌入式系統工作室
    http://www.kaise.com.tw/
    http://kaise.idv.tw/studio/product/ice/armu_ice/armu_ice.php

    [23] GNU General Public License - GNU Project - Free Software Foundation (FSF)
    http://www.gnu.org/copyleft/gpl.html

    [24] uClinux - Embedded Linux Microcontroller Project, URL: http://www.uclinux.org/

    [25] MACRONIX INTERNATIONAL CO., LTD, Data sheet for MX29LV160T.
    URL: http://www.macronix.com
    PDF URL (2005, MAY) : http://vlad.org.ua/adm5120/datasheet/MX29LV160T.pdf

    [26] DS1819 Watchdog, Maxim/Dallas, Data Sheet URL: http://www.maxim-ic.com/parts.cfm/p/DS1819

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE