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 ...
随机推荐
- 加密php源代码
<?php function RandAbc($length = "") { //返回随机字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXY ...
- Django下MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL解惑
Django中settings中的四个设置参数的一些故事: MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL 1.MEDIA_ROOT与MEDIA_URL ...
- python 数据结构中被忽视的小技巧
一.一个包含N个元素的字符串.元组.序列.以及任何可迭代对象均可以拆分成N个单独的“变量” 1.字符串的拆分 #字符串 In [10]: s="abdefg" In [11]: o ...
- 使用MAVEN手动创建web项目
问题:如下图,使用maven创建webapp项目时,默认使用maven-archetype-webapp这个archetype,由于这个archetype比较古老,有如下缺点: 1. 默认生成的项目会 ...
- LeetCode:二叉树的前、中、后序遍历
描述: ------------------------------------------------------- 前序遍历: Given a binary tree, return the pr ...
- 20145229实验三实验报告——敏捷开发与XP实践
20145229实验三实验报告--敏捷开发与XP实践 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 ** 实验步骤**### 敏捷开发与XP 软件工程包括下列领域:软件需求 ...
- ubuntu 部署的mysql无法远程链接
允许远程用户登录访问mysql的方法 从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器: # mysql -u root -proot mysql& ...
- 剑指offer之 二叉搜索树的后续遍历序列
题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. public class Solution { ...
- DELPHI-Delphi常用类型及定义单元
DELPHI-Delphi常用类型及定义单元 Type Unit Date SysUtils DeleteFile SysUtils or Windows (different versions) D ...
- Spark持久化策略
spark持久化策略_缓存优化persist.cache都是持久化到内存缓存策略 StorageLevel_useDisk:是否使用磁盘_useMemory:是否使用内存_useOffHeap:不用堆 ...