uboot中常見燒寫命令總結

      

        在嵌入式開發中,我們常常需要使用uboot對系統進行升級。升級的方式有很多種,如SD卡,U盤、TFTP等等。本文就介紹自己常用燒錄方式————SD卡和U盤。接下來介紹升級過程中常用的幾種uboot命令。以便於以後查看。


          1.SD卡啓動升級

           首先在uboot下執行mmc,可得:

           mmc info - display info of the current MMC device  

           mmc read addr blk# cnt

           mmc write addr blk# cnt
           mmc erase blk# cnt
           mmc rescan
           mmc part - lists available partition on current mmc device
           mmc dev [dev] [part] - show or set current mmc device [partition]
           mmc list - lists available devices
           mmc setdsr <value> - set DSR register value


           (1)mmc info - display info of the current MMC device   顯示存儲設備的信息

           在切換到emmc設備下(執行mmc dev 1),執行mmcinfo可看到存儲設備各屬性信息:

            gxtvbb_skt_v1#mmcinfo
            Device: SDIO Port C
            Manufacturer ID: 11
            OEM: 100
            Name: 008G7 
            Tran Speed: 52000000
            Rd Block Len: 512
            MMC version 5.0
            High Capacity: Yes
            Capacity: 7.3 GiB
            Bus Width: 8-bit DDR


            (2)mmc read addr blk# cnt      用來將存儲介質(emmc/sd)中的內容讀取到內存中。

          其中addr指內存中的目標位置起始地址,blk#指被拷貝內容起始存儲塊的塊號,cnt指要被拷貝的塊數。一般每個塊的大小爲512byte。

          所以blk和cnt參數的單位都是塊,一般爲512字節。化成十六進制就是0x200。在uboot啓動時,可從啓動log上看出各鏡像文件在存儲設備上的分區表,觀察

          得知偏移(offset)和大小(size)都爲十六進制數,所以在使用mmc read命令時要注意後面的參數換算,即offset/0x200 = blk,size/200=cnt。

          

          分區表:

          

              讀取emmc中boot分區的所有內容到內存中,可執行
              mmc dev 1 (切換到emmc設備才能對其 讀)
              mmc    read    0x1080000  1de000     10000      (使用以上公式offset/0x200 = blk,size/200=cnt)

              (3) mmc write addr blk# cnt             將內存的地址爲addr內容寫到存儲設備中,其中起始地址是blk,大小爲cnt (單位都爲塊)
                mmc    write 0x1080000  1de000     10000  將內存1080000開始的內容,寫到emmc的1de000開始大小爲10000


             SD卡更新uboot>bin示例:
             mmc dev 0
             mmcinfo
             fatload mmc 0 0x1080000 uboot.bin(SD卡首目錄下文件)
             mmc write 1080000 0 2000
                     

             2.從USB啓動升級
                usb  start        USB設備初始化,若未執行,不能操作usb設備內容
                fatls  usb  0   列舉U盤中所有文件
                fatinfo    usb 0     U盤屬性等信息
                fatload usb 0:1 1080000 u-boot.bin  將U盤中的u-boot.bin 文件加載到內存地址1080000中去。


                示例:
               usb   start
               fatload usb 0:1 1080000 boot.img
               bootm 1080000    從內存1080000啓動內核,重啓後無效未寫到emmc或者flash中
               
               fatload   interface  dev[:part]   addr  filename
               interface:sd、tf、usb
               dev[:part]   設備號1、2、3等,part設備的分區

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章