青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 25, comments - 7, trackbacks - 0, articles - 0

幾種Bootloader簡(jiǎn)介

Posted on 2007-10-06 19:24 謝龍飛 閱讀(2031) 評(píng)論(2)  編輯 收藏 引用
 Redboot

RedbootRedhat公司隨eCos發(fā)布的一個(gè)BOOT方案,是一個(gè)開源項(xiàng)目。

當(dāng)前Redboot的最新版本是Redboot-2.0.1Redhat公司將會(huì)繼續(xù)支持該項(xiàng)目,其官方發(fā)布網(wǎng)址為:http://sources.redhat.com/redboot/

Redboot支持的處理器構(gòu)架有ARMMIPSMN10300PowerPC Renesas SHxv850x86等,是一個(gè)完善的嵌入式系統(tǒng)Boot Loader

Redboot是在ECOS的基礎(chǔ)上剝離出來的,繼承了ECOS的簡(jiǎn)潔、輕巧、可靈活配置、穩(wěn)定可靠等品質(zhì)優(yōu)點(diǎn)。它可以使用X-modemY-modem協(xié)議經(jīng)由串口下載,也可以經(jīng)由以太網(wǎng)口通過BOOTP/DHCP服務(wù)獲得IP參數(shù),使用TFTP方式下載程序映像文件,常用于調(diào)試支持和系統(tǒng)初始化(Flash下載更新和網(wǎng)絡(luò)啟動(dòng))。Redboot可以通過串口和以太網(wǎng)口與GDB進(jìn)行通信,調(diào)試應(yīng)用程序,甚至能中斷被GDB運(yùn)行的應(yīng)用程序。Redboot為管理FLASH映像,映像下載,Redboot配置以及其他如串口、以太網(wǎng)口提供了一個(gè)交互式命令行接口,自動(dòng)啟動(dòng)后,REDBOOT用來從TFTP服務(wù)器或者從Flash下載映像文件加載系統(tǒng)的引導(dǎo)腳本文件保存在Flash上。當(dāng)前支持單板機(jī)的移植版特性有:

-          支持ECOSLinux操作系統(tǒng)引導(dǎo)

-          在線讀寫Flash

-          支持串行口kermitS-record下載代碼

-          監(jiān)控(minitor)命令集:讀寫I/O,內(nèi)存,寄存器、 內(nèi)存、外設(shè)測(cè)試功能等

Redboot是標(biāo)準(zhǔn)的嵌入式調(diào)試和引導(dǎo)解決方案,支持幾乎所有的處理器構(gòu)架以及大量的外圍硬件接口,并且還在不斷地完善過程中。

 

l         ARMboot

ARMboot是一個(gè)ARM平臺(tái)的開源固件項(xiàng)目,它特別基于PPCBoot,一個(gè)為PowerPC平臺(tái)上的系統(tǒng)提供類似功能的姊妹項(xiàng)目。鑒于對(duì)PPCBoot的嚴(yán)重依賴性,已經(jīng)與PPCBoot項(xiàng)目合并,新的項(xiàng)目為U-Boot

ARMboot發(fā)布的最后版本為ARMboot-1.1.02002ARMboot終止了維護(hù),其發(fā)布網(wǎng)址為:http://sourceforge.net/projects/armboot

ARMboot支持的處理器構(gòu)架有StrongARM ARM720T PXA250 等,是為基于ARM或者StrongARM CPU的嵌入式系統(tǒng)所設(shè)計(jì)的。

ARMboot的目標(biāo)是成為通用的、容易使用和移植的引導(dǎo)程序,非常輕便地運(yùn)用于新的平臺(tái)上。ARMbootGPL下的ARM固件項(xiàng)目中唯一支持Flash閃存,BOOTPDHCPTFTP網(wǎng)絡(luò)下載,PCMCLA尋線機(jī)等多種類型來引導(dǎo)系統(tǒng)的。特性為:

-          支持多種類型的FLASH

-          允許映像文件經(jīng)由BOOTPDHCPTFTP從網(wǎng)絡(luò)傳輸;

-          支持串行口下載S-record或者binary文件

-          允許內(nèi)存的顯示及修改

-          支持jffs2文件系統(tǒng)等

Armboot對(duì)S3C44B0板的移植相對(duì)簡(jiǎn)單,在經(jīng)過刪減完整代碼中的一部分后,僅僅需要完成初始化、串口收發(fā)數(shù)據(jù)、啟動(dòng)計(jì)數(shù)器和FLASH操作等步驟,就可以下載引導(dǎo)uClinux內(nèi)核完成板上系統(tǒng)的加載。總得來說,ARMboot介于大、小型Boot Loader之間,相對(duì)輕便,基本功能完備,缺點(diǎn)是缺乏后續(xù)支持。

 

l         U-Boot

U-Boot是由開源項(xiàng)目PPCBoot發(fā)展起來的,ARMboot并入了PPCBoot,和其他一些archLoader合稱U-Boot20021217日第一個(gè)版本U-Boot-0.2.0發(fā)布,同時(shí)PPCBootARMboot停止維護(hù)。

U-Boot自發(fā)布以后已更新6,最新版本為U-Boot-1.1.1U-Boot的支持是持續(xù)性的。其發(fā)布網(wǎng)址為:http://sourceforge.net/projects/u-boot/

U-Boot支持的處理器構(gòu)架包括PowerPC (MPC5xxMPC8xxMPC82xxMPC7xxMPC74xx4xx) ARM ARM7ARM9StrongARMXscale),MIPS (4Kc5Kc)x86等等, U-BootUniversal Bootloader從名字就可以看出,它是在GPL下資源代碼最完整的一個(gè)通用Boot Loader

U-Boot提供兩種操作模式:啟動(dòng)加載(Boot loading)模式和下載(Downloading)模式,并具有大型Boot Loader的全部功能。主要特性為:

-          SCC/FEC以太網(wǎng)支持 

-          BOOTP/TFTP引導(dǎo) 

-          IPMAC預(yù)置功能 

-          在線讀寫FLASHDOC, IDEIICEEROMRTC

-          支持串行口kermitS-record下載代碼 

-          識(shí)別二進(jìn)制、ELF32pImage格式的Image,對(duì)Linux引導(dǎo)有特別的支持 

-          監(jiān)控(minitor)命令集:讀寫I/O,內(nèi)存,寄存器、內(nèi)存、外設(shè)測(cè)試功能等

-          腳本語言支持(類似BASH腳本)

-          支持WatchDogLCD logo,狀態(tài)指示功能等 

U-Boot的功能是如此之強(qiáng)大,涵蓋了絕大部分處理器構(gòu)架,提供大量外設(shè)驅(qū)動(dòng),支持多個(gè)文件系統(tǒng),附帶調(diào)試、腳本、引導(dǎo)等工具,特別支持Linux,為板級(jí)移植做了大量的工作。U-Boot1.1.1版本特別包含了對(duì)SA110044B0芯片的移植,所以44B0移植主要是針對(duì)Board 的移植,包括FLASH、內(nèi)存配置以及串口波特率等等。U-Boot的完整功能性和后續(xù)不斷的支持,使系統(tǒng)的升級(jí)維護(hù)變得十分方便。

 

l         Blob

Blob(Boot Loader Object)是由Jan-Derk Bakker and Erik Mouw發(fā)布的,是專門為StrongARM 構(gòu)架下的LART設(shè)計(jì)的Boot Loader

Blob的最后版本是blob-2.0.5,其發(fā)布網(wǎng)址為:http://www.lart.tudelft.nl/lartware/blob/

Blob支持SA1100LART主板,但用戶也可以自行修改移植。

Blob也提供兩種工作模式,在啟動(dòng)時(shí)處于正常的啟動(dòng)加載模式,但是它會(huì)延時(shí) 10 秒等待終端用戶按下任意鍵而將 Blob 切換到下載模式。如果在 10 秒內(nèi)沒有用戶按鍵,則 Blob 繼續(xù)啟動(dòng) Linux 內(nèi)核。其基本功能為:

初始化硬件(CPU速度,存儲(chǔ)器,中斷,RS232串口)

-          引導(dǎo)Linux內(nèi)核并提供ramdisk

-          LART下載一個(gè)內(nèi)核或者ramdisk

-          FLASH片更新內(nèi)核或者ramdisk

-          測(cè)定存儲(chǔ)配置并通知內(nèi)核

-          給內(nèi)核提供一個(gè)命令行

Blob功能比較齊全,代碼較少,比較適合做修改移植,用來引導(dǎo)Liunx,目前大部分S3C44B0板都用Blob修改移植后來加載uClinux 

l         Bios-lt

Bios-lt是專門支持三星(Samsung)公司ARM構(gòu)架處理器S3C4510BLoader,可以設(shè)置CPU/ROM/SDRAM/EXTIO,管理并燒寫FLASH,裝載引導(dǎo)uClinux內(nèi)核。這是國(guó)內(nèi)工程師申請(qǐng)GNU通用公共許可發(fā)布的。                  

Bios-lt的最新版本是Bios-lt-0.74,另外還提供了S3C4510B的一些外圍驅(qū)動(dòng),其發(fā)布網(wǎng)址為:http://sourceforge.net/projects/bios-lt

l         Bootldr

Bootldr是康柏(Compaq)公司發(fā)布的,類似于compaq iPAQ Pocket PC,支持SA1100芯片。它被推薦用來引導(dǎo)Llinux,支持串口Y-modem協(xié)議以及jffs文件系統(tǒng)。                                          

Bootldr的最后版本為Bootldr-2.19,其發(fā)布網(wǎng)址為: http://www.wearablegroup.org/software/bootldr/

 ViVi

        vivi是什么?

        vivi是由mizi公司設(shè)計(jì)為ARM處理器系列設(shè)計(jì)的一個(gè)bootloader,因?yàn)関ivi目前只支持使用串口和主機(jī)通信,所以您必須使用一條串口電纜來連接目標(biāo)板和主機(jī)。

       它有如下作用:

       1)、 把內(nèi)核(kernel)從flash復(fù)制到RAM,然后啟動(dòng)它

       2)、 初始化硬件

       3)、 下載程序并寫入flash(一般通過串口或者網(wǎng)口先把內(nèi)核下載到RAM中,然后寫入到flash)

       4)、 檢測(cè)目標(biāo)板(bootloader會(huì)有一些簡(jiǎn)單的代碼用以測(cè)試目標(biāo)板硬件的好壞)

       vivi的使用方法

       摘錄自vivi的guide.txt,稍作修改。

Getting started with vivi

Janghoon Lyu (nandy@mizi.com)

This is a short introduction about the vivi.

Revision History

Revision v0.1 2002-10-21 Revised by: jl

Initial public release. very very short descriptions. (with foolish sentences -_-;;)

------------------------------------------------------------------------

  

1. Introduction.

1.1. Definitions.

1.2. vivi的目錄結(jié)構(gòu)及文件.

1.2.1 vivi的目錄樹.

1.2.2 vivi的文件.

2. vivi 的編譯.

2.1. Pre-Requirements.

2.2. Straight-forward compilation.

2.3. SA-1110-Based machines with the NOR flash.

2.4. S3C2410-Based machines with the NAND flash.

3. vivi的使用.

3.1. Interface between an user and the vivi.

3.2. Built-in user commands.

3.2.1. load command.

3.2.2. part command.

3.2.3. param command.

3.2.4. boot command.

3.2.5. flash command.

------------------------------------------------------------------------

1. Introduction

This document explains to you:

 

1) compiling the vivi

 

2) interface an user and the vivi

 

3) avaliable user commands

1.1. Definitions

vivi

 

The vivi is one of arm boot loaders.

 

Autoboot mode

 

The vivi has two modes. one of these is autoboot mode. This is a default mode. In this mode, The vivi automatically boot-up the linux kernel when a delay time is expired.

 

Prompt mode

 

One of vivi's modes is prompt mode. In this mode, An user is able to command to the vivi doing something.

 

Host platform

 

Generally, an engineer develop the software on the powerful destktop computer (not on the embedded machines). This descktop called host platform.

 

Target platform

 

Target platform means developemnt boards or embedded machines.

1.2. vivi的目錄結(jié)構(gòu)及文件

1.2.1 vivi的目錄樹

E:\S3C2410_VIVI_R1.1

├───Documentation

   └───html

├───arch

   ├───def-configs

   └───s3c2410

├───drivers

   ├───mtd

      ├───maps

      ├───nand

      └───nor

  └───serial

├───include

   ├───mtd

   ├───proc

   └───platform

├───init

├───lib

   └───priv_data

├───scripts

   └───lxdialog

└───util

1.2.2 vivi的文件

Directory of E:\s3c2410_vivi_r1.1

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          Documentation

2006-08-30  14:10    <DIR>          arch

2006-08-30 14:10    <DIR>          drivers

2006-08-30 14:10    <DIR>          include

2006-08-30 14:10    <DIR>          init

2006-08-30 14:10    <DIR>          lib

2006-08-30 14:10    <DIR>          scripts

2006-08-30 14:10    <DIR>          util

2004-05-07 08:48            18,008 COPYING

2004-05-07 08:48             5,540 Makefile

2004-05-07 08:48             4,348 Rules.make

               3 File(s)      27,896 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\Documentation

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          html

2004-05-07 08:48                98 .cvsignore

2004-05-07 08:48             7,002 CHANGELOG

2004-05-07 08:48             8,537 Configure.help

2004-05-07 08:48             7,979 Configure.help.en

2004-05-07 08:48             1,301 README

2004-05-07 08:48             4,373 booting.ARM

2004-05-07 08:48               682 compile.txt

2004-05-07 08:48             8,965 guide.txt

2004-05-07 08:48             1,353 optoions.txt

2004-05-07 08:48             1,490 vivi_priv_data.txt

              10 File(s)         41,780 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\Documentation\html

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48            18,232 guide.html

               1 File(s)         18,232 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\arch

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          def-configs

2004-05-07 08:48             2,282 Makefile

2004-05-07 08:48             3,435 config.in

2004-05-07 08:48             2,070 defconfig

2004-05-07 08:48               137 vivi.lds.in

2006-08-30 14:10    <DIR>          s3c2410

               4 File(s)          7,924 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\arch\def-configs

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48             2,070 smdk2410

               1 File(s)          2,070 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\arch\s3c2410

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48               379 Makefile

2004-05-07 08:48            16,566 head.S

2004-05-07 08:48             4,858 mmu.c

2004-05-07 08:48             1,597 nand_read.c

2004-05-07 08:48             9,077 proc.c

2004-05-07 08:48             2,497 smdk.c

2004-05-07 08:48             3,801 smdk2410_test.c

2004-05-07 08:48             9,069 test.c

               8 File(s)         47,844 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          mtd

2004-05-07 08:48               237 Makefile

2006-08-30 14:10    <DIR>          serial

               1 File(s)            237 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          maps

2006-08-30 14:10    <DIR>          nand

2004-05-07 08:48               506 Config.in

2004-05-07 08:48               284 Makefile

2004-05-07 08:48            12,856 mtdcore.c

2006-08-30 14:10    <DIR>          nor

               3 File(s)         13,646 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\maps

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48               553 Config.in

2004-05-07 08:48               340 Makefile

2004-05-07 08:48             2,683 pxa250_flash.c

2004-05-07 08:48             2,701 s3c2400_flash.c

2004-05-07 08:48             7,570 s3c2410_flash.c

2004-05-07 08:48             2,632 sa1100_flash.c

               6 File(s)         16,479 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\nand

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48               630 Config.in

2004-05-07 08:48               278 Makefile

2004-05-07 08:48            10,376 bon.c

2004-05-07 08:48             5,252 nand_ecc.c

2004-05-07 08:48            26,771 smc_core.c

               5 File(s)         43,307 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\nor

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48             2,000 Config.in

2004-05-07 08:48               265 Makefile

2004-05-07 08:48            29,770 amd_flash.c

2004-05-07 08:48            25,191 cfi_cmdset_0001.c

2004-05-07 08:48             9,777 cfi_probe.c

2004-05-07 08:48             1,007 chipreg.c

2004-05-07 08:48             6,781 gen_probe.c

               7 File(s)         74,791 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\drivers\serial

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48               955 Config.in

2004-05-07 08:48               324 Makefile

2004-05-07 08:48             1,174 getcmd.c

2004-05-07 08:48               647 getcmd.h

2004-05-07 08:48             6,878 getcmd_ext.c

2004-05-07 08:48             1,530 serial_core.c

2004-05-07 08:48             1,264 term.c

2004-05-07 08:48             4,895 xmodem.c

2004-05-07 08:48             7,204 ymodem.c

               9 File(s)         24,871 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\include

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          mtd

2006-08-30 14:10    <DIR>          proc

2004-05-07 08:48               691 architecture.h

2004-05-07 08:48             2,835 bitfield.h

2004-05-07 08:48               764 boot_kernel.h

2004-05-07 08:48             3,122 cap.h

2004-05-07 08:48               912 command.h

2004-05-07 08:48               257 compile.h

2004-05-07 08:48               196 config.h

2004-05-07 08:48               106 ctype.h

2004-05-07 08:48               106 errno.h

2004-05-07 08:48               105 flash.h

2004-05-07 08:48               112 getcmd.h

2004-05-07 08:48               694 hardware.h

2004-05-07 08:48               229 heap.h

2004-05-07 08:48               385 io.h

2004-05-07 08:48               441 linkage.h

2004-05-07 08:48             1,087 machine.h

2004-05-07 08:48             3,938 md5.h

2004-05-07 08:48               427 memory.h

2004-05-07 08:48               796 mmu.h

2004-05-07 08:48               114 printk.h

2004-05-07 08:48             1,657 priv_data.h

2004-05-07 08:48               312 processor.h

2004-05-07 08:48            24,247 pxa250.h

2004-05-07 08:48               357 reset_handle.h

2004-05-07 08:48            16,876 s3c2400.h

2004-05-07 08:48            17,357 s3c2410.h

2004-05-07 08:48            17,979 sa1100.h

2004-05-07 08:48               438 serial.h

2004-05-07 08:48               104 setup.h

2004-05-07 08:48             1,130 sizes.h

2004-05-07 08:48               198 time.h

2004-05-07 08:48               125 types.h

2004-05-07 08:48             1,296 vivi.h

2004-05-07 08:48               273 vivi_lib.h

2004-05-07 08:48               328 vivi_string.h

2004-05-07 08:48               115 xmodem.h

2004-05-07 08:48             2,690 ymodem.h

2006-08-30 14:10    <DIR>          platform

              37 File(s)        102,799 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\include\mtd

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48             2,918 amd_flash.h

2004-05-07 08:48               201 bonfs.h

2004-05-07 08:48            11,521 cfi.h

2004-05-07 08:48             1,277 flashchip.h

2004-05-07 08:48               505 gen_probe.h

2004-05-07 08:48             2,632 map.h

2004-05-07 08:48             5,997 mtd.h

2004-05-07 08:48             6,572 nand.h

2004-05-07 08:48               782 nand_ecc.h

2004-05-07 08:48             3,216 nand_ids.h

              10 File(s)         35,621 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\include\proc

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48             1,773 proc_pxa250.h

2004-05-07 08:48             1,301 proc_s3c2400.h

2004-05-07 08:48             1,803 proc_s3c2410.h

2004-05-07 08:48             1,911 proc_sa1100.h

               4 File(s)          6,788 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\include\platform

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48             3,654 s3c2410_gen_memmap.h

2004-05-07 08:48             4,417 smdk2410.h

               2 File(s)          8,071 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\init

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48               263 version.c

2004-05-07 08:48             3,021 main.c

               2 File(s)          3,284 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\lib

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          priv_data

2004-05-07 08:48               577 Config_cmd.in

2004-05-07 08:48               350 Makefile

2004-05-07 08:48            10,342 boot_kernel.c

2004-05-07 08:48             8,103 command.c

2004-05-07 08:48             1,321 ctype.c

2004-05-07 08:48            3,332 exec.c

2004-05-07 08:48             2,694 heap.c

2004-05-07 08:48             4,160 load_file.c

2004-05-07 08:48            13,371 md5.c

2004-05-07 08:48            11,374 memory.c

2004-05-07 08:48            11,221 memtst.c

2004-05-07 08:48             4,530 misc.c

2004-05-07 08:48             9,044 printk.c

2004-05-07 08:48             1,218 reset_handle.c

2004-05-07 08:48             3,618 string.c

2004-05-07 08:48             2,267 time.c

              16 File(s)         87,522 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\lib\priv_data

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48               419 Config.in

2004-05-07 08:48                87 Makefile

2004-05-07 08:48             7,612 mtdpart.c

2004-05-07 08:48             6,685 param.c

2004-05-07 08:48             5,853 rw.c

               5 File(s)         20,656 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\scripts

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2006-08-30 14:10    <DIR>          lxdialog

2004-05-07 08:48            12,287 Configure

2004-05-07 08:48            24,422 Menuconfig

2004-05-07 08:48             7,485 README.Menuconfig

               3 File(s)         44,194 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\scripts\lxdialog

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48               234 BIG.FAT.WARNING

2004-05-07 08:48             1,130 Makefile

2004-05-07 08:48             9,765 checklist.c

2004-05-07 08:48             5,384 colors.h

2004-05-07 08:48             5,936 dialog.h

2004-05-07 08:48             6,179 inputbox.c

2004-05-07 08:48             6,023 lxdialog.c

2004-05-07 08:48            12,844 menubox.c

2004-05-07 08:48             2,529 msgbox.c

2004-05-07 08:48            15,584 textbox.c

2004-05-07 08:48             9,927 util.c

2004-05-07 08:48             3,067 yesno.c

              12 File(s)         78,602 bytes

 

 Directory of E:\s3c2410_vivi_r1.1\util

 

2006-08-30 14:10    <DIR>          .

2006-08-30 14:10    <DIR>          ..

2004-05-07 08:48            10,711 imagewrite.c

2004-05-07 08:48               113 README

2004-05-07 08:48             3,186 ecc.c

2004-05-07 08:48            28,012 imagewrite

4 File(s)         42,022 bytes

2. vivi 的編譯

This section describes how to compile the vivi.

2.1. Pre-Requirements

Here is a list of the minimum levels of software necessary to compile the vivi.

 

* Gnu C 2.95.3

 

* Gnu make 3.79.1

 

* binutils 2.11.2

 

And then, your host platform are installed these tools.

 

* You have a cross-compiler and tool-chains.

 

* You have a Baurne-Again shell. (/bin/bash)

 

* You have a ncurses library.

2.2. Straight-forward compilation

The compiliation(configuration) environment of the vivi is simlilar to the environment of the linux kernel. So, you can do make distclean, make clean, make oldconfig , make menuconfig, and make config. General compiling sequence sequence is:

 

1) make distclean

 

2) make menuconfig

 

3) make

 

Note that If you change configurations, run make clean and make. Next two sections describes compilation of two examples.

2.3. SA-1110-Based machines with the NOR flash

I will take an example about the vivi compliation. I assumed that a target platform's core block is composed like this:

 

* CPU: SA-1110 processor

 

* ROM: 32MB Intel Strata Flash (32-bit wide)

 

* RAM: 32MB DRAM

 

These features make sense to you. Many platforms I have met is designed core block like above. For instance, KINGS, GILL, and ENDA's core block is designed like this. Therefore, you refer to vivi/arch/def-configs/kings, vivi/arch/def-configs/gill, and vivi/arch/def-configs/enda

 

If you want to compile vivi for KINGS(i.e. a configuration of a target board, alredy exist in the vivi/arch/def-cofnigs), just do like this:

 

# make kings

 

Other machines can complie same ways.

2.4. S3C2410-Based machines with the NAND flash

Here, I will take an example about a S3C2410-Based machine. The SMDK-2410 (a development board by SAMSUNG) is a S3C2410-Based machine.The core block of SMDK-2410 is composed like this:

 

* CPU: S3C2410

* ROM: 64MB SMC (NAND Flash)

* RAM: 64MB DRAM

 

A configuration for SMDK-2410 will be found atvivi/arch/def-configs/smdk2410. To compile for SMDK-2410, do like this(As I described above):

 

# make smdk2410

3. vivi的使用

3.1. Interface between an user and the vivi

The vivi uses the serical communication for user interface. Therefore, to connect the vivi, you

1) connect a serial cable between host platform and target platform.

2) already have a serial communication program like the minicom.

3) properly make the vivi binary to support a UART port when you configure the vivi.

 

If all of above is ok, you can see messages on the screen printed by the vivi. For example, below messages catched from the SMDK-2410

 

VIVI version 0.1.4 (nandy@nandy.mizi.com) (gcc version 2.95.2 20000516 (release)

 

[Rebel.com]) #0.1.4 10 16 16:19:11 KST 2002

 

MMU table base address = 0x33DFC000

 

Succeed memory mapping.

NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T)

Found saved vivi parameters.

 

Press Return to start the LINUX now, any other key for vivi

 

See the last line on the screen. (As I mentioned section 1.1) the vivi has two mode: an autoboot mode and a prompt mode. The vivi wait for a key input. If an user want to enter the prompt mode, press andy key (except Enter key). And then you can see the "vivi>" prompt. Otherwise, the vivi try boot the linux kernel after waiting a few seconds or minutes.

3.2. Built-in user commands

This is not full-described built-in user comamnd. But following commands is enough to use the vivi (as far as I know).

3.2.1. load command

A load command is loading binaries to the flash or the ram.

 

Usage:

 

load [ | ]

 

This argument is where to load. Availabe values are *flash* and *ram*.

 

[ ] or [ ]

 

This arguement determines location where to load a binary. If you want to use pre-defined mtd partiton informations, just type a partition name. Otherwise you specify an address and a size.

 

This arguement determines the file transfer protocol. I shy that the vivi only supprot xmodem curruntly. So, Available value is "x".

 

For exampe, you load zImage to flash memroy.

 

vivi > load flash kernel x

 

or you specify an address and a size.

 

vivi > load flash 0x80000 0xc0000 x

3.2.2. part command

The vivi has mtd partiton informations for the vivi. This informatin not related to mtd partition informations of mtd device drivers. The vivi uses partition informations when load a binary, boot the linux kernel, erase flash memroy, etc...

 

Avalilable commands are:

 

Display mtd partition informations.

 

part show

 

Add a new mtd partition.

 

part add

 

is name of a new mtd partiton.

is offset in the mtd device.

is a size of a mtd parition.

is flags of a mtd parition. Available valuse are JFFS2, LOCKED, and BONFS.

 

Delete a mtd partiton.

 

part del

 

Reset mtd partitions to default values.

 

part reset

 

Save paramter valuse and mtd parition informations to flash permanently.

 

part save

3.2.3. param command

The vivi has some parameter values. For example, the "boot_delay" paramter determines how long wait keystroke when the vivi is in the autoboot mode. I'm sorry that this feature is in progress. So all listed parameter is not available.

 

Here, I give several tips for you.

 

If you change the "linxu command line",

 

vivi> param set linux_cmd_line "you wish.."

 

If you want to see paramters,

 

vivi> param show

 

If you want to wait a long time when recevie file via xmodem,

 

vivi> param set xmodem_initial_timeout 3000000

 

If you want to boot imediately when a hardware reset,

 

vivi> param set boot_delay 100000

3.2.4. boot command

A boot command is boot the linux kernel which is stored in the flashmemroy or ram.

 

Usage:

 

boot [ | ]

 

This argument is where to store the linux kernel image. Availabe values are ram, nor and smc.

 

[ ] or [ ]

 

This arguement determines location where to store the linux kernel. If you want to use pre-defined mtd partiton information, just type a partition name. Otherwise you shuld specify an address and a size.

 

Note that all argument is optional. If you omit all argument (just type boot), all arguments is parsing from pre-defined mtd parititon information called "kernel" For example,

 

vivi> boot

 

the vivi read the linux kernel binary from the "kernel" mtd parititons.

 

vivi> boot nor 0x80000

 

the vivi read the linux kernel binary form the nor flash memory. The offset is 0x80000 and the size is default value (0xc0000). Ocassionally, you want to test the kernel on the ram (not store kernel to flash). you can do it on the vivi On the SA-1110 based machine,

 

vivi> load ram 0xc0008000 x

 

vivi> boot ram

 

On the S3C2410 based machine,

 

vivi> load ram 0x30008000 x

 

vivi> boot ram

 

On the PXA-240 based machine,

 

vivi> load ram 0xA0008000 x

 

vivi> boot ram

 

the vivi boot the linux kernel from the ram.

3.2.5. flash command

A flash comamnd manages the flash memory. If you want to erase flash memory,

 

flash erase [ | ] 
 

Feedback

# re: 幾種Bootloader簡(jiǎn)介  回復(fù)  更多評(píng)論   

2008-06-21 00:49 by 地磅解碼器
fdsafafafa

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩综合网| 久久精品夜色噜噜亚洲a∨| 米奇777超碰欧美日韩亚洲| 亚洲美女av在线播放| 美女视频黄a大片欧美| 欧美一区二视频| 久久手机免费观看| 国产精品久久久久久久浪潮网站| 久久国产精品毛片| 香蕉精品999视频一区二区| 日韩午夜精品视频| 亚洲精品欧洲| 亚洲九九精品| 亚洲三级免费观看| 欧美成人精品一区二区| 久久精品人人做人人综合| 午夜精品久久久久久99热| 国内精品久久久久影院优| 麻豆精品精品国产自在97香蕉| 欧美中文字幕视频在线观看| 欧美一区二区三区四区在线 | 久久另类ts人妖一区二区| 亚洲欧洲av一区二区| 亚洲夜晚福利在线观看| 亚洲欧美日韩另类| 久久精品国产2020观看福利| 久久精品夜色噜噜亚洲aⅴ| 亚洲一区成人| 欧美在线亚洲一区| 欧美ab在线视频| 欧美日韩一区二区三区| 国产精品入口夜色视频大尺度 | 欧美一区二区在线免费观看| 久久av红桃一区二区小说| 久久精品2019中文字幕| 久久综合伊人77777蜜臀| 欧美激情一区二区三区在线视频| 欧美日韩国产影院| 国产欧美综合一区二区三区| 永久免费毛片在线播放不卡| 亚洲级视频在线观看免费1级| 欧美午夜片欧美片在线观看| 国产一区二区高清不卡| 亚洲精品少妇| 欧美一区二区三区久久精品| 欧美不卡福利| 一本色道久久88综合日韩精品| 香蕉尹人综合在线观看| 美女亚洲精品| 国产精品免费福利| 亚洲国产婷婷香蕉久久久久久99| 亚洲电影观看| 黄色小说综合网站| 国产一区二区三区在线观看免费| 亚洲人精品午夜| 亚洲激情综合| 久久精品亚洲国产奇米99| 欧美国产另类| 国产视频一区在线观看一区免费| 亚洲欧洲免费视频| 久久在线免费观看视频| 亚洲欧美日韩精品一区二区| 欧美一区二区三区的| 久久亚洲一区二区| 欧美先锋影音| 一区二区国产日产| 亚洲国产精品久久久久秋霞影院| 午夜在线观看免费一区| 国产精品成人av性教育| 亚洲经典三级| 你懂的国产精品| 午夜久久资源| 欧美国产日韩一区二区三区| 欧美日韩三级| 99在线热播精品免费| 亚洲第一福利在线观看| 久久久久久色| 久久一区欧美| 好看的亚洲午夜视频在线| 性刺激综合网| 一本色道久久加勒比88综合| 久久精品女人| 欧美日韩国产精品| 一本一道久久综合狠狠老精东影业| 欧美国产日韩一区二区在线观看| 久久久精品久久久久| 精品二区视频| 美女啪啪无遮挡免费久久网站| 久久成人国产| 有坂深雪在线一区| 欧美aⅴ99久久黑人专区| 亚洲一区二区影院| 国产午夜精品视频| 噜噜噜久久亚洲精品国产品小说| 久久免费视频在线观看| 在线日韩中文字幕| 欧美大成色www永久网站婷| 老**午夜毛片一区二区三区| 亚洲日本中文字幕| 老司机久久99久久精品播放免费| 久久亚裔精品欧美| 99天天综合性| 亚洲欧美日韩国产一区二区| 欧美日本韩国一区二区三区| 亚洲综合成人婷婷小说| 欧美一区二区精美| 亚洲国产精品va在线看黑人动漫| 亚洲第一成人在线| 国产精品久久久久91| 一本色道久久综合一区| 亚洲午夜女主播在线直播| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 国产精品网红福利| 国产一区二区日韩| 久久婷婷久久| 欧美专区18| 亚洲精品影视| 亚洲欧美欧美一区二区三区| 国内欧美视频一区二区| 亚洲激情影院| 国产免费亚洲高清| 亚洲电影激情视频网站| 欧美色播在线播放| 久久久视频精品| 欧美经典一区二区三区| 久久不射2019中文字幕| 久久九九热re6这里有精品| 国产伦精品一区二区三区免费 | 日韩视频国产视频| 亚洲欧美日韩精品一区二区| 亚洲欧洲精品成人久久奇米网| 亚洲少妇中出一区| 国产精品午夜在线观看| 亚洲第一精品夜夜躁人人爽| 国产精品一二三四| 亚洲黄色高清| 国产午夜精品全部视频播放| 亚洲人成网站精品片在线观看 | 美女视频黄免费的久久| 狠狠久久亚洲欧美| 中文欧美在线视频| 亚洲精品网站在线播放gif| 黄色综合网站| 性欧美xxxx视频在线观看| 亚洲精品久久久久久久久久久久久| 亚洲视频在线观看三级| 亚洲欧美日韩国产一区| 国产精品国色综合久久| 亚洲伊人网站| 久久午夜电影| 亚洲精品美女91| 欧美经典一区二区三区| 中文有码久久| 久久精品国产69国产精品亚洲| 国模套图日韩精品一区二区| 久久蜜桃香蕉精品一区二区三区| 久久女同互慰一区二区三区| 伊人久久噜噜噜躁狠狠躁| 久久综合九色综合欧美狠狠| 亚洲国产精品一区二区久| 在线视频你懂得一区| 国产精品老牛| 久久国产福利| 最新亚洲一区| 亚洲免费在线电影| 激情亚洲成人| 欧美日韩在线视频一区二区| 羞羞视频在线观看欧美| 欧美成人精品三级在线观看| 一本色道**综合亚洲精品蜜桃冫| 国产精品久久久久久久第一福利 | 久久在线视频在线| 欧美大片在线影院| 欧美a级片网| 一区二区三区.www| 欧美+日本+国产+在线a∨观看| 久久精品一区二区三区不卡牛牛| 亚洲一区二区三区乱码aⅴ| 国产精品成人免费视频 | 久久精品国产亚洲一区二区三区 | 欧美韩国在线| 国产欧美日韩一级| 亚洲欧美日韩一区在线| 久久久久国产一区二区三区| 日韩一级不卡| 亚洲一区二区在线播放| 欧美视频官网| 黄网动漫久久久| 欧美激情中文字幕一区二区| 久久三级视频| 伊人久久大香线蕉av超碰演员| 日韩性生活视频| 美女视频黄a大片欧美| 亚洲国产欧美在线| 美女视频黄免费的久久| 亚洲高清视频的网址| 欧美成人亚洲成人| 欧美日本二区| 亚洲免费人成在线视频观看| 亚洲国产精品成人综合|