1 2Commands are added to U-Boot by creating a new command structure. 3This is done by first including command.h 4 5Then using the U_BOOT_CMD() macro to fill in a cmd_tbl_t struct. 6 7U_BOOT_CMD(name,maxargs,repeatable,command,"usage","help") 8 9name: is the name of the commad. THIS IS NOT a string. 10maxargs: the maximumn numbers of arguments this function takes 11command: Function pointer (*cmd)(struct cmd_tbl_s *, int, int, char *[]); 12usage: Short description. This is a string 13help: long description. This is a string 14 15 16**** Behinde the scene ****** 17 18The structure created is named with a special prefix (__u_boot_cmd_) 19and placed by the linker in a special section. 20 21This makes it possible for the final link to extract all commands 22compiled into any object code and construct a static array so the 23command can be found in an array starting at __u_boot_cmd_start. 24 25If a new board is defined do not forget to define the command section 26by writing in u-boot.lds ($(TOPDIR)/board/boardname/u-boot.lds) these 273 lines: 28 29 __u_boot_cmd_start = .; 30 .u_boot_cmd : { *(.u_boot_cmd) } 31 __u_boot_cmd_end = .; 32