CCSv7使用指南连载2:基于外设文件新建工程
来源:互联网 发布:淘宝旺铺有必要买吗 编辑:程序博客网 时间:2024/05/21 22:29
版权声明:本系列文章欢迎转载,请通知作者,并注明出处,谢谢!
1 摘要
CCSv7是Texas Instruments针对自家嵌入式处理器或者单片机开发推出的集成开发环境,同时CCSv7也是完全免费的开发软件。本系列文章主要目的是介绍CCS使用入门及在实际项目开发过程中有用的技巧及方法,第2篇介绍如何新建工程。
现在MCU厂商也提供了越来越多的底层驱动和示例代码,比如TI为C2000系列MCU提供了ControlSuite,所有C2000相关的底层驱动/文档/应用例程/硬件设计都放在这个工具包里。我们将C2000外设驱动库复制到自己的工程里面,新建一个基于驱动库的工程。本文采用的硬件平台是F28069 Launchpad.
2 操作步骤
a 打开CCSv7,新建或者打开已有的workspace
有两种方式新建一个工程
1) File->New->CCS Project
2) Project->New CCS Project
随后会弹出以下配置窗口,按照图上标注的地方修改,点击Finish即可完成新工程的建立。
从Project Explorer中可以看到新建工程的情况,会有一个自动生成的.ccxml文件。
b 添加C2000底层驱动文件
对于大部分基于C2000的芯片开发来说,我们还需要将芯片底层的驱动.c文件、.h文件,以及相应的linker文件添加到工程中。
有两种方式: 1) 采用链接文件;2) 采用实际文件。
我们先介绍采用实际文件的方式,在这种方式下,需要将芯片的底层驱动复制到工程文件下面。以F28069为例,先找到F28069的底层驱动文件,打开以下文件夹。
C:\TI\controlSUITE\device_support\f2806x\v150
将F2806x_common和F2906x_headers复制到工程所在的文件夹下面,如下所示。
复制完成以后,再打开CCS工程,可以看到两个文件夹被自动添加到工程中。
c 将多余和冲突的文件删除
删除F2806x_SWPrioritizedDefaultIsr.c、F2806x_SWPrioritizedPieVect.c、F2806x_CSMPasswords.asm(如果需要对代码进行加密,那么要保留这个文件)
将F2806x_common\cmd下面的除了F28069.cmd(为Flash版本工程做预留)的文件全部删除。以RAM版本的程序为例,按照以下方式将F28069.cmd排除出工程。
将F2806x_common\gel文件删除
将F2806x_headers\cmd下面的F2806x_Headers_BIOS.cmd删除
我们以Example_2806xSci_Echoback这个例程的工程为例,将Example_2806xSci_Echoback.c的代码复制到main.c去。
d 设置头文件搜索路径
右键点击工程名 ->Properties -> Build ->Include Options,按照如下标号的顺序将.h文件存放的文件夹添加到搜索路径中来。
如下配置好以后,点击OK
然后编译工程,有可能会出现以下warning
打开F2806x_common\source\F2806x_usDelay.asm,将.sect “ramfuncs”改为.sect “.TI.ramfunc”
重新编译,再也没有error和warning。大功告成。
请关注公众号【C2000小百科】,更多内容将会在公众号中发布
- CCSv7使用指南连载2:基于外设文件新建工程
- CCSv7使用指南连载1:导入工程及编译下载
- CCSv7使用指南连载8:构建便于移植的工程
- CCSv7使用指南连载3:CCS文件及编译构建过程
- CCSv7使用指南连载4:Uniflash使用指南
- CCSv7使用指南连载6:Uniflash cloud使用指南
- CCSv7使用指南连载0:软件下载及安装
- CCSv7使用指南连载7:如何编译生成.lib静态库
- 新建基于eclipse的gradle工程
- STM32新建基于固件库工程模板心得
- 新建基于固件库的工程模板-M3
- 新建基于寄存器版本的工程模板
- STM32工程新建——基于MDK5
- 关于新建工程出现android dependencies文件
- android 新建工程,各个文件说明
- 新建blank工程后没有相应文件
- Django新建工程报错找不到文件
- eclipse新建工程文件时常用到的
- 【Scikit-Learn 中文文档】高斯混合模型
- 二叉搜索树(BST)的基本操作
- ListView用法
- 私有云落地解决方案之openstack高可用(pike版本)-数据库
- JAVA面向对象概述
- CCSv7使用指南连载2:基于外设文件新建工程
- 判断数字是否为素数
- Codeforces Round#447 E Ralph and Mushrooms
- 如何创建一个最简单的Linux自启动服务?
- Python: jupyter notebook配置初始目录
- hduoj 2003
- 使用docker创建gitlab服务
- Intelligence Math Part3
- 一道很经典的多线程面试题