CCS5.5环境设置

news2024/11/13 16:04:31

CCS5.5环境设置

  • 文件编码格式设置
  • 利用断点导入*.dat文件
    • 先用Python生成*.dat文件
    • DSP代码(sys/bios)
  • 步骤
  • 利用strip6x工具去除**.out文件中的调试信息
  • 硬件跟踪功能
      • 应用
      • 名词解释
      • 使用方法
  • ccs显示图片参数设置

文件编码格式设置

可分别对工作空间、工程、单个文件设置编码格式:

☆工作空间:Windows->Preferences->General->Workspace->Tex file encoding: Other
工程:工程文件名右键->Properties->Resource-> Tex file encoding: Other
单个文件:文件名右键->Properties->Resource-> Tex file encoding: Other

利用断点导入*.dat文件

参考 《TI C66x多核软件开发(MCSDK)技术》 第二章

先用Python生成*.dat文件

保存以下代码为py文件并运行。

import numpy as np

import matplotlib.pyplot as plt

x = np.array (list(range(0,10000,1)))
y = np.sin(x/5)
print(y)
plt.plot(x,y,color='green',label = 'y = sin(x)')
plt.show()

file0 = open ("C:\\Users\\penguin\\Desktop\\sin.dat",'w')
## CCS5软件可识别数据文件头格式,其中后面3个参数可设置为0,后面可以在开发环境中指定
## 1651 - 固定数
## 1    - 数据格式(1:十六进制数、2:十进制整型、3:十进制长整型、4:十进制浮点型)
## 0    - 起始地址
## 0    - 页类型
## 0    - 数据长度
file0.write('1651 1 0 0 0\n')
for  i in range(10000): 
    file0.write(str(hex(round(y[i]*256)+256)))
    file0.write('\n')
file0.close

DSP代码(sys/bios)

/*
 *  ======== main.c ========
 */

#include <xdc/std.h>

#include <xdc/runtime/Error.h>
#include <xdc/runtime/System.h>

#include <ti/sysbios/BIOS.h>

#include <ti/sysbios/knl/Task.h>

#include <ti/sysbios/knl/Clock.h>

#define BUFSIZE  100



unsigned int task_run_counnect = 0;



unsigned int in_buf[BUFSIZE];
unsigned int out_buf[BUFSIZE];
unsigned int gain = 1;

static int processing(unsigned int * input , unsigned int * output);




/*
 *  ======== taskFxn ========
 */
Void taskFxn(UArg arg0)
{
    System_printf("enter taskFxn()\n");
	unsigned int *input = &in_buf[0];
	unsigned int *output = &out_buf[0];
	while(1)
	{
		processing(input,output);
	}
  	System_printf("exit taskFxn()\n");
    BIOS_exit(0);
}


Void taskFxn1(UArg arg0)
{
    task_run_counnect++;
    //Task_sleep(10);
    System_printf("task taskFxn1 run counnect is %d\n",task_run_counnect);

}

Void taskFxn2(UArg arg0)
{
    task_run_counnect++;
    //Task_sleep(10);
    System_printf("task taskFxn2 run counnect is %d\n",task_run_counnect);

}

Void taskFxn3(UArg arg0)
{
    task_run_counnect++;
    //Task_sleep(10);
    System_printf("task taskFxn3 run counnect is %d\n",task_run_counnect);

}

/*
 *  ======== main ========
 */
Int main()
{ 
    Task_Handle task;
    Error_Block eb;

    System_printf("enter main()\n");
/*
    Error_init(&eb);
    task = Task_create(taskFxn, NULL, &eb);
    if (task == NULL) {
        System_printf("Task_create() failed!\n");
        BIOS_exit(0);
    }
*/
     Clock_Handle clk2;
     Clock_Params clkParams;

     /* Create a periodic Clock Instance with period = 5 system time units */
     Clock_Params_init(&clkParams);


     clkParams.period = 30;
     clkParams.startFlag = TRUE;
     Clock_create(taskFxn1, 1, &clkParams, NULL);

     clkParams.period = 30;
     clkParams.startFlag = TRUE;
     Clock_create(taskFxn2, 10, &clkParams, NULL);

     clkParams.period = 30;
     clkParams.startFlag = TRUE;
     Clock_create(taskFxn3, 20, &clkParams, NULL);

     clkParams.period = 0;
     clkParams.startFlag = FALSE;
     clk2 = Clock_create(taskFxn, 100, &clkParams, NULL);

     Clock_start(clk2);


    BIOS_start();    /* does not return */
    return(0);
}


static int processing(unsigned int * input , unsigned int * output)
{
	unsigned int size;
	size = BUFSIZE;
	while(size--){
		*output++ = *input++ * gain;
		}
	return 1;
}


步骤

创建、编译并调试CCS工程,在processing(input,output) 行打断点,点击Debug进入调试界面。
在这里插入图片描述
打开断电管理器,Windows->Show View->Breakpoint,右键断点属性,设置为Read Data from File,并配置文件路径、是否循环读取、起始地址、长度等参数。
在这里插入图片描述
打开绘图界面 Tool->Graph->Single Time,配置绘图参数,运行程序。
在这里插入图片描述
效果:
在这里插入图片描述

利用strip6x工具去除**.out文件中的调试信息

工具路径:
“C:\ti\ccsv5\tools\compiler\c6000_7.4.4\bin\strip6x.exe”
使用方法:

  • 在CMD命令行打开到**.out文件路径,输入指令:
C:\ti\ccsv5\tools\compiler\c6000_7.4.4\bin\strip6x.exe tp_gpio.out -o tp_gpio_lit.out

第一参数为输入文件名,-o 后面是输出文件名,该方法可有效降低*.out文件大小。
在这里插入图片描述

硬件跟踪功能

应用

可以分析程序算法执行时间等信息。

名词解释

ETB是一个片上跟踪缓存,每个核大小为4Kb,用于记录程序运行信息。
Pro Trace是通过仿真器抓取方式,根据不同型号支持的缓冲大小和速度不同。

使用方法

在这里插入图片描述

ccs显示图片参数设置

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql下载安装

1.Mysql官网下载 MySQLhttps://www.mysql.com/ 有商业版和社区版&#xff0c;商业版使用收费&#xff0c;有试用期&#xff0c;社区版免费&#xff0c;选择社区版即可&#xff1a; 点击MySQL社区服务器&#xff1a; 选择要安装的版本&#xff1a; 进行下载即可&#xff1a; 2…

Docker设置http proxy代理

需求&#xff1a; 由于公司服务器无法正常访问公网&#xff0c;想要下载一些外部依赖包需要配置公司的内部代理。 Docker构建镜像或拉取镜像时需要通过代理访问外网&#xff0c;可以按照以下步骤设置HTTP代理 目录 创建目录 创建并编辑配置文件 重新加载Docker服务配置 重启…

Devops流程探究

1、DevOps面向对象 软件开发是由开发团队和运维团队共同协同配合才能完成一个软件的开发。 2、开发团队和运维团队 开发团队主要负责软件的开发和迭代更新&#xff0c;运维团队则是负责测试和部署上线。 3、解决问题 但是&#xff0c;这样会存在一个问题&#xff0c;只有当…

第五章 数据链路层与局域网

数据链路层服务 组帧&#xff1b;将要传输的数据封装成帧链路接入&#xff1b;可分为点对点链路&#xff08;独占&#xff09;和广播链路&#xff08;共享&#xff09;可靠交付&#xff1b;即在相邻节点间经数据链路实现数据报的可靠传输差错控制&#xff1b;检错纠错 差错控…

前端基础复习

1.什么叫HTML5&#xff1f;和原本的所说的HTML有什么区别&#xff1f; 本质上html和html5是一样的的。区别有&#xff1a; 1. 在文档类型声明上 HTML4.0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loos…

密码加密之bcrypt

在这里是用的bcrypt加密算法&#xff0c;这种现在比较流行 而且无法进行解密 引入依赖 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</ar…

JetBrains AppCode 2023.1 (macOS x64、aarch64) - 适用于 iOS/macOS 开发的智能 IDE

Xcode 14.3 compatibility, Swift refactorings and intentions, the IDE’s UI, and Kotlin Multiplatform Mobile. 请访问原文链接&#xff1a;https://sysin.org/blog/jb-appcode-2023/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a…

技术分享 | OMS 初识

作者&#xff1a;高鹏 DBA&#xff0c;负责项目日常问题排查&#xff0c;广告位长期出租 。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 本文主要贡献者&#xff1a;进行OMS源码分析的…

GPT-4,大增长时代的序幕

虽然我们早在 2017 年就预测了超大模型的到来&#xff0c;因此才搞了分布式深度学习框架 OneFlow&#xff08;github.com/Oneflow-Inc/oneflow/&#xff09;&#xff0c;且 2020 年的 GPT-3 也掀起了大模型热潮&#xff08;OneFlow—— 让每一位算法工程师都有能力训练 GPT&…

BGP相关实验

实验要求及其拓扑图 划分好IP的拓扑图 实验分析 1,AS1存在两个环回&#xff0c;一个地址为192.168.1.0/24该地址不能在任何协议中宣告&#xff0c;AS3中存在两个环回&#xff0c;一个地址为192.168.2.0/24该地址不能在任何协议中宣告&#xff0c;最终要求这两个环回可以互相…

30天学会《Streamlit》(4)

30学会《Streamlit》是一项编码挑战&#xff0c;旨在帮助您开始构建Streamlit应用程序。特别是&#xff0c;您将能够&#xff1a; 为构建Streamlit应用程序设置编码环境 构建您的第一个Streamlit应用程序 了解用于Streamlit应用程序的所有很棒的输入/输出小部件 第4天 - st…

【NLP】自然语言处理_NLP入门——分词和词性标注

【NLP】自然语言处理_NLP入门——分词和词性标注 文章目录 【NLP】自然语言处理_NLP入门——分词和词性标注1. 介绍2. 概念和工具2.1 分词2.2 词性标注2.3 NLTK2.4 Jieba2.5 LAC 3. 代码实现举例3.1 分词3.1.1 使用nltk进行分词3.1.2 使用jieba进行分词3.1.3 使用LAC进行分词 3…

定义全局变量property与getprop

authordaisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主 adb调试 adb shell getprop .adb logcat 报错 init: sys_prop: permission denied uid:1006 name:ro.camera.gc02m1 在linux驱动中查找 find ./ -name *.c | xargs grep -n "property_set" find ./ -n…

《2023金融科技·校园招聘白皮书》新鲜出炉|牛客独家

数智创新时代&#xff0c;科技人才为先。 眼下&#xff0c;在建设“数字中国”的时代背景下&#xff0c;金融行业全面数智化转型已箭在弦上。政策端&#xff0c;金融行业为中共中央、国务院印发《数字中国建设整体布局规划》的7大重点行业之一。 资本端&#xff0c;仅2022年三…

【C++ 四】函数、指针

函数、指针 文章目录 函数、指针前言1 函数1.1 概述1.2 函数定义1.3 函数调用1.4 值传递1.5 函数常见样式1.6 函数声明1.7 函数分文件编写 2 指针2.1 指针基本概念2.2 指针变量定义和使用2.3 指针所占内存空间2.4 空指针和野指针2.5 const 修饰指针2.6 指针和数组2.7 指针和函数…

Cross compiling Windows binaries from Linux

IntroductionWhy? SpeedCostContainers k8sRejected Strategies Using x86_64-pc-windows-gnuUsing wine to run the MSVC toolchainHow? Prerequisites1. Setup toolchain(s)2. Acquire Rust std lib3. Acquire CRT and Windows 10 SDK4. Override cc defaults5. ProfitBon…

机器学习 探索性数据分析

文章目录1. 数据总览1.1 查看数据的维度1.2 查看列的数据类型1.3 查看索引1.4 获取数据值1.5 数据集相关信息概览1.6 查看数据的统计信息1.7 查看前3行数据2. 缺失值查看与处理2.1 缺失值查看2.2 缺失值处理3. 异常值检测与处理3.1 异常值检测3.2 异常值处理4. 特征分析4.1 查看…

计算机网络考试复习——第4章 4.6

理想的路由算法&#xff1a;几个特点 1.算法必须是正确和完善的 2.算法在计算上应该简单 3.算法能适应通信量和网络拓扑的变化具有自适应性也称为稳健性 4.算法应该具有稳定性 5。算法应该是公平的 6.算法应该是最佳的 关于“最佳路由”——不存在一种绝对的最佳路由算法…

第二章 法的内容与形式

目录 第一节 法的内容与形式的概念 一、法的内容与形式的含义 二、法的内容和形式的关系 第二节 法律权利与法律义务 一、权利和义务的概念 二、权利和义务的分类 三、权利与义务的联系 第三节 法的成文形式与不成文形式 一、历史上各种法的表现形式 二、成文法与不成文…

defaultdict 默认值

文章目录 前言语法setdefault()和defaultdict()的区别setdefault()defaultdict() 前言 在字典中查找某一个值的时候&#xff0c;若key不存在就会返回一个keyerror错误而不是一个默认值&#xff0c;如果想要返回一个默认值可以使用defaultdict函数。 defaultdict是python内建dic…