U-boot新手入门

时间:2021-08-11 20:10:40

Uboot的学习主要是uboot的一些命令的学习,难度不大,下面逐一介绍。
        1、help
            查看uboot中的命令及其用法
        2、printenv/print 查看环境变量
            环境变量是保存的系统配置的信息
        3、setenv 添加、修改、删除环境变量
            用法:setenv    环境变量    值    (添加、修改)
            例:setenv    filename    print.txt。即将环境变量filename值设为print.txt
            用法:setenv    环境变量    (删除)
            例:setenv    filename。即删除环境变量。
        4、saveenv    保存环境变量
            第3点中所说的修改环境变量是在内存中进行的,一旦掉电后内存被刷新,所做的修改就不存在了,所以用saveenv将对环境变量保存到硬盘—— Flash中。
       5、tftp文件下载
            这个可以说是这一节中最难的一点。倒不是说tftp下载难,而是开发板和linux虚拟机之间建立网络连接难。要用开发板ping通linux,需要做到以下几点。
        (1)、开发板的ip和linux的ip要在同一网段,即ip前三个数字相同。
         (2)、笔记本和开发板连接在同一个路由器上。
         (3)、windows系统和linux系统的连接方式采用桥接。
         (4)、windows和linux的防火墙都关闭。
            嗯注意以上几点开发板应该和linux就可以ping通了。(这个折腾了我好久!)
            用法:tftp    下载地址    文件名
            例:    tftp    31000000    uImage
        6、查看内存内容
            用法:md    地址
            用法:md.b    地址(以单字节查看)
        7、修改内存内容
            用法:mm    地址
            退出修改:空格+回车   
        8、擦除nand flash 
            用法:nand    erase    擦除地址    擦除长度 
            例:nand    erase    0x400000    0x500000
        9、读/写nand flash
            用法:nand    writre/read    内存起始地址    flash起始地址    长度
            例:nand    write/read    0x31000000    0x500000    0x600000
           
可以将tftp下载至内存中的内核文件写到nand中保存起来,下次上电只需从nand中读出并启动就好了。
        10、启动内核
            用法:bootm    内存地址
            例:bootm    31000000
        11、设置自动启动
            一个完整的嵌入式项目应该是不需要人为去做一些读取内核,启动内核的工作的,我们可以设置自动启动。将bootcmd这个环境变量做些修改即可。
            setenv nand read 31000000 400000 500000 \; bootm 31000000
            “\;”用于分开两条不同的命令,前后都需要空格间隔。
            saveenv;
        这一节比较简单,难点就是开发板和linux之间的网络连接,不过其实也还好了。Go on study!