配置: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文件:
至此,一个完整的工程算是建立了。

转载于:https://www.cnblogs.com/qsyll0916/p/10288986.html

学习(踩坑)记录——新建工程相关推荐

  1. MAC-XXL_JOB学习踩坑记录-Failed to create parent directories for [/data/applogs/xxl-job/xxl-job-admin.log

    MAC-XXL_JOB学习踩坑记录 源码下载地址 启动报错 源码下载地址 ①.GitHub:https://github.com/xuxueli/xxl-job ②.码云:https://gitee. ...

  2. cesium给地图添加比例尺学习踩坑记录

    cesium给地图添加比例尺学习踩坑记录 因项目需要在cesium地图中展示比例尺,本来应该是很简单的事,但却碰到了一个引用文件的坑,特此记录: *1.引用依赖文件 相信需要用到cesium比例尺组件 ...

  3. sanic学习踩坑记录:第一坑——sanic_jinja2应用报错ModuleNotFoundError: No module named ‘AppName‘

    刚开始学习使用sanic,发现有一些坑,随手记录一下:以供后来者共同学习,避免踩坑: # 使用的软件版本 python 3.8.10 sanic 21.9.3 sanic-jinja2 0.10.0 ...

  4. Pytorch深度学习踩坑记录

    写这篇博文的主要目的是记录一下在使用Pytorch做深度学习项目时踩的一些坑,警醒自己,帮助他人

  5. 【学习记录】QT5界面设计的踩坑记录

    学习记录:QT5 界面设计的踩坑记录 前言 一.Qlabel显示视频与图片 1. 图片显示 1.1 显示格式 1.2 label随界面缩放 1.3 界面刷新 2. 视频显示 二.常见控件的StyleS ...

  6. AirSim学习和踩坑记录(不定时更新)

    版权声明:本文为博主原创文章,遵循Creative Commons - Attribution-ShareAlike 4.0 International - CC BY-SA 4.0版权协议,转载请附 ...

  7. Slam学习笔记——ROS踩坑记录

    Slam学习笔记--ROS踩坑记录 1. 安装 2. ROS文件系统 2.1 工作区 2.2 包package 2.2.1 包的操作 2.2.2 描述文件package.xml 2.3 节点node ...

  8. 双系统Ubuntu22.04深度学习环境配置与踩坑记录

    双系统Ubuntu22.04深度学习环境配置踩坑记录 前言 目录 相关版本 主要参考教程 Ubuntu安装 Nvidia和CUDA安装 踩坑经历 官网安装所遇问题 cuDNN安装 Anaconda安装 ...

  9. mybatis学习与踩坑记录

    mybatis resultmap高级映射 应用场景:如果sql查询的列名和pojo的属性名不一致,可以使用resultMap将列名和pojo的属性名作一个对应关系,就可以映射成功了.(如果返回值为i ...

  10. osx php7 imagick,[PHP] MacOS 自带php环境安装imagick扩展踩坑记录 | 码农部落

    前言 最近学习yii2,在搭建环境后,发现在访问contact页面时报错,如下: "Either GD PHP extension with FreeType support or Imag ...

最新文章

  1. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
  2. mysql自定义序号_MySQL数据库之在mysql中给查询的结果添加序号列
  3. 顺序表应用7:最大子段和之分治递归法
  4. MySQL笔记——打开日志
  5. python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)
  6. jvm 参数_一文带你深入了解JVM内存模型与JVM参数详细配置
  7. 随手小记:都是反着的
  8. 自然语言处理系列-1.什么是NLP?
  9. window.open打开页面并传值,window. location.search遍历获取到的请求链接中的所有参数
  10. MFC 简单输出EXCEL - (OLE)
  11. eNSP模拟器中 FTP 实验
  12. echarts 地图添加纹理图片
  13. Wait for me和waitting for me有什么区别?
  14. iPhone4 兼容 iPhone 5 需要注意的地方
  15. Android图片压缩尺寸和质量
  16. 在移动开发快捷推广方式
  17. App下载安装量如何统计
  18. Python uiautomation初探,测试Win10计算器
  19. ROS功能包|mav_control_rw(基于MPC的无人机轨迹跟踪控制)---gazebo仿真测试
  20. Java项目:在线电子商城管理系统(java+SpringBoot+Thymeleaf+bootstrap+jQ+layui+maven+mysql)

热门文章

  1. cas5.3:CAS Server搭建
  2. 修改mysql表前缀_使用phpMyAdmin批量修改Mysql数据表前缀的方法
  3. 数据库中系统数据库服务器,sql中什么是系统数据库服务器
  4. html引用单文件组件,webpack入坑之旅(五)加载vue单文件组件_html/css_WEB-ITnose
  5. nginx防盗链功能
  6. jsp文件过大,is exceeding 65535 bytes limit
  7. 【搞事情】英文文档单词对比自动翻译
  8. NYOJ845 - 无主之地1
  9. 云服务器升级系统,centos云服务器系统升级
  10. Frequent values