学习(踩坑)记录——新建工程

  配置:CCS8.3 + CC3200 + SDK1.3.0
 
踩了一下午的坑,才完整的创建了一个能够用工程。为了方面说明,后面直接使用SDK中的PWM例程中的文件。
一、红色框框为须要注意的地方
 

 

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

 

而后点击打开,ccs会提示复制仍是连接到工程中,以下图

 

这里须要注意:
(1)添加这个main文件以前须要删除建立工程时自动建立的main文件。
(2)若是是添加库文件的话,由于库文件咱们通常不会去改动,因此选择link to files,连接该文件便可,若是是添加后面可能会改动的文件,那么就选择copy files。
这里由于咱们添加的主函数和引脚配置函数,不属于库文件,因此最好选择copy。
 
三、接下来就是配置工程属性了,主要包括一下几个步骤,
(1)先建立一个路径变量,方便后面使用。
 

 

(2)CCS对于工程的配置有两种模式,debug和release,debug模式下生成的bin文件很大,大概是release模式下的10倍还要多(实测debug模式bin文件47k,release只有4k),并且我在debug模式下生成的bin文件下载到板子上以后没法运行,不知道怎么回事。
因此索性刚开始我就把模式改成release模式,不用默认的debug模式。修改方式以下图
 

 

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

 

(4)添加包含路径,这一步很重要,保证程序编译过程当中编译器能找到正确的头文件。添加以后以下图
固然,若是工程中须要的文件比较多的话,为了便于管理,可能会本身新建文件夹,这时也须要把本身新建的文件夹路径包含进去。
 

 

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

 

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

 

四、重要问题解决
通过上面的配置,一个工程基本上创建了,编译发现没有问题,在线调试也是妥妥的:

 

可是当想要下载到开发板上的时候,发现release文件夹中没有生成bin文件!
百度了不少,都说须要在build选项卡中添加一段代码

 

添加的代码具体内容以下:
"${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文件!
 
经过对比标准工程的配置,发现了上面配置的一个疏忽的地方:预约义标志,以下图
那么为何须要添加这个预约义标志呢?
经过搜索main文件,会发现主函数中有下面这段代码:
 
也就是说没有定义ccs的时候,这个函数得不到执行。进一步查看这个函数的功能:
用来为中断向量表分配地址!
那么这个函数的参数就应该是中断向量表了:
那么以前之因此没法生成bin文件,多是由于没有中断向量表!
因此在工程属性选项卡中添加了CCS的预约义标志以后,再次编译,发如今release文件夹中出现了bin文件:

至此,一个完整的工程算是创建了。
相关文章
相关标签/搜索