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 ...
随机推荐
- Android系统移植与调试之------->如何修改Android自带的apk出现一圈圈类似鸡蛋的花纹
最近被一个问题烦恼到了,就是android4.1系统自带的Email.文件管理器.信息等apk都出现同一个问题,就是现实在平板上的时候会出现一圈圈类似鸡蛋的花纹. 我想了两种方法来解决,第一种方法没有 ...
- 17.Django表单验证
Django提供了3中方式来验证表单 官网文档:https://docs.djangoproject.com/en/1.9/ref/validators 1.表单字段验证器 a.引入:from dja ...
- 网络端口的作用及分类(转发:http://blog.csdn.net/dream_1996/article/details/73481201)
一.什么是端口? 在开始讲什么是端口(port)之前,我们先来聊一聊什么是 port 呢?常常在网络上听说『我的主机开了多少的 port ,会不会被入侵呀!?』或者是说『开那个 port 会比较安全? ...
- activiti基础--3-----------------------------流程实例
一.流程实例用到的表: select * from act_ru_execution #正在执行的任务表 select * from act_hi_procinst #流程实例的历史表 select ...
- Javaweb--- EL表达式 JSTL标准标签库
一.EL表达式(expression language): 语法 ${...} jsp中page指令有一个属性叫isELIgnored, 用来标记此页面是否忽略EL表达式, 默认为false 举个例 ...
- python3 str和bytes转换
bytes object b = b"example" str object s = "example" #str to bytes bytes(s, enco ...
- UML建模:学习笔记(1)
UML:学习笔记(1) 事物 结构事物 类: 接口: 协作:(定义元素之间的相互作用) 用例:(在系统外部和系统交互的人) 组件:(描述物理系统的一部分) 节点:(一个节点可以被定义为运行时存在的物理 ...
- Python 自定义模块的打包和发布
写了一个Python模块,要求打包发布,供同事们使用,好吧,查了一下,网上大部分教程没有一个能把话说明白,不过最后还是解决了,特此记录一下, 以免下次遇到同样问题,也帮助其他有缘人,哈哈. 首先看一下 ...
- _CRT_SECURE_NO_WARNINGS
在新版编程器的编译过程中我们常常会遇到一些过时或者不安全的函数 举一个简单的例子: 很多带"_s"后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元 ...
- CHAR,TCHAR,WCHAR 三者的区别与转换
#ifdef UNICODE typedef wchar_t TCHAR; #else typedef unsigned c ...