久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久


U-Boot命令大全(功能參數及用法)

分享到(dao):
           

    U-Boot上電啟(qi)動后,按任意鍵可以退(tui)出自(zi)動啟(qi)動狀態,進(jin)入命令行。

    U-Boot 2010.03 (Sep 25 2011 - 16:18:50)
    DRAM: 64 MB
    Flash: 2 MB
    NAND: 64 MiB
    In: serial
    Out: serial
    Err: serial
    Net: CS8900-0
    Hit any key to stop autoboot: 1

    在命(ming)令(ling)(ling)行(xing)提示符(fu)下,輸入(ru)(ru)U-Boot的命(ming)令(ling)(ling)并執行(xing)。U-Boot可支持幾十個常用命(ming)令(ling)(ling),通過這(zhe)(zhe)些(xie)命(ming)令(ling)(ling),可以對開(kai)發板(ban)進行(xing)調試,引導Linux內核,還可以擦寫(xie)Flash完成系統部(bu)署等(deng)功(gong)能。掌握這(zhe)(zhe)些(xie)命(ming)令(ling)(ling)的使用,才能夠順利地進行(xing)嵌入(ru)(ru)式系統的開(kai)發。

    輸入help命(ming)令(ling),可以得到當(dang)前U-Boot的(de)所有命(ming)令(ling)列表(biao)。每(mei)一條命(ming)令(ling)后(hou)面是簡單的(de)命(ming)令(ling)說(shuo)明。

    U-Boot還提供(gong)了更加詳細(xi)的(de)(de)命(ming)令幫(bang)助(zhu),通(tong)過help命(ming)令還可以查看每個命(ming)令的(de)(de)參(can)數說(shuo)明。由于開發過程的(de)(de)需要,有必(bi)要先把U-Boot命(ming)令的(de)(de)用(yong)法(fa)弄(nong)清楚。接下來(lai),根據每一條命(ming)令的(de)(de)幫(bang)助(zhu)信息,解釋一下這(zhe)些命(ming)令的(de)(de)功能(neng)和參(can)數。

    1)bootm命令

    bootm命令可(ke)以引導啟動存(cun)儲(chu)在(zai)內存(cun)中的程序映像(xiang),這些內存(cun)包(bao)括(kuo)RAM和可(ke)以永(yong)久保存(cun)的Flash。

    # help bootm
    bootm - boot application image from memory
    Usage:
    bootm [addr [arg ...]]
        - boot application image stored in memory
            passing arguments 'arg ...'; when booting a Linux kernel,
            'arg' can be the address of an initrd image
    Sub-commands to do part of the bootm sequence. The sub-commands must beissued in
    the order below (it's ok to not issue all sub-commands):
            start [addr [arg ...]]
            loados - load OS image
            cmdline - OS specific command line processing/setup
            bdt - OS specific bd_t processing
            prep - OS specific prep before relocation or go
            go - start OS

    ● 第1個參數addr是程序映像的地址,這個程序映像必須轉換成U-Boot的格式。
    ● 第(di)2個參數對(dui)于(yu)引(yin)導Linux內核有用,通(tong)常(chang)作為U-Boot格式的RAMDISK映像(xiang)存儲地址;也可以是傳遞(di)給Linux內核的參數(默認情(qing)況下傳遞(di)bootargs環境變量給內核)。

    2)bootp命令

    bootp命令要求DHCP服務器分配IP地址,然(ran)后(hou)通(tong)過(guo)TFTP協(xie)議下載指定的(de)文件(jian)到內存。

    # help bootp
    bootp - boot image via network using BOOTP/TFTP protocol

    Usage:
    bootp [loadAddress] [[hostIPaddr:]bootfilename]

    ● 第1個參數是load Address下載文件存放的內存地址。
    ● 第2個參數是bootfilename要下載(zai)的文(wen)件名稱,這(zhe)個文(wen)件應該在開(kai)發主機(ji)上準備(bei)好。

    3)cmp命令

    cmp命(ming)令可以(yi)比(bi)較(jiao)兩塊內(nei)存中的內(nei)容。.b以(yi)字節為單位(wei);.w以(yi)字為單位(wei);.l以(yi)長字為單位(wei)。注意(yi):cmp.b中間不能(neng)保留空格,需(xu)要連(lian)續(xu)輸(shu)入命(ming)令。

    # help cmp
    cmp - memory compare

    Usage:
    cmp [.b, .w, .l] addr1 addr2 count

    ● 第1個參數addr1是第一塊內存的起始地址。
    ● 第2個參數addr2是第二塊內存的起始地址。
    ● 第3個參數count是要比較的數目,單位是字節、字或者(zhe)長字。

    4)cp命令(ling)

    cp命(ming)令可以在內存中(zhong)復制數據塊,包括(kuo)對Flash的讀寫(xie)操作。

    # help cp
    cp - memory copy

    Usage:
    cp [.b, .w, .l] source target count

    ● 第1個參數source是要復制的數據塊起始地址。
    ● 第2個參數target是數據塊要復制到的地址。這個地址如果在Flash中,那么會直接調用寫Flash的函數操作。所以U-Boot寫Flash就使用這個命令,當然需要先把對應Flash區域擦干凈。
 ;   ● 第(di)3個參數(shu)count是要(yao)復制的數(shu)目,根據cp.b、cp.w、cp.l分別以字節(jie)、字、長字為(wei)單位。

    5)crc32命令

    crc32命令可(ke)以計算存儲(chu)數據的校驗和。

    # help crc32
    crc32 - checksum calculation

    Usage:
    crc32 address count [addr]
        - compute CRC32 checksum [save at addr]

    ● 第1個參數address是需要校驗的數據起始地址。
    ● 第2個參數count是要校驗的數據字節數。
    ● 第3個參(can)數addr用來指定保存結(jie)果的(de)地址(zhi)。

    6)echo命令

    echo命令回(hui)顯參數(shu)。

    # help echo
    echo - echo args to console

    Usage:
    echo [args..]
        - echo args to console; \c suppresses newline

    7)erase命(ming)令

    erase命(ming)令可以(yi)擦除Flash。參(can)數必須指定(ding)Flash擦除的范圍。

    # help erase
    erase - erase FLASH memory

    Usage:
    erase start end
        - erase FLASH from addr 'start' to addr 'end'
    erase start +len
        - erase FLASH from addr 'start' to the end of sect w/addr 'start'+'len'-1
    erase N:SF[-SL]
        - erase sectors SF-SL in FLASH bank # N
    erase bank N
        - erase FLASH bank # N
    erase all
        - erase all FLASH banks

    按照起(qi)始(shi)地(di)址和(he)結束(shu)地(di)址,start必須是(shi)擦除塊的起(qi)始(shi)地(di)址;end必須是(shi)擦除末尾塊的結束(shu)地(di)址,這(zhe)種(zhong)方式常用。舉例說(shuo)明(ming):擦除0x20000~0x3ffff區(qu)域命令為erase 20000 3ffff。

    按照組(zu)(zu)和扇區,N表示Flash的(de)組(zu)(zu)號(hao),SF表示擦(ca)除起始扇區號(hao),SL表示擦(ca)除結束(shu)扇區號(hao)。另外(wai),還(huan)可以擦(ca)除整個(ge)組(zu)(zu),擦(ca)除組(zu)(zu)號(hao)為N的(de)整個(ge)Flash組(zu)(zu)。擦(ca)除全(quan)部Flash只要給(gei)出一個(ge)all的(de)參(can)數即可。

    8)nand命令

    nand命令可以通過不同的(de)(de)參數實現對Nand Flash的(de)(de)擦除、讀、寫(xie)操作。

    常見(jian)的幾種命令的含義(yi)如(ru)下(具體(ti)格式(shi)見(jian)help nand)。

    # help nand
    nand - NAND sub-system

    Usage:
    nand info - show available NAND devices
    nand device [dev] - show or set current device
    nand read - addr off|partition size
    nand write - addr off|partition size
        read/write 'size' bytes starting at offset 'off'
        to/from memory address 'addr', skipping bad blocks.
    nand erase [clean] [off size] - erase 'size' bytes from
        offset 'off' (entire device if not specified)
    nand bad - show bad blocks
    nand dump[.oob] off - dump page
    nand scrub - really clean NAND erasing bad blocks (UNSAFE)
    nand markbad off [...] - mark bad block(s) at offset (UNSAFE)
    nand biterr off - make a bit error at offset (UNSAFE)

    ● nand erase:擦除Nand Flash。
    ● nand read:讀取Nand Flash,遇到flash壞塊時會出錯。
    ● nand write:寫Nand Flash,nand write命令遇(yu)到flash壞塊時會出錯。

    9)flinfo命(ming)令(ling)

    flinfo命(ming)令打(da)印全部Flash組的(de)信息,也(ye)可以只打(da)印其中(zhong)某個組。一般嵌入式系統(tong)的(de)Flash只有一個組。

    # help flinfo
    flinfo - print FLASH memory information

    Usage:
    flinfo
        - print information for all FLASH memory banks
    flinfo N
        - print information for FLASH memory bank # N

    10)go命令

    go命令可以執行應用程序。

    # help go
    go - start application at address 'addr'

    Usage:
    go addr [arg ...]
        - start application at address 'addr'
        passing 'arg' as arguments

    ● 第1個參數addr是要執行程序的入口地址。
    ● 第2個可選參(can)數(shu)是傳遞給程序的參(can)數(shu),可以不(bu)用。

    11)iminfo命令

    iminfo命令可以打印程序映(ying)像的開頭信息(xi),包含了映(ying)像內容的校驗(序列號(hao)、頭和(he)校驗和(he))。

    # help iminfo
    iminfo - print header information for application image

    Usage:
    iminfo addr [addr ...]
        - print header information for application image starting at
        address 'addr' in memory; this includes verification of the
        image contents (magic number, header and payload checksums)

    第1個參數addr指定映(ying)像的起始地址(zhi)。可選的參數是(shi)指定更(geng)多(duo)的映(ying)像地址(zhi)。

    12)loadb命(ming)令

    loadb命令可以通過串口線下載二進制格式文件。

    # help loadb
    loadb - load binary file over serial line (kermit mode)

    Usage:
    loadb [ off ] [ baud ]
        - load binary file over serial line with offset 'off' and baudrate 'baud'

    13)loads命令

    loads命令(ling)可以通過串口(kou)線下載(zai)S-Record格式文件。

    # help loads
    loads - load S-Record file over serial line

    Usage:
    loads [ off ]
        - load S-Record file over serial line with offset 'off'

    14)mw命令

    mw命令可(ke)以按(an)照(zhao)字節、字、長(chang)字寫內存,.b、.w、.l的(de)用法與(yu)cp命令相同。

    # help mw
    mw - memory write (fill)

    Usage:
    mw [.b, .w, .l] address value [count]

    ● 第1個參數address是要寫的內存地址。
    ● 第2個參數value是要寫的值。
    ● 第3個(ge)可(ke)選參(can)數count是要(yao)寫單位值的(de)數目。

    15)nfs命(ming)令

    nfs命令可(ke)以使用NFS網絡(luo)協議(yi)通(tong)過(guo)網絡(luo)啟動映像。

    # help nfs
    nfs - boot image via network using NFS protocol

    Usage:
    nfs [loadAddress] [[hostIPaddr:]bootfilename]

    16)printenv命(ming)令(ling)

    printenv命令(ling)打(da)(da)印(yin)(yin)環(huan)境(jing)變量(liang)。可(ke)(ke)以(yi)打(da)(da)印(yin)(yin)全部環(huan)境(jing)變量(liang),也可(ke)(ke)以(yi)只打(da)(da)印(yin)(yin)參數中列出的環(huan)境(jing)變量(liang)。

    # help printenv
    printenv - print environment variables

    Usage:
    printenv
        - print values of all environment variables
    printenv name ...
        - print value of environment variable 'name'

    17)protect命令

    protect命令是對(dui)Flash寫(xie)保(bao)護(hu)的操作,可以使能和解除寫(xie)保(bao)護(hu)。

    help protect
    protect - enable or disable FLASH write protection

    Usage:
    protect on start end
        - protect FLASH from addr 'start' to addr 'end'
    protect on start +len
        - protect FLASH from addr 'start' to end of sect w/addr 'start'+'len'-1
    protect on N:SF[-SL]
        - protect sectors SF-SL in FLASH bank # N
    protect on bank N
        - protect FLASH bank # N
    protect on all
        - protect all FLASH banks
    protect off start end
        - make FLASH from addr 'start' to addr 'end' writable
    protect off start +len
        - make FLASH from addr 'start' to end of sect w/addr 'start'+'len'-1 wrtable
    protect off N:SF[-SL]
        - make sectors SF-SL writable in FLASH bank # N
    protect off bank N
        - make FLASH bank # N writable
    protect off all
        - make all FLASH banks writable

    ● 第1個參數on代表使能寫保護;off代表解除寫保護。
    ● 第2和3個參數(shu)是指定Flash寫保護操(cao)作范圍,與擦除的方式相(xiang)同。

    18)rarpboot命(ming)令

    rarpboot命令(ling)可以(yi)使用TFTP協(xie)議通過(guo)網絡(luo)啟動映像,也就是把指(zhi)定的(de)文(wen)件下載到指(zhi)定地址,然后執行(xing)。

    # help rarpboot
    rarpboot - boot image via network using RARP/TFTP protocol

    Usage:
    rarpboot [loadAddress] [[hostIPaddr:]bootfilename]

    ● 第1個參數是loadAddress映像文件下載到的內存地址。
    ● 第(di)2個參數是bootfilename要下載(zai)執行的(de)鏡像(xiang)文件。

    19)run命令

    run命(ming)令可以執行環(huan)(huan)境變(bian)量中(zhong)的命(ming)令,后面參(can)數可以跟(gen)幾個環(huan)(huan)境變(bian)量名。

    # help run
    run - run commands in an environment variable

    Usage:
    run var [...]
        - run the commands in the environment variable(s) 'var'

    20)setenv命令(ling)

    setenv命令可以設置環境變量。

    # help setenv
    setenv - set environment variables

    Usage:
    setenv name value ...
        - set environment variable 'name' to 'value ...'
    setenv name
        - delete environment variable 'name'

    ● 第1個參數是name環境變量的名稱。
     ● 第2個(ge)參(can)數是value要設置的值,如果(guo)沒有第2個(ge)參(can)數,表示刪除這個(ge)環境變量(liang)。

    21)sleep命(ming)令

    sleep命(ming)令可以使用TFTP協議通過網(wang)絡下載(zai)文件,按照二(er)進制文件格式下載(zai)。另外,使用這(zhe)個命(ming)令,必須配置好相關(guan)的環(huan)境變量,例如(ru)serverip和ipaddr。

    help sleep
    sleep - delay execution for some time

    Usage:
    sleep N
        - delay execution for N seconds (N is _decimal_ !!!)

    sleep命令可以延遲(chi)N秒執(zhi)行(xing),N為(wei)十(shi)進制數。

    22)nm命(ming)令

    nm命令可以修改內存,可以按照字(zi)節、字(zi)、長字(zi)操作。

    # help nm
    nm - memory modify (constant address)

    Usage:
     nm [.b, .w, .l] address

    參數address是(shi)要讀出并且修改的內存(cun)地址。

    23)tftpboot命令

    tftpboot命令可(ke)以通過使用(yong)TFTP協議在(zai)網絡上下載二進(jin)制格式文(wen)件(jian)。

    tftpboot - boot image via network using TFTP protocol

    Usage:
    tftpboot [loadAddress] [[hostIPaddr:]bootfilename]

    24)saveenv 命令

    saveenv命令可以保存環境變量到(dao)存儲設備(bei)。

    # help saveenv
    saveenv - save environment variables to persistent storage

    Usage:
    saveenv

    這(zhe)些U-Boot命令(ling)為(wei)嵌(qian)入式系統提供(gong)了豐富(fu)的(de)開發和調試功能。在Linux內核啟動和調試過(guo)程中,都可(ke)以用到(dao)U-Boot的(de)命令(ling)。但是(shi)一般情況下(xia),不(bu)需(xu)要(yao)使(shi)用全部命令(ling)。比如(ru)已經支持以太網接口,可(ke)以通(tong)過(guo)tftpboot命令(ling)來(lai)(lai)下(xia)載(zai)文件,那么就沒有必(bi)要(yao)使(shi)用串口下(xia)載(zai)的(de)loadb。反過(guo)來(lai)(lai),如(ru)果開發板需(xu)要(yao)特殊的(de)調試功能,也可(ke)以添加新的(de)命令(ling)。

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、U-Boot編譯過程解析
   2、U-Boot源代碼下載地址
   3、Bootloader的種類
   4、配置主機交叉開發環境
   5、搭建嵌入式交叉編譯環境

更多新聞>>