admin管理员组文章数量:1621462
目录
01 CCS的介绍、下载与安装
1 CCS的介绍
2 下载
3 安装
02 创建一个CCS工程
1 工作空间
2 创建一个新的CCS工程
3 编译与生成
03 工程导入
1 前面的话
2 导入工程
3 完整工程的结构
04 程序烧写与仿真
1 目标配置文件CCXML
2 连接仿真器
3 烧写程序(装载程序)
4 在线仿真
05 CCS8.0常用菜单
1 CCS编辑界面与调试界面
2 编译
3 搜索
4 打开窗口
5 常用窗口简介
06 在线仿真操作
1 监视变量
2 监视寄存器
3 断点管理
4 查看内存
07 曲线图形显示工具
1 简介
2 示例程序
3 波形显示
顺便给我的公众号打个小广告,微信公众号:iFTrue未来已来,关注公众号还可以加入相关技术交流群哦
另外,获取教程中相关的示例源码,关注后在公众号后台回复“CCS教程源码”即可
01 CCS的介绍、下载与安装
1 CCS的介绍
工欲善其事必先利其器,如果你正在打算学习DSP,那么需要准备以下三个东西:
1) DSP开发板,当然任何具有DSP最小系统的板子都是可以的;
2) 仿真器,仿真器用来将程序烧写到DSP中,同时具备在线仿真调试的功能;
3) 编译环境CCS,有了它你就可以很方便的写程序了。
这里首先介绍编译环境CCS。CCS的全称是Code Composer Studio,它是美国德州仪器公司(Texas Instrumen,TI)出品的代码开发和调试套件。TI公司的产品线中有一大块业务是数字信号处理器(DSP)和微处理器(MCU),CCS便是供用户开发和调试DSP和MCU程序的集成开发软件。
CCS自CCS8.0版本后就已经全部免费,让我一起来享受TI给我们的福利吧。
2 下载
最新版本CCS可以到TI官网下载,当然也可以下载到历史版本,我这里提供百度网盘下载地址,版本为CCS8.0。
关注微信公众号:iFTrue未来已来,在公众号后台回复“CCS”获取链接
3 安装
1、选择软件压缩包,鼠标右击选择 “解压到 CS8.0.0.00016(E)"
2、 解压好后,注意解压后的文件路径中不能包含中文, 双击 “ccs_setup_8.0.00016.exe” 文件
3、 点击“Continue”
4、 选择“I accept the terms of ...”,点击“Next”
5、选择安装路径,不建议安装在C盘,这里选择D盘,点击“Next”
6、选择“Select All”,当然也可以根据需求勾选左侧列表中的内容,然后点击“Next”
7、选择“Select All”,当然也可以根据需求勾选左侧列表中的内容,然后点击“Finish”
8、安装中...
9、安装完成,软件已可以使用
02 创建一个CCS工程
1 工作空间
以CCS8.0为例,在CCS启动时,会弹出工作空间(Workspace)选择对话框,工作空间是用来保存开发过程中用到的所有元素(包括项目和指向项目的链接等)的目录。
Workspace的默认路径为:C:UsersAdministratorworkspace_v8,也可以根据需求任意选择位置。
每次打开CCS时都会弹出工作空间选择对话框,我们可以对所有项目使用一个目录,这时可以勾选“Use this as the default and do not ask again(默认使用此目录且不再询问)”,下次再打开CCS时就不会弹出了。
这里我们保持Workspace路径为默认路径,同时暂不勾选“Use this as the default and do not ask again”,点击“Launch”按钮进入软件主界面。
2 创建一个新的CCS工程
1、 打开菜单栏“Project -> New CCS Project…”
2、 在弹出的窗口中,“Project name”中填写项目名称。若选中“Use default location”,将会在工作空间路径下创建项目;若想选则其他位置存放项目,则去掉勾选“Use default location”,并使用“Browse…”选择新的位置。
3、 在“Target”中选择要使用的芯片类型。
4、 在“Connection”中选择你使用的仿真器。
5、 点击“Finish”完成项目创建
6、 至此,一个最简单的CCS工程已经完成,只不过这是一个空的工程,我们还需要根据实际需求去在这个工程中写自己的源代码或者添加已有的代码。在“Project Explorer”窗口中可以看到我们新建的工程(“Project Explorer”窗口未显示的话,可以在菜单“Window -> Show View -> Project Explorer”中打开)。
以下步骤根据实际需求选择进行,若无需求直接进入第3章“编译与生成”:
7、 要为工程创建文件(.c、.h、.asm、.cpp等),请在右键单击工程名称,选择“New->Source File”添加源文件或“New->Header File”添加头文件。
8、 在弹出的对话框中,填写源文件名称“Source File”,注意要正确填写后缀类型(.c、.h、.asm、.cpp等),点击“Finish”完成。头文件(Header File)的填写方式类似。
9、 如果添加已有的源文件,请在右键单击工程名称,选择“Add Files…”,并选择要添加的文件。
10、在弹出的对话框中,选择“Copy Files to Project”,将文件复制到工程中。并点击“OK”。
3 编译与生成
在工程创建完成后,需要对工程进行编译,以检测是否有错误并且生成可执行文件。打开菜单“Project -> Build Project”,CCS会对工程进行编译。
当“Console”窗口中显示“**** Build Finished ****”时编译完成。如果有错误或警告,会在“Problems”窗口中提示。
提示:如果你的CCS没有显示“Problems”窗口,可点击菜单“Window -> Show View -> Problems”打开。
03 工程导入
1 前面的话
在上一节中,我们教会了大家如何在CCS中新建一个最简单的工程,当然如果要使得编程过程变得更舒服,还需要添加对应芯片的库文件,这样很多底层的东西我们就可以直接拿来用了。
当然这些库文件TI官方在例程中已经给大家了,我们可以直接拿来用。C2000系列的例程都集合在“Control Suite”中,在公众号“iFTrue未来已来”的后台回复“例程”即可获取。
这一节我们将以TMS320F28035为例,讲述如何导入一个工程。
文中所涉及的工程源码可在公众号中回复“CCS教程源码”获取。
2 导入工程
1、 打开菜单“Project -> Import CCS Projects…”
2、 点击选中的“Select search-directory”后面的“Browse”,会弹出“浏览文件夹”对话框
3、 选择你要导入的工程所在的文件夹,并点击“确定”
4、CCS会自动搜索所选路径下的工程,勾选要导入的工程名,然后点击“Finish”完成导入。
5、 导入后可以在“Project Explorer”窗口中可以看到我们的工程(“Project Explorer”窗口未显示的话,可以在菜单“Window -> Show View -> Project Explorer”中打开)。
6、 点击菜单“Project -> Build Project”完成编译,也可以使用快捷菜单栏的按钮完成编译
3 完整工程的结构
工程导入完毕了,让我们来看看一个结构舒服的工程是什么样的。
工程中包含以下几个主要文件夹:
Code : 这是我们自己建的文件夹,里面主要放我们自己写的代码,包含四个子文件夹。Alg放算法类代码,App放模块化的功能性代码,Dat放数据相关代码,Drv放DSP外设配置类代码。Alg、App、Dat、Drv每个文件夹下都有Include和Source两个子文件夹,分别放置对应的头文件与源文件。
Debug : 这是系统自动生成的文件夹,里面有我们编译后产生的文件,包括烧写时使用的.out文件。
Lib : 这个文件夹里放的是TI官方提供的库文件以及常用的外设定义文件
除了文件夹,还有几个重要文件:
.cmd文件:这是定义DSP存储空间的文件,我们最终的代码存放在DSP的什么位置,由它说了算。
Main.c/Main.h : 这是程序入口函数main()所在的源文件。
04 程序烧写与仿真
01 目标配置文件CCXML
在CCS中,后缀为xml的文件用于配置仿真器以及目标芯片等相关信息,暂且称之为目标配置文件。
如果我们的工程中没有xml文件,我们在烧写程序之前需要向工程中添加一个。添加方法为:
1、对着工程中的文件夹(targetConfigs文件夹,没有的话新建一个)点击右键 -> New -> Target Configurations File
2、在弹出的对话框中输入文件名称,这里我们命名为“TMS320F28035xml”
3、双击打开刚才新建的TMS320F28035xml文件,若文件不在targetConfigs文件夹下,注意查看是否在工程根目录下
4、在Connection中选择你的仿真器型号,我的仿真器是“XDS100V3”;在Board or Device中选择你的DSP类型,这里是TMS320F28035。最后点击Save保存。
xml文件只需要新建一次,以后直接在工程中打开即可。
02 连接仿真器
1、将仿真器连接到DSP目标板上,并插到电脑上
2、给目标板上电
3、打开Target Configurations窗口:View -> Target Configurations
4、右键单击Target Configurations窗口中工程目录下的“TMS320F28035xml”文件(名称是你刚才新建xml文件时的名称),并选择“Launch Selected Configuration”
5、这时CCS会自动进入Debug模式
6、点击快捷菜单栏的“Connect Target”按钮。
7、按钮呈现为按下状态,并且调试按钮都点亮,则仿真器连接成功
03 烧写程序(装载程序)
1、在仿真器连接成功后,点击快捷菜单栏的“Load”按钮,装载程序
2、在弹出的“Load Program”对话框中,点击“Browse project”
3、在弹出的对话框中,展开你的工程文件夹,选择“Debug”文件夹下的“xxxx.out”文件,点击“OK”
4、点击“Load Program”对话框的“OK”
5、这时出现擦写进度条,等进度条完成就烧写成功啦!
04 在线仿真
1、程序烧写完成后,点击“Resume”按钮可在线运行程序
2、同时也可以选择单步运行
3、若要添加断点(即让程序运行到某处停下),在对应程序行的左侧列双击,出现小圆点即可。
05 CCS8.0常用菜单
01 CCS编辑界面与调试界面
在CCS的右上角有下面这样的图标,可以用来切换到编辑模式(CCS Edit)和调试模式(CCS Debug),两种模式下其它菜单略有区别:例如:导入工程时,只能在CCS Edit模式下。当然在链接仿真器成功后会自动进入CCS Debug模式
02 编译
这个编译按钮可以对“Project Explorer”中所有处于打开状态的工程进行全部编译,划重点:是所有打开的工程。
如果你只想编译其中一个工程,那么你可以在“Project Explorer”中对想编译的工程点击右键,选择“Buil Project”就可以只编译选中的工程。
03 搜索
搜索功能可以对所有打开的功能文件进行查找。“C/C++ Search”用来搜索程序,任何程序中的变量都可以在这里搜索,搜索结果不包括非有效程序,例如:注释、Map文件等。
要想搜索所有文件,包括注释、Map文件等,可以在“File Search”中进行。
我们以“C/C++ Search”模式搜索“GPIO10”为例,搜索结果会展示在“Search”窗口中,搜索结果会展示搜索词所在的文件,以及文件所在的工程路径。双击某一条搜索结果,将会跳转到相应位置。
04 打开窗口
在“View”菜单中,我们可以选择打开常用的窗口,窗口打开可以拖动窗口放在自己觉得舒适的位置。
05 常用窗口简介
1) Project Explorer:工程浏览窗口,展示所有已经导入CCS的工程。
2) Problems:编译产生的所有警告、错误信息展示在这里。双击警告或者错误信息将跳转到程序对应位置。
3) Console:控制台信息,这里显示编译过程中的所有信息,当然也包括警告和错误信息。编译完成会在这里显示“**** Build Finished ****”
4) Target Configurations:目标配置,用来执行xml文件,该文件用来与仿真器通信,连接仿真器前的必备步骤。
06 在线仿真操作
01 监视变量
当需要查看在线仿真程序中某个变量的值时,我们可以利用Expressions窗口做到。
1、 打开Expressions窗口,View -> Expressions
2、 打开以后是这个样子的
3、 打开本节的例程,连接仿真器,烧写程序,在线运行。并双击main.c打开。文中所涉及的工程源码可在公众号“iFTrue未来已来”中回复“CCS教程源码”获取。
4、 main.c中有一个三角波发生器,我们将它的变量放出来观察。找到main.c第78行,选中变量“u16_wave”,单击右键 -> Add Watch Expression…
5、 在弹出的对话框中点击“OK”
6、变量就会出现在Expressions窗口,我们可以点击“连续更新”按钮,变量值就会随着程序的运行实时改变
02 监视寄存器
除了监视变量,CCS也提供了监视寄存器的功能
1、 打开寄存器监视器Register,View -> Register
2、 在Register窗口中,可以展开需要监视的寄存器,如GPIO的所有寄存器。Register窗口顶部也提供了操作按钮,这里我们同样选中“持续刷新”。
03 断点管理
1、 添加断点:在对应程序行的左侧列双击,出现小圆点即可。
2、 当断点添加的比较多时,CCS也提供了快速管理断点的方法。打开窗口Breakpoints:View -> Breakpoints
3、 在Breakpoints窗口中双击某个断点,可以跳转到对应的程序行。窗口顶部有管理断点的按钮,可对断点进行新建、单个删除、全部删除等操作。
04 查看内存
1、 打开内存查看器:view -> Memory Browser
2、 在Memory Browser窗口上部,可以选中查看不同的存储空间:数据(Data)、程序(Program)、IO、外设(Peripheral),然后在右侧框中输出要查看的地址,例如:0x0080,输完回车即可。顶部同样提供了操作按钮(例如“持续刷新”)。
07 曲线图形显示工具
01 简介
CCS中提供了一个高级曲线图像显示工具,使用它可以观测我们的波形。要使用图形工具,必须处于Debug模式下,也就是说必须连接仿真器在线仿真。
菜单位置位于:Tools -> Graph
如果没有Tools菜单,检查右上角快捷菜单是否处于CCS Debug模式
图形工具包括基于时间轴的图形:Sigle Time 单曲线、Dual Time 双曲线,还有基于频率轴的图形:所有FFT选项。
02 示例程序
我们以三角波发生器程序为例,示例代码可在公众号“iFTrue未来已来”后台回复“CCS教程源码”获取。三角波发生器的核心程序如下:
// 三角波计算
u16_wave++;
if(u16_wave >= 50)
{
u16_wave = 0;
}
为了观测波形,我们必须自定义一个全局变量数组,用来缓存波形数据
unsigned short int u16_Graph[200]; // 波形存储
unsigned short int u16_Cnt; // 计数器
然后将波形数据进行缓存
// 存储波形
u16_Graph[u16_Cnt] = u16_wave;
u16_Cnt++;
if(u16_Cnt >= 200)
{
u16_Cnt = 0;
}
03 波形显示
1、连接仿真器,并且将示例程序烧写进DSP,点击运行(Resume)
2、我们已单曲线为例。打开图形工具,Tools -> Graph -> Sigle Time
3、在弹出的图形属性对话框中,配置数据缓冲区长度Acquisition Buffer Size为“200”(示例代码中数组的长度),配置数据类型Dsp Data Type为“16 bit unsigned integer”(代码中数据的数据类型),配置起始地址Start Address为“u16_Graph”(数组名,代表数组起始地址),点击“OK”
4、出现Sigle Time曲线图形窗口
5、曲线图形窗口顶部工具栏可控制多种功能,例如刷新速率(冻结、连续、目标停止),这里我们选择“连续刷新”,还有缩放等功能。
版权声明:本文标题:CCS入门教程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728835483a1176014.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论