uboot 命令

可以自行在uboot中增加命令,扩充

命令的定义在uboot源码下的include中

命令写在cmd文件夹下,写好后要在Makefile中加入此文件的.o文件

然后在上一个文件夹下输入“make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-“命令

然后输入命令“sudo dd if=./u-boot-sunxi-with-spl.bin  of=/dev/sdb bs=1k seek=8”下载到内存卡,

 1   //添加一个自己的命令,调用uboot内loady命令 的加载函数 
#include <common.h> 2 #include <command.h> 3 4 extern int do_load_serial_bin(cmd_tbl_t *cmdtp,int flag,int argc,char *const argv[]);//引用外部的函数 5 char *addr[]={"loady", "0x40008000"};     //命令执行字符串 6 int do_haha(cmd_tbl_t *cmdtp,int flag,int argc,char *const argv[]) 7 { 8 9 do_load_serial_bin(NULL,0, 2,addr);//调用的uboot函数 10 return 0; 11 } 12 13 U_BOOT_CMD_COMPLETE(haha, 3, 0, do_haha, "usage", "help", "help haha");//usage:通常为 14                                                                 //命令的介绍信息 “help”可以写成帮助信息 15 ~

2.通过串口下载u-boot-sunxi-with-spl.bin.bin文件到内存

  过程:先通过"loady x040008000"  将编译好的 uboot文件加载到内存,
然后通过mmc  write  addr   blc   #cnt   将程序从内存加载到mmc中  

如:  mmc   write    0x40008000    0x10    0x20

意思是从0x400008000 位值开始读取 0x20  *512个字节到偏移8k处(8k=16*512)

 3.uboot的裁剪操作

  通过命令“  进入uboot配置菜单,然后打开或关闭部分功能。

  打开还需要打开相应的头文件

4.fatload mmc  0:1  0x43000000   /script.bin      //内核用的配置文件

  解释:  mmc:sd卡设备     

    0:1    :uboot可以最多同时支持3个内存卡,0表示第一个,1表示sd卡的第一个扇区(扇区从1开始,没有0扇区)

    0x43000000  :表示将/文件加载到内存的0x43000000地址

         /scriptbin     :要加载的文件名

    意思:将内存卡的第一个扇区的/scaript.bin内核配置文件加载到内存的0x43000000位置

fatload  mmc   0:1  0x42000000   /uimage

    意思:将内存卡的第一个扇区的/uimage内核镜像文件加载到内存的0x42000000位置

原文地址:https://www.cnblogs.com/edan/p/9104641.html