学习记录——CCS新建工程

时间:2024-04-08 16:01:48

配置:CCS8.3 + CC3200 + SDK1.3.0

踩了一下午的坑,才完整的建立了一个可以用工程。为了方面说明,后面直接使用SDK中的PWM例程中的文件。

1、红色框框为需要注意的地方

 学习记录——CCS新建工程

 

2、右键工程,选择添加文件,然后定位到SDK中的pwm例程中,选中三个文件,如下图:

学习记录——CCS新建工程

 

然后点击打开,ccs会提示复制还是链接到工程中,如下图

学习记录——CCS新建工程

 

这里需要注意:

(1)添加这个main文件之前需要删除创建工程时自动创建的main文件。

(2)如果是添加库文件的话,因为库文件我们一般不会去改动,所以选择link to files,链接该文件即可,如果是添加后面可能会改动的文件,那么就选择copy files。

这里因为我们添加的主函数和引脚配置函数,不属于库文件,所以最好选择copy。

 

3、接下来就是配置工程属性了,主要包括一下几个步骤,

(1)先创建一个路径变量,方便后面使用。

学习记录——CCS新建工程

 

(2)CCS对于工程的配置有两种模式,debug和release,debug模式下生成的bin文件很大,大概是release模式下的10倍还要多(实测debug模式bin文件47k,release只有4k),而且我在debug模式下生成的bin文件下载到板子上之后无法运行,不知道怎么回事。

所以索性刚开始我就把模式改为release模式,不用默认的debug模式。修改方式如下图

学习记录——CCS新建工程

 

(3)优化等级调为off,不需要优化。

学习记录——CCS新建工程

 

(4)添加包含路径,这一步很重要,保证程序编译过程中编译器能找到正确的头文件。添加之后如下图

当然,如果工程中需要的文件比较多的话,为了便于管理,可能会自己新建文件夹,这时也需要把自己新建的文件夹路径包含进去。

学习记录——CCS新建工程

 

(5)修改堆和栈的大小为0x800。

学习记录——CCS新建工程

 

(6)添加链接器的查找路径

学习记录——CCS新建工程

 

4、重要问题解决

经过上面的配置,一个工程基本上建立了,编译发现没有问题,在线调试也是妥妥的:

学习记录——CCS新建工程

但是当想要下载到开发板上的时候,发现release文件夹中没有生成bin文件!

百度了很多,都说需要在build选项卡中添加一段代码

学习记录——CCS新建工程

添加的代码具体内容如下:

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"

但是添加完了之后,重新编译还是没有生成bin文件!

通过对比标准工程的配置,发现了上面配置的一个疏忽的地方:预定义标志,如下图

学习记录——CCS新建工程

那么为什么需要添加这个预定义标志呢?

通过搜索main文件,会发现主函数中有下面这段代码:

学习记录——CCS新建工程

也就是说没有定义ccs的时候,这个函数得不到执行。进一步查看这个函数的功能:

学习记录——CCS新建工程

用来为中断向量表分配地址!

那么这个函数的参数就应该是中断向量表了:

学习记录——CCS新建工程

那么之前之所以无法生成bin文件,可能是因为没有中断向量表!

所以在工程属性选项卡中添加了CCS的预定义标志之后,再次编译,发现在release文件夹中出现了bin文件:

学习记录——CCS新建工程

至此,一个完整的工程算是建立了。