先看效果图
这个图是在裸机下跑的,移植了u-boot的command, 新的u-boot改成cli(命令行接口)
使用起来非常方便:
在任意文件里面都可以添加命令。
REGISTER_CMD宏即
也即REGISTER_CMD宏定义的命令最终都会链接到“.cli_cmd”段里面,在链接脚本里面:
可以看到.cli_cmd字段。
上面简单描述了效果即简单解析。
其中basic.lds就是链接脚本,内容在上面以及贴出来了。
main很简单:
其中需要初始化串口。
command_init()和command_loop()两个实现都在src/command.c里面
以上代码没有实现itoa,strlen, printf , vsprintf等标准库函数,并运行在tiny4412裸机上,对于其他平台,比如fpga,stm32, msp430, 51等平台,一般IDE支持标准库函数,移植起来更方便。熟悉u-boot移植的人来说,cli接口是必不可少的调试神器。
所有代码由以下方式获取:
git clone git@github.com:fanglinn/tiny4412.git
最后还是补充一下:
如果你想使用以上框架,需要做如下几点:
最后还是贴上代码,以便自己后面使用:
src/command.c