关闭

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

526人阅读 评论(0) 收藏 举报
分类:

 

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
         setenvaaa     //把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 startend    //startend是照起始地址和结束地址定义范围
protect off startend   //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区域命令为protect1:2-3

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

erase  擦除Flash的命令

erase   all擦除全部


erase   startend    //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   bankN        //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

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

    setbootcmd='tftp;bootm'

    setsetboot setenv bootargs \$(bootargs) eth=\$(ethaddr)

    setbootcmd '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 on1:0-3(就是对第一块FLASH的0-3扇区进行保护),protect off 1:0-3取消写保护

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

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

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

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

    18.usb:

    lusb start: 起动usb 功能

    lusb info: 列出设备

    lusb 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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:988805次
    • 积分:17715
    • 等级:
    • 排名:第539名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论