当前位置:首页|资讯

如何在VSCODE上编辑并编译C2000工程

作者:自行车等等我发布时间:2024-10-05

博客原文:https://zxcli.fun/2024/10/03/如何在VSCODE上编辑并编译C2000工程

在进行C2000开发时,能选择的IDE很少,只有TI自家的Code Composer Studio(CCS),是基于Eclipse魔改的。新人在一开始上手使用CCS的时候可能会一头雾水,而且CCS的代码补全功能非常鸡肋,所以在这里介绍一种在~~宇宙最强编辑器~~VSCODE上编辑并编译C2000工程的方法。

从CCS中导入C2000工程

在将工程导入VSCODE之前,我们需要先要将工程导入CCS中。

为什么要先使用CCS导入工程

CCS编译工程靠的是makefile加gmake的方式。gmake是TI自己弄的编译器。在makefile文件中包括了编译C2000工程所需要的所有信息,包括编译器路径、编译器参数、编译顺序等等。每个子文件夹还有自己的subdirvars.mk文件,用来告诉编译器如何编译子文件夹中的文件。在makefile和各种.mk文件中,编译器所需要知道的文件路径大部分都是以相对路径表示的,但是像项目路径,编译器路径,C2000专用的头文件路径等,都是以绝对路径表示的。在将例程或者别人的工程导入CCS之前,这些绝对路径都是错误的,所以我们需要先使用CCS导入工程,CCS会自动修改这些路径,使得工程可以在CCS中正常编译。
第二个原因则是像C2000ware中的例程中是不包含driverlib驱动库文件的,使用CCS导入后,CCS会将这些文件添加到工程中,并生成对应的makefile文件。

如何导入工程

打开CCS,点击菜单栏中的Project -> Import CCS Project,选择要导入的工程文件夹。


选择文件夹
这里导入280049的空工程

注意事项:
在导入的时候记得勾上下面两个选项。

选择C语言工程
我们开发的时候一般使用C语言,所以选择C语言工程。勾选第二个工程选项。然后点击finish完成导入。

完成导入后,CCS中就有我们的工程了,可以对比一下,CCS导入后比原文件夹多了不少东西。


在CCS中修改工程

在导入工程后,我们需要在CCS中修改工程,比如重命名工程,新增文件夹,设置代码烧录位置等等。
但是要记住,以上的操作都要在CCS中进行,因为CCS在每次编译时都会会自动修改makefile文件,使得工程可以在CCS中正常编译。如果你在文件资源管理器里面直接修改文件名或文件夹名,makefile文件中的路径是不会自动更新的,编译器找不到文件,就会报错。
在修改完工程后,可以点击菜单栏上面的小锤子编译一下,看看有没有报错。

将工程导入VSCODE

在导入工程的文件夹的空白处右键,选择在VSCODE中打开。

在VSCODE中的操作分为两步,一个是能让VSCODE正常跳转和补全,另一个是能在VSCODE的终端里面正常编译。

让VSCODE正常跳转和补全

在工程根目录下新建.vscode文件夹,在.vscode文件夹下新建cproperties.json文件,文件内容如下:

第6行到第21行是我们要根据工程修改的地方,其余的都是文件框架,直接复制就行。
"includePath"中填写的是编译器搜索头文件的路径。${workspaceFolder}表示工程根目录,然后依次添加你自己新添加的包括.h文件的文件夹路径(我这里没有新建.h文件以及文件夹,所以只有第6行)。
第7行的CPU1RAM/syscfg。双核CPU同理。下面的三行是包括的driverlib文件夹的路径。
includePath的最后一行的路径是C2000的C标准函数库头文件路径。这个要到CCS的安装目录里面找。或者你可以在工程文件里面包含一下标准库的头文件的路径,然后跳转进去,CCS的标题就会变成该头文件的路径,就像下面这样:

"defines"中填写的是编译器预定义的宏。这里定义了三个宏,第一个是UNICODE,第二个是cpp_properties.json文件修改好之后,应该就能正常跳转和补全了,而且不会有红色波浪线报错。

让VSCODE正常编译

将gmake添加到环境变量中

要在VSCODE中编译C2000的工程,本质上还是调用CCS的编译器,也就是gmake。所以我们首先要把gmake添加到环境变量中,然后才在VSCODE中调用gmake。
gmake的安装路径也在CCS的安装目录下,路径为:

然后添加到环境变量中:

然后重启电脑,在VSCODE中打开终端,输入gmake -v,如果出现gmake的版本信息,说明添加成功。

创建编译脚本

接下来就是创建一个调用gmake的编译脚本,在工程根目录新建一个build.ps1文件,文件内容如下:

这个脚本是在powershell中执行上述三条代码。其中cd ./CPU1_FLASH是进入CPU1_FLASH文件夹,因为makefile文件在这个目录里面,如果你设置的是烧录到RAM,就改成cd ./CPU1_RAM,双核的我暂时还没试过。gmake -k -j32 all -O是调用gmake编译工程。cd ..是返回上一级目录。
添加完文件后在VSCODE中打开终端,输入.\build.ps1,如果出现编译信息,说明脚本创建成功。

如果出现报错,查看报错信息,是否存在语法错误;如果报错是找不到变量或函数,而且变量或函数正好在你新添加的文件夹里面,CCS编译设置中也有包含这个文件夹,可以在CCS中先编译一遍,把旧的makefile文件路径更新一下,就可以在VSCODE中编译了。

创建清理脚本

和上面的编译脚本类似,在工程根目录新建一个clean.ps1文件,文件内容如下:

添加工作区

在VSCODE中打开你的工程,然后在菜单栏上点击文件->将工作区另存为,将工作区保存到你的工程根目录。

以后再要打开工程,直接双击打开这个.workspace后缀的工作区文件即可。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1