嵌入式 uboot命令及内核启动参数

来源:互联网 发布:多个表格数据求和 编辑:程序博客网 时间:2024/05/18 01:14

tftp uclibc_64k.jffs2
sf probe 0
sf erase 0x380000 0x600000
sf write 0x80008000 0x380000 0x500000(内存起始地址 flash起始地址 大小)

Uboot相关命令介绍

        printenv 查看环境变量

        setenv    添加,修改,删除环境变量

       例 setenv aaa 123 //添加环境变量aaa其值为123
          setenv aaa 789 //在上行变量基础上把aaa的值修改(重设)为789
          setenv aaa      //把aaa变量删除

        saveenv   保存环境变量

         flinfo   查看flash信息

         bdinfo    查看开发板信息


查看和修改内存值的指令(可以查看和修改SDRAM和寄存器值)

  [.b, .w, .l]代表了查看和修改形式:bit、word、long

md       查看内存

   参数   md.b [address] //按字节显示 
               md.w [address] //按字显示 
              md.l [address] //按长字显示

nm      修改内存值 (指定地址)

   参数    nm.b [address] //按字节显示 
               nm.w [address] //按字显示 
             nm.l [address] //按长字显示

mm      内存修改,地址自动递增

   参数    mm.b [address] //按字节显示 
               mm.w [address] //按字显示 
            mm.l [address] //按长字显示

mw      用指定的数据填充内存

   参数    mw.b [address value ] //按字节显示 
              mw.w [address value ] //按字显示 
              mw.l [address value ] //按长字显示

cp     内存的拷贝(包括内存与Nor Flash间的数据拷贝)

   参数    cp.b [source target count] //按字节显示 
          cp.w [source target count] //按字显示  
          cp.l [source target count] //按长字显示

         例 cp source dest len


protect 扇区写保护(对Flash 写保护)

protect on all 保护全开
protect off all 保护解除

protect on start end    //start end是照起始地址和结束地址定义范围
protect off start end    //start是保护块的起始地址;
                     //end 是保护末尾块的结束地址。
例如:保护Sector 2和Sector 3区域命令为protect 20000 3ffff

protect on start +size         //start +size是照起始地址和操作字节数定义范围
protect off start +size //start是保护块的起始地址;
                       //size 是保护的字节数。
例如:保护Sector 2和Sector 3区域命令为protect 20000 +20000

protect on N:SF[-SL] 
protect off N:SF[-SL] 
                //N:SF[-SL]是按照组和扇区,N 表示Flash 的Block号,
                //SF 表示保护起始Sector号,SL 表示保护结束Sector号。
例如:保护Block1 的Sector 2和Sector 3区域命令为protect 1:2-3

protect on bank N       //bank N是保护整个Block,
protect off bank N     //保护Block号为N 的整个Flash

erase   擦除Flash的命令

erase   all 擦除全部


erase   start end     //start end是照起始地址和结束地址定义范围,
                     //start是擦除块的起始地址;
                    //end 是擦除末尾块的结束地址。
例如:擦除Sector 2和Sector 3区域命令为erase 20000 3ffff

erase   start +size           //start +size是照起始地址和操作字节数定义范围
                     //start是擦除块的起始地址;
                    //size 是擦除的字节数。
例如:擦除Sector 2和Sector 3区域命令为erase 20000 +20000

erase   N:SF[-SL] 
                  //N:SF[-SL]是按照组和扇区,N 表示Flash 的Block号,
                //SF 表示擦除起始Sector号,SL 表示擦除结束Sector号。
例如:保护Block1 的Sector 2和Sector 3区域命令为erase 1:2-3

erase   bank N         //bank N是擦除整个Block,
                     //擦除Block号为N 的整个Flash


从Nand flash中读数据
             Nand read dest(sdram) src(Flash) size

对Nand flash擦除数据
             Nand erase start size

向Nand flash中写数据
              Nand write src(sdram) dest size

 

    ---------------------------------bootarg--------------------------------

    bootfile=uImage

    serverip=192.168.1.177

    nfshost=192.168.1.177

    set bootargs=console=ttyS0,115200n8=noinitrd rw ip=192.168.1.80 video:output=pal root=/dev/nfs nfsroot=192.168.1.177:/work/ramdisk,nolock mem=28M

    set bootcmd='tftp;bootm'

    set setboot setenv bootargs \$(bootargs) eth=\$(ethaddr)

    set bootcmd 'run setboot; bootm 0x2040000'

    1. 得到所有命令列表

    2. help: help usb, 列出USB功能的使用说明

    3. ping:注:只能开发板PING别的机器

    4. setenv: 设置互环境变量:

    5. setenv serverip 192.168.0.1

    6. setenv ipaddr 192.168.0.56

    7. setenv bootcmd ‘tftp 32000000 vmlinux; kgo 32000000’

    8. saveenv: 保存环境变量

    9. 在设置好环境变量以后, 保存变量值

    10. tftp: tftp 32000000 vmlinux, 把server(IP=环境变量中设置的serverip)中/tftpdroot/ 下的vmlinux通过TFTP读入到物理内存32000000处。

    11. kgo: 起动没有压缩的linux内核,kgo 32000000

    12. bootm:起动UBOOT TOOLS制作的压缩LINUX内核, bootm 3200000

    13. protect: 对FLASH进行写保护或取消写保护, protect on 1:0-3(就是对第一块FLASH的0-3扇区进行保护),protect off 1:0-3取消写保护

    14. erase: 删除FLASH的扇区, erase 1:0-2(就是对每一块FLASH的0-2扇区进行删除)

    15. cp: 在内存中复制内容, cp 32000000 0 40000(把内存中0x32000000开始的0x40000字节复制到0x0处)

    16. mw: 对RAM中的内容写操作, mw 32000000 ff 10000(把内存0x32000000开始的0x10000字节设为0xFF)

    17. md: 修改RAM中的内容, md 32000000(内存的起始地址)

    18. usb:

    l usb start: 起动usb 功能

    l usb info: 列出设备

    l usb scan: 扫描usb storage(u 盘)设备

    19. fatls:列出DOS FAT文件系统, 如:fatls usb 0列出第一块U盘中的文件

    20. fatload: 读入FAT中的一个文件,如:fatload usb 0:0 32000000 aa.txt

    21. 把USB中的aa.txt 读到物理内存0x32000000处!

    22. flinfo: 列出flash的信息

    23. loadb: 准备用 KERMIT协议接收来自kermit或超级终端传送的文件。

    24. nfs: nfs 32000000 192.168.0.2:aa.txt , 把192.168.0.2(LINUX 的NFS文件系统)中的NFS文件系统中的aa.txt 读入内存0x32000000处。


阅读全文
0 0
原创粉丝点击