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


     配置:CCS8.3 + CC3200 + SDK1.3.0
     
    踩了一下午的坑,才完整的建立了一个可以用工程。为了方面说明,后面直接使用SDK中的PWM例程中的文件。
    1、红色框框为需要注意的地方
     
    2、右键工程,选择添加文件,然后定位到SDK中的pwm例程中,选中三个文件,如下图:
    然后点击打开,ccs会提示复制还是链接到工程中,如下图
    这里需要注意:
    (1)添加这个main文件之前需要删除创建工程时自动创建的main文件。
    (2)如果是添加库文件的话,因为库文件我们一般不会去改动,所以选择link to files,链接该文件即可,如果是添加后面可能会改动的文件,那么就选择copy files。
    这里因为我们添加的主函数和引脚配置函数,不属于库文件,所以最好选择copy。
     
    3、接下来就是配置工程属性了,主要包括一下几个步骤,
    (1)先创建一个路径变量,方便后面使用。
     
    (2)CCS对于工程的配置有两种模式,debug和release,debug模式下生成的bin文件很大,大概是release模式下的10倍还要多(实测debug模式bin文件47k,release只有4k),而且我在debug模式下生成的bin文件下载到板子上之后无法运行,不知道怎么回事。
    所以索性刚开始我就把模式改为release模式,不用默认的debug模式。修改方式如下图
     
    (3)优化等级调为off,不需要优化。
     
    (4)添加包含路径,这一步很重要,保证程序编译过程中编译器能找到正确的头文件。添加之后如下图
    当然,如果工程中需要的文件比较多的话,为了便于管理,可能会自己新建文件夹,这时也需要把自己新建的文件夹路径包含进去。
     
    (5)修改堆和栈的大小为0x800。
     
    (6)添加链接器的查找路径
     
    4、重要问题解决
    经过上面的配置,一个工程基本上建立了,编译发现没有问题,在线调试也是妥妥的:
    但是当想要下载到开发板上的时候,发现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文件:

    至此,一个完整的工程算是建立了。
  • 相关阅读:
    谈谈架构层级的“开闭原则”
    将MySQL数据库中的表结构导入excel 或word
    淘宝网-软件质量属性分析
    架构漫谈阅读有感
    机器学习-分类算法之决策树、随机森林
    机器学习-分类算法之逻辑回归
    机器学习-朴素贝叶斯算法
    机器学习-分类算法之k-近邻
    机器学习-模型选择
    机器学习-scikit-learn数据集
  • 原文地址:https://www.cnblogs.com/qsyll0916/p/10288986.html
Copyright © 2020-2023  润新知