11.TMS320C5509V+Win10+CCS8开发环境搭建

news2025/1/19 3:22:59

一、简介

众所周知,相较于TMS320F28335,TMS320C5509V属于较老的平台,在新版本的CCS版本上支持一直是一个问题。

最基本的问题便是,无法新建基础工程。各开发版厂商提供的例程无法在CCS8上使用,只支持CCS3.3环境,但是由于目前Win7、Win10等系统均不再支持CCS3.3,所以只能折腾虚拟机来实现TMS320C5509V的使用。

本文在此基础上,实现相关功能在CCS8上的移植,完成Win10对TMS320C5509V的支持,实现LED灯的控制。使用的仿真器是XDS100V3,实测XDS100V1是不支持的。

两块TMS320C5509V板子

  • 永腾电子开发板
    在这里插入图片描述
  • 精能冠电子核心板
    在这里插入图片描述

二、CSL库简介

5509和C2000系列相比,使用的CSL(Chip Support Library)库进行使用的,所以移植主要也是完成此库的移植,由于CCS8上不再自带此库,所以需要从CCS3.3上将其复制过来(CCS3.3会自动包含此库)。

由于以前并没有使用过CSL库,对库中的相关函数也并不清楚,下载了一个《TMS320C55x Chip Support Library API Reference Guide》,里面有相关介绍,但是很多东西没有实际操作例程,光看,非常空洞,也看不懂,就暂时跳过,先实现LED闪烁,后面再考虑是否深入了解吧。简单看了下,很难用,不如直接使用C2000系列。

三、移植

3.1 安装C5500编译器

由于安装CCS时没有C5500编译器可选,所以需要手动安装,在菜单栏Help选择CCS App Center。

在这里插入图片描述
由于我已经安装了编译器,如果没有安装C5500 Compiler会有Select可选框,选中后点击左上角的Install Software,等待完成安装即可。

在这里插入图片描述

3.2 新建工程

在菜单栏Project选择New CCS Project,弹出的窗口中,Target选择TMS320C5509A,仿真器选择XDS100V3,输入Project Name后点击Finish即可完成工程的新建。
在这里插入图片描述
这时候点击编译程序,是可以正常编译通过的。
在这里插入图片描述

编译结果:
在这里插入图片描述
简单写一个计数的程序,看看程序能不能下载并运行。

unsigned int num=0;

int main(void)
{
    while(1)
    {
        num++;
    }
	return 0;
}

在num++所在行前双击,添加一个断点,点击烧录程序,并运行。

在Expressions中添加num变量用于监测,每次点击运行,在断点处停下,可以查看到num每次加1,说明程序下载正常。
在这里插入图片描述

目前这个工程,可以用来实现一些算法的仿真,但是没办法对外设进行控制。

3.3 添加CSL库

  1. 将csl库复制到工程目录,本例为D:\CCS Project\C5509\DSP(工作区间为D:\CCS Project\C5509)。

  2. 将csl/lib下除csl5509x.lib以外的文件Exclude(选中文件,右键Exclude from Build),也可以直接将其他文件删掉。

  3. 添加csl/include头文件路径,由于 P R O J E C T R O O T 代表的路径是工程目录,第一步是将 c s l 库复制到工程目录的,所以直接 c s l / i n c l u d e 路径为: {PROJECT_ROOT}代表的路径是工程目录,第一步是将csl库复制到工程目录的,所以直接csl/include路径为: PROJECTROOT代表的路径是工程目录,第一步是将csl库复制到工程目录的,所以直接csl/include路径为:{PROJECT_ROOT}/csl/include,将其添加到Include Options中。
    在这里插入图片描述

  4. 添加Predefined Symbols。由于CSL需要指定芯片类型,否则编译会有相关报错。Predefined Symbols添加CHIP_5509。
    在这里插入图片描述

  5. 添加main.c。参考开发板提供的GPIO例程,在main.c中添加如下代码:

    #include <csl.h>
    #include <csl_pll.h>
    #include <csl_chip.h>
    #include <csl_gpio.h>
    
    void delay();
    /*锁相环的设置*/
    PLL_Config  myConfig      = {
      0,    //IAI: the PLL locks using the same process that was underway
                    //before the idle mode was entered
      1,    //IOB: If the PLL indicates a break in the phase lock,
                    //it switches to its bypass mode and restarts the PLL phase-locking
                    //sequence
      24,    //PLL multiply value; multiply 24 times
      1             //Divide by 2 PLL divide value; it can be either PLL divide value
                    //(when PLL is enabled), or Bypass-mode divide value
                    //(PLL in bypass mode, if PLL multiply value is set to 1)
    };
    
    main()
    {
        /*初始化CSL库*/
        CSL_init();
    
        /*设置系统的运行速度为144MHz*/
        PLL_config(&myConfig);
    
        /*确定方向为输出*/
        GPIO_RSET(IODIR, 0xFF);
        while(1)
        {
    
            GPIO_RSET(IODATA, 0x40);
            delay();
    
            GPIO_RSET(IODATA, 0x00);
            delay();
        }
    }
    void delay()
    {
        Uint32 j = 0,k = 0;
        for(j = 0;j<0x30;j++)
        {
            for(k= 0;k<0xffff;k++)
            {}
        }
    }
    /******************************************************************************\
    * End of gpio.c
    \******************************************************************************/
    

    由于本次实验使用的是精能冠电子核心板的核心板,核心板上是将LED接到GPIO6的。

    3.4 编译运行

    运行后LED,闪烁,本次移植成功。
    在这里插入图片描述

四、后记

由于暂时对CSL其他库还不了解,不清楚应该怎么用起来,暂时没有移植其他例程的计划。但是在此文基础上,参考相关例程应该是可以很快完成相关移植的。

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

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

相关文章

chatgpt赋能python:Python分词库的介绍

Python 分词库的介绍 Python 分词库是一个用于将一段自然语言文本分解为单词序列的工具。这对于自然语言处理和文本分析来说是一个重要的工具。Python 分词库可以将大量的文本数据转化成机器可读的、易于处理的数据。在 SEO 优化方面&#xff0c;Python 分词库也起到了关键的作…

华为云安装与使用

华为云安装与使用 文章目录 华为云安装与使用下载地址修改 /etc/hosts设置 AK/SK/Endpoint查看桶名查看桶内文件通过 ./obsutil config -interactive 方式设置配置文件问题 obsutil 命令行快速使用操作步骤操作桶上传文件约束与限制参数说明更多上传示例 删除下载对象 Referenc…

数据库基础——2.MySQL的卸载安装及相关环境的配置

这篇文章我们来说一下MySQL的下载、安装、相关环境配置、可能遇见的问题及其解决方案、卸载等操作。 目录 1.查看已安装的 1.1 命令提示窗口下查看 1.2 文件目录下查看 2.Mysql的卸载 2.1卸载mysql 2.2 清理其他文件 3.MySQL的下载 3.1 介绍 3.2 软件下载 3.3 软件安…

python求解一阶线性偏微分方程通解举例

python求解一阶线性偏微分方程的通解举例 Python求解偏微分方程也是其一个应用方面&#xff0c;下面举例说明。 一、问题&#xff1a; 求一阶线性偏微分方程 x ∂ f ( x , y ) ∂ x − y ∂ f ( x , y ) ∂ y y 2 f ( x , y ) y 2 x\frac{{\partial f(x,y)}}{{\partial x}…

海康线扫相机平场校正/阴影校正教程

机器视觉海康visionmaster-字符快速识别,字符缺陷检测 为什么要对线阵相机进行平场矫正(PRNUC) 线阵相机需要平场矫正(PRNUC)主要是因为获取得图像有异常,如图像边缘亮度与中心亮度不一致情况等, 对于现场使用相机获取图像数据有较大影响,故而需要对线阵相机进行平场矫…

Linux网络服务:PXE高效批量网络装机

目录 一、理论 1.PXE批量网络装机概述 2.搭建 PXE 远程安装服务器 3.实现Kickstart无人值守安装 二、实验 1.搭建PXE远程安装服务器 2.安装Kickstart无人值守安装 3.安装图形化界面 三、问题 1.please complete all spokes before continuing 提示 一、理论 1.PXE批…

【Python】列表和字典

知识目录 一、写在前面✨二、列表应用三、字典应用四、总结撒花&#x1f60a; 一、写在前面✨ 大家好&#xff01;我是初心&#xff0c;希望我们一路走来能坚守初心&#xff01; 今天跟大家分享的文章是 Python函数式编程第二弹&#xff0c;再次以两个简单的例子带大家更好的…

Hbase高可用集群的搭建

高可用基于zookeeper zookeeper安装教程&#xff1a;集群上Zookeeper服务的搭建_EEEurekaaa&#xff01;的博客-CSDN博客 1.下载安装包 推荐去国内源进行安装 Index of /apache/hbase 下载版本时&#xff0c;注意hbase与Hadoop的版本对应关系 2.上传服务器并解压 4.配置环…

【ISO14229_UDS刷写】-2-$35诊断服务RequestUpload理论部分

总目录&#xff1a;&#xff08;单击下方链接皆可跳转至专栏总目录&#xff09; 《UDS/OBD诊断需求编辑工具》总目录https://blog.csdn.net/qfmzhu/article/details/123697014 目录 1 $0x35 RequestUpload诊断服务描述 2 0x35服务请求消息 2.1 0x35服务请求消息定义 2.2 …

2022中国大学生程序设计竞赛(CCPC)高职专场

一&#xff0c;期望 题意&#xff1a; 初始时你有1−n这n个正整数和一个空的序列&#xff0c;你准备玩一个往序列中加数字的无聊游戏。游戏进行n轮,在游戏的每一轮中你要向序列尾部加入一个还未被加入的数&#xff0c;最终的序列将会是一个长度为n的排列。在某一轮游戏开始前…

五、Docker仓库之https的registry搭建(二)

本节我们分享更多的实用的仓库搭建使用方式。包括支持https的registry、Harbor、nexus。 支持HTTPS的registry 准备站点证书&#xff08;测试使用&#xff0c;用一个自己的测试域名&#xff0c;配置本地hosts&#xff09; 如果你拥有一个公网域名&#xff0c;那很好&#xff…

ESP-01模块刷固件

ESP-01模块刷固件 0.前言一、准备二、烧写1.接线2.软件设置3.检验 0.前言 最近需要用esp-01模块作为wifi模块上云&#xff0c;但由于出厂自带固件太过老旧&#xff0c;经常会出现奇奇怪怪的警告&#xff0c;所以记录下如何给ESP-01刷写较新的固件。 一、准备 需要准备三个东西…

Python之并发编程一背景知识

一、开篇介绍 顾名思义&#xff0c;进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统&#xff0c;是操作系统最核心的概念&#xff0c;也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展…

大型软件外包开发管理工具

大型软件项目涉及人员多&#xff0c;软件代码量大&#xff0c;业务复杂&#xff0c;因此需要借助软件工程的管理工具进行管理&#xff0c;否则容易隐入混乱。今天和大家分享这些工具&#xff0c;这些工具比较实用&#xff0c;在实际工作中使用广泛&#xff0c;希望对大家有所帮…

Linux常规基础配置

通过VMware成功安装RHEL7服务器后&#xff0c;为了能够正常使用&#xff0c;需要对其进行常规的一些基础配置&#xff0c;主要有&#xff1a;关闭防火墙与selinux&#xff0c;设置主机名&#xff0c;配置虚拟机IP地址使其能够与外网ping通&#xff0c;配置IP地址与主机名映射&a…

从小白到大神之路之学习运维第29天

第二阶段基础 时 间&#xff1a;2023年5月25日 参加人&#xff1a;全班人员 内 容&#xff1a; Apache服务 目录 一、基本信息 二、安装方法 三、配置方法 四、虚拟主机头 1&#xff1a;基于不同的IP地址 2&#xff1a;基于不同的端口 3&#xff1a;基于不同的域…

SQL 教程(2)

SQL 函数 SQL 拥有很多可用于计数和计算的内建函数。 SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值&#xff0c;返回一个单一的值。 有用的 Aggregate 函数&#xff1a; AVG() - 返回平均值COUNT() - 返回行数FIRST() - 返回第一个记录的值LAST() - 返回最后…

C++回调函数理解

C回调函数理解 0.引言1.回调函数的实现方式2.普通函数以函数指针的形式进行实现3.类成员函数以静态函数进行实现4.类成员函数以非静态函数进行实现5.std::funtion和std::bind的使用6.c回调的实现7.应用实例 0.引言 看了一些介绍感觉太官方了&#xff0c;我的简单理解就是从模式…

3D点云深度学习处理的基本概念

权重矩阵更新学习方法概述 参数初始化&#xff1a; 需要对权重矩阵初始化参数&#xff08;通常使用随机初始化方法&#xff0c;如正态分布或者均匀分布生成随机数&#xff09; 前向传播&#xff1a; 前向传播中&#xff0c;模型计算权重矩阵和输入数据的结果&#xff0c;得…

第1关:JDBC程序设计

第1关&#xff1a;JDBC程序设计 任务描述相关知识JDBC程序设计JDBC主要功能JDBC主要接口和函数JDBC应用程序开发实例编程要求代码参考 任务描述 本关任务&#xff1a;使用 JDBC 往表中插入数据。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 1.JDBC 主要功…