可以自动创建KEIL、IAR、makefile工程的工具
今天给大家推荐个好工具,可以用来自动生成mdk、iar、makefile工程。比如我项目的的源码最开始是别人用makefile来实现编译的,但是我比较熟悉keil或者iar,想重新创建这两个工程是不是要重新再分别建立一个keil工程和iar工程。然后手动把依赖的源码和头文件分别再添加到工程里面去。
实际上不用那么麻烦,给大家推荐个工具:project-generator。这个是arm开发的一个python工具,你只需要根据他的格式写出来yaml文件(这个文件格式比makefile容易理解的多,格式很简单),然后就可以一劳永逸,想生成makefile、mdk、iar工程都可以。
它目前支持生成如下这么多种工程:uVision4 and uVision5IARMakefile (GCC ARM)Makefile (ARMCC)Cmake (GCC ARM)CoIDE (GCC ARM)Eclipse (Makefile with GCC ARM)Sublime (Makefile with GCC ARM)Visual studio (Makefile with GCC ARM)
这个工具是需要python的,所以使用之前需要先安装python。之后执行:pypi – project generator用来安装该工具。
这个工具支持有5个常用的命令,每个命令下又会有一些子命令,如下所示:
inti:为一个目录创建project record,即自动生成yaml文件
- -p:
- -tar:工程名称
- -dir:要扫描的目录
- -o:产生文件的目录
genarate:导处定义的工程
- -f projects.yaml 文件目录
- -p project 名字,如果不指定会根据yaml文件中描述的导出
- -t tool name(即导出的IDE,keil 或者iar 或者makefile等等)。
- -b 编译导出的工程,不是所有的tool都支持编译工程的
- -c 将工程所需要的文件拷贝到另外一个目录中
build:这个命令会先导处一个工程,然后再进行编译
- -f
- -p
- -c
list:列出目标,工具或者工程
- targets:列出所有目标
- tools:列出所有的工具支持
- projects:列出所有工程,需要添加-f 参数来指定yaml文件
- -f:
clean:移除产生的文件和目录
- -f
- -p
- -t
这个工具还是开源的,大家可以看官方的使用说明和源码进行更深入的研究。
说明地址:https://github.com/project-generator/project_generator/wiki
源码地址:https://github.com/project-generator/project_generator