微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 第十五篇?rico board的uboot添加自定义命令hello

第十五篇?rico board的uboot添加自定义命令hello

时间:10-02 整理:3721RD 点击:
上次添加自定义命令、编译一直不通过,这次参考uboot中的common/cmd_version.c文件,做了些修改,成功了,common/cmd_hello.c代码如下:

  1. #include
  2. #include

  3. #include

  4. static int do_hello (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  5. {
  6.         printf("iysheng say hello world.\n");
  7.         return 0;
  8. }

  9. /*
  10. static char hello_help_text[] =
  11.         "iysheng's hello_cmd testing just for fun.\n"
  12.         "helped by weidongshan\n."

  13. U_BOOT_CMD(
  14.         hello,        CONFIG_SYS_MAXARGS,        1,        do_hello,
  15.         "hello testing....", hello_help_text
  16. );
  17. */
  18. U_BOOT_CMD(
  19.         hello,        CONFIG_SYS_MAXARGS,        1,        do_hello,
  20.         "hello testing....",
  21.         ""
  22. );

复制代码

还要修改cmmon/Makefile文件添加hello.o项:


接下里编译运行,我写了一个脚本:

  1. #!/bin/bash
  2. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
  3. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- myir_ricoboard_config
  4. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

复制代码


生成uboot.img和MLO文件,复制到SD卡从sd卡启动,测试hello命令:




这样就完成了自定义命令的添加。
在我的rico board的uboot添加自定义命令,编译不通过这篇帖子中,编译不通过是因为


把char bootm_help_text的内容不通过数组,直接复制到U_BOOT_CMD的宏里:


这样编译就通过了,并且多了help支持:


具体为什么放在数组中编译不通过,我还是不知道,因为我参考的common/cmd_bootm.c这个文件是把help的内容放在了数组里面,

而我按照他的格式编译不通过不知道什么原因啊?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top