uboot工具

来源:互联网 发布:数据恢复大师怎么样 编辑:程序博客网 时间:2024/06/05 22:52

h,he,hel,help,显示完所有的uboot里面可用的命令。

命令帮助:#help disp


1.md(memory display):因为在uboot状态,cpu控制器寄存器的地址和内存地址一一对应,所以可以通过md这个标准命令来查看寄存器的值。

 用法:md [内存地址] [长度]

 两个参数 第一个,显示内存的基地址;第二个,从基地址开始显示的个数。

 注意,可以用上参数 b,w,l(字节,字,长字)参数,表示读取内存地址的长度基数,默认是l。

 如:md  0xd4282818 1  

         md  0xd4282818 5       

         md.b  0xd4282818 1  在0xd4282818内存位置开始读取一个字节

         md.w  0xd4282818 5  在0xd4282818内存位置开始读取5个字

         md.l  0xd4282818 5  在0xd4282818内存位置开始读取5个长字     


2.mw      - memory write (fill)

   可以用上参数 b,w,l(字节,字,长字)参数。

如:mw  0xd4282818 0 1 


例子:

   修改:mw [内存地址] [值] [长度]

    例如:mw 0x02000000 0 128

    表示修改地址为0x02000000~0x02000000+128的内存值为0.

    显示:md [内存地址] [长度]

    例如:md 0x02000000 128

    表示显示0x02000000的内存数据,长度为128个32bit.

    注意[长度]的取值,例如:

    # md 02000000 10

    02000000: ffffffff ffffffff ffffffff ffffffff ................

    02000010: ffffffff ffffffff ffffffff ffffffff ................

    02000020: ffffffff ffffffff ffffffff ffffffff ................

    02000030: ffffffff ffffffff ffffffff ffffffff ................

    # md 02000000 a

    02000000: ffffffff ffffffff ffffffff ffffffff ................

    02000010: ffffffff ffffffff ffffffff ffffffff ................

    02000020: ffffffff ffffffff ........


3.fb

   fastboot,用来通过otg烧写程序

        uboot/board/pxa/common/uflash.c---flash_init

               entry.flags = FLASH_FLAGS_SPI;
              strcpy(entry.name,"tim");
              entry.start=0x0;
             entry.length=0x10000;    
            flash_add_ptn(&entry);

           strcpy(entry.name,"obm");
           entry.start=0x10000;
    entry.length=0x20000;    
    flash_add_ptn(&entry);
    
    strcpy(entry.name,"boot");
    entry.start=0x30000;
    entry.length=0x40000;    
    flash_add_ptn(&entry);


     uboot/board/pxa/zmm1xx/zmm1xx.c---misc_init_r--flash_init

               case 256:
            default:{
                struct uflash_entry uflash_entries[] = {
                    {"splash",0x180000,0x80000,FLASH_FLAGS_NAND},
                       {"config",0x100000,0x20000,FLASH_FLAGS_NAND},
                     {"kernel",0x200000,0x300000,FLASH_FLAGS_NAND},
                     {"system",0x500000,0x1900000,FLASH_FLAGS_NAND|FLASH_FLAGS_FS_YAFFS},
                     {"data",0x1e00000,0xdc00000,FLASH_FLAGS_NAND|FLASH_FLAGS_FS_YAFFS},
                     {NULL,0,0,0}};
                struct uflash_entry* pentry = &uflash_entries[0];
                while(NULL!=pentry->name){
                    strcpy(entry.name,pentry->name);
                    entry.start = pentry->start;
                    entry.length = pentry->length;            
                    entry.flags = pentry->flags;
                    flash_add_ptn(&entry);            
                    pentry++;
                }                
            }break;

   fb flash kernel xxx

   fb flash system xxx

   fb flash splash xxx

   fb flash data     xxx

  fb flash tim  xxx

  fb flash obm xxx


4.bmpmngr  图片管理

  #help bmpmngr                                                                   
  bmpmngr [info|reset|write|read] <bmpname> <addr> <size>     - manipulate bmp mad

   bmpmngr---查看splash分区里面有多少张图片,以及图片的名字

   bmpmngr read bmp.splash 0x1000000   把图片bmp.splash读到内存0x1000000处


      fatload usb 0:1 0x1000000 /autoupdate/autoupdate.bmp
     bmpmngr write bmp.autoupdater 0x1000000 0x${filesize} ---从0x1000000处起,把0x${filesize}大小的图片的内容保存起来,并且命名为bmp.autoupdater


     bmpmngr  reset----把splash分区里面的图片信息清零。

  

  

5.bmp

    #help bmp                                                                       
   bmp     - manipulate BMP image data 

   bmp info  0x1000000   ----检查内存0x1000000处的内容是否是bmp图片

  #bmp info 0x1000000                                                             
Image size    : 480 x 272                                                       
Bits per pixel: 24                                                              
Compression   : 0


  

5.disp

          disp, CONFIG_SYS_MAXARGS, 0, do_disp,
        "disp <option> [args] - show disp program\n",
        "disp console [serial|vga]\n"
        "disp lcdid [newid]\n"
        "disp bmp [bmpname]\n"

       #disp lcdid ---显示正在使用的lcdtype以及支持的全部的lcdtype

      #disp lcdid 0x7000   ---选择一个新的屏类型使用,但是并不保存这个lcdtype,所以一般可以用来调试屏显示。

      # disp bmp bmp.splash  把splash分区里面的bmp.splash 图片显示到屏幕


6.mtest

    简单的内存测试

  #mtest 0x0 0x1000000                                                            
Testing 0x00000000 ... 0x01000000:                                              
 Iteration:      1   


7.#bbt                                                                            
Usage:                                                                          
bbt     - Bad Block Management 

  #bbt init nand old   --从新建立坏块表


8.nand

  nand info & nand device----显示nand flash的信息。

 nand read(.oob) addr off size  把nandflash的off处的内容读到raw的addr处,大小为size。

 -----验证 md addr  size/4

  nand write  addr off size--把rawaddr处的内容写到nandflash的off处,大小为size

 nand dump [addr] [size]

  SMDK2440 # nand dump 0 100  Page 00000000 dump:

 nand erase [clean] [off size] 

    DM365 :>nand erase 1cc000 100  NAND erase: device 0 offset 0x1cc000, size 0x100


     





























            



0 0
原创粉丝点击