CCS V5 使用教程三:程序调试
新建调试工程
输入以下源码:
#include <stdio.h>
#include <c6x.h> volatile short output[]; void main(void)
{
unsigned int counter = ;
const short A = 0x7e66;
short y[]={,0x1209,};
for(;;)
{
y[]=(((A*y[])>>)+((A*y[])>>))-y[];
y[]=y[];
y[]=y[];
output[counter]=y[];
if((counter%)==)
{
counter = ;
}
else
{
counter++;
}
}
}
查看变量、表达式和寄存器
Variables 窗口可以用来查看变量的值:

Expression窗口中点击 “Add new expression”可以在输入变量名称或者表达式名称即可查看相关信息,在Variables窗口右键变量选择“Watch”也可以查看观测信息:

Register窗口允许查看核心上和外围的寄存器信息:

查看汇编窗口
汇编窗口是一个源码和汇编代码混合的一个窗口:
内存查看
可以选择不同的内存查看形式,可以使用预定义的值填充内存,可以保存/加载文件在PC上。所有的变量和函数都可以查看。每个内存位置都有一个上下文敏感的信息框:

断点管理
设置断点的方式很简单,只需要在源码或者是汇编代码区的左边栏双击即可设置。
断点的类型有软件断点和硬件断点。
软件断点可以设置成非条件断点和条件断点两种形式。
软件断点的功能也不仅限于中断程序:

通过Breakpoints窗口可以查看断点的相关属性:

配置断点的属性,可以在断点上右键->Breakpoint Properties,也可以在断点监视器中选择断点右键->Breakpoint Properties。
Action:设置断点行为,保持停止,更新一个或者所有的调试监控器,读写数据到文件,激活或者停用组断点。
Skip Count:断点被击中之前执行的次数。
Group:对于高级控制能够允许组断点。
数据可视化
CCS V5提供数据可视化的高级功能,数组数据可以通过图形的形式进行展示并且具有多种形式。
添加一个图形显示,在菜单栏Tools-> Graph,选择一种形式:
基于时域:单时,双时
基于频域:所有FFT的选项
以本程序为例:
在源码counter = 0;这一行上打一个断点,并且设置断点属性:

这样程序运行到断点的时候,不是发生程序暂停而是更新所有窗口。
在菜单栏:Tools -> Graph -> Single Time,设置属性:

在屏幕右下角就会出现图形形式窗口:

点击:Run->Resume,可以看到图形输出窗口输出了正弦波图像:

CCS V5 使用教程三:程序调试的更多相关文章
- CCS V5 使用教程二:创建工程和配置软件仿真
新建CCS项目 选择File/New/CCS Project: 新建项目对话框 1) Project name: 指项目名称,这里要注意的项目名称不区分大小写. 2) Ou ...
- MIP开发教程(三) 使用MIP-CLI工具调试组件
一 . 在 mip-extensions 仓库中创建新的组件 二 . 预览调试组件 三 . 在 MIP 页中引用自己编写的 MIP 组件 四 . 组件提交到 GitHub 仓库时需要进行校验 站长开发 ...
- electron教程(三): 使用ffi-napi引入C++的dll
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- 【系统篇】从int 3探索Windows应用程序调试原理
探索调试器下断点的原理 在Windows上做开发的程序猿们都知道,x86架构处理器有一条特殊的指令——int 3,也就是机器码0xCC,用于调试所用,当程序执行到int 3的时候会中断到调试器,如果程 ...
- .NET应用程序调试—原理、工具、方法
阅读目录: 1.背景介绍 2.基本原理(Windows调试工具箱..NET调试扩展SOS.DLL.SOSEX.DLL) 2.1.Windows调试工具箱 2.2..NET调试扩展包,SOS.DLL.S ...
- [Android Studio 权威教程]断点调试和高级调试
好了开始写一个简单的调试程序,我们先来一个for循环 ? 1 2 3 4 5 6 7 8 <code class="language-java hljs ">for ( ...
- [安卓][转]Android eclipse中程序调试
一:断点调试 用eclipse开发android程序的时,跟VS一样是可以断点单步调试的.步骤如下.1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoi ...
- Android eclipse中程序调试
一:断点调试 用eclipse开发android程序的时,跟VS一样是可以断点单步调试的.步骤如下.1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoi ...
随机推荐
- UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-3: ordinal not in range(256)
今天使用MySQLdb往MySQL插入中文数据遇到一个异常: UnicodeEncodeError: 'latin-1' codec can't encode characters in positi ...
- python数据分析之:数据聚合与分组运算
在数据库中,我们可以对数据进行分类,聚合运算.例如groupby操作.在pandas中同样也有类似的功能.通过这些聚合,分组操作,我们可以很容易的对数据进行转换,清洗,运算.比如如下图,首先通过不同的 ...
- 初识机器学习之kNN算法
k近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本.然后基于这k个“邻居”的 ...
- model特性
1.scope http://blog.csdn.net/lissdy/article/details/51107883 2.ActiveConcern http://www.tuicool.com/ ...
- 3.06课·········C#语言基础
Main函数: static void Main(string [] args){ }程序代码需要写在Main函数的花括号内. 一.输出:Console.WriteLine("这是我的第一个 ...
- ios 表情编码
感受 :可以做自定义键盘时候用 很方便 还可以在textView里面看到 用户体验很好~ 但是要和服务器管理员协商好,做好解析转码工作,不然网页上是不显示的. ios表情编码 在ios中可以使用可爱 ...
- [原创]java WEB学习笔记16:JSP指令(page,include),JSP标签(forwar,include,param)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- pt-table-checksum检验主从数据不一致
测试环境:主从架构,操作系统liunx 运行pt-table-checksum需要先安装以下依赖包: yum install perl-IO-Socket-SSL perl-DBD-MySQL per ...
- 剑指offer——求1+2+...+n
方法一.通过在类的构造函数中执行加的过程. #include <iostream> using namespace std; class Base { public: Base(){n++ ...
- linux基本使用
(待完善,想到哪就写到哪,目前内容大幅度参考中文man手册) 最重要的命令(man) 在 Linux 下遇到问题,最重要的是要自己寻求帮助, google是个好东西 man 是 Linux 的帮助手册 ...