【FPGA+DSP系列】——(1)CCS创建工程+LED点亮

【FPGA+DSP系列】------CCS创建工程+LED点亮

前言

本项目用到的DSP芯片为TMS320F28335,CCS12.4版本,仿真器V3。初次学习DSP开发,主要学习CCS软件的使用以及复习以前丢到的c语言知识,尤其是指针/结构体等等。

一、创建新工程

准备东西:这个是ti提供的一些库文件,方便后续进行开发使用。

第一步创建工程,需要提前在某个盘中新建一个文件夹,负责保存CCS的项目工程。然后就是NEW CCS PROJECT

第二步:配置相关参数,主要就是芯片 仿真器

这是创建完的基本工程长这个样子。

第三步,在这个工程的下面创建3个文件夹,分别是Library存放库文件, APP存放外设文件,USER存放主函数main

第四步导入需要的文件,把下面提到的文件都要复制到你新工程的Library里去。

第一个是仿真器下载的文件(28335_RAM_lnk),这个文件是不把代码下进flash,掉电就消失,如果要固化程序的话,需要使用另一个F28355这个cmd文件。

第二个常用的文件是数学函数相关的,用第一个一般就够用了。

第三个是把common里面soure里面的所有文件复制过去,后面肯定会报错,到时候再说删哪些文件。!!!

第四个是headers里面的source文件

第五步删除文件,把这个自动生成的cmd文件删除了。

第六步是把这个library文件放到和LED工程一个级别的目录下,然后添加路径。


复制文件夹的路径

添加完后的样子

第七步添加主函数

c 复制代码
/*
 * main.c
 *
 *  Created on: 2025年9月26日
 *      Author: DELL
 */

#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"

void main()
{




}

加入代码编译,看报不报错

把这些报错的.c文件都删了,这些都是刚才放到library文件里面的

把这里面都删了就行了。

二、编写代码

c 复制代码
/*
 * main.c
 *
 *  Created on: 2025年9月26日
 *      Author: DELL
 */

#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"

void main()
{

        InitSysCtrl();
        EALLOW;
        SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK=1;
        GpioCtrlRegs.GPBPUD.bit.GPIO48=0;           //关闭上拉
        GpioCtrlRegs.GPBDIR.bit.GPIO48=1;                      //输出模式
        GpioCtrlRegs.GPBMUX2.bit.GPIO48=0;          //作为普通GPIO模式
        EDIS;

        while(1)
        {
            GpioDataRegs.GPBTOGGLE.bit.GPIO48=1;
                DELAY_US(50*10000);
        }


}

加进去编译没问题。

下载进去就行。

LED引脚看自己的引脚图,然后这个引脚需要对应寄存器,需要看一下手册。

这边下载正常,将代码改为led.h led.c的格式

首先是声明文件

c 复制代码
/*
 * led.h
 *
 *  Created on: 2025年9月26日
 *      Author: DELL
 */

#ifndef APPS_LED_LED_H_
#define APPS_LED_LED_H_

#include "DSP2833x_Device.h" // DSP2833x 头文件
#include "DSP2833x_Examples.h" // DSP2833x 例子相关头文件
#define LED1_BLINK (GpioDataRegs.GPBTOGGLE.bit.GPIO48=1)

void LED_init(void);
void LED_BLINK(void);



#endif /* APPS_LED_LED_H_ */

其次是.c文件

c 复制代码
/*
 * led.c
 *
 *  Created on: 2025年9月26日
 *      Author: DELL
 */
#include "led.h" // DSP2833x 头文件

void LED_init(void)
{
        EALLOW;
        SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK=1;
        GpioCtrlRegs.GPBPUD.bit.GPIO48=0;           //关闭上拉
        GpioCtrlRegs.GPBDIR.bit.GPIO48=1;                      //输出模式
        GpioCtrlRegs.GPBMUX2.bit.GPIO48=0;          //作为普通GPIO模式
        EDIS;
}

void LED_BLINK(void)
{
    LED1_BLINK;
    DELAY_US(50*10000);
}

最后是主函数文件

c 复制代码
/*
 * main.c
 *
 *  Created on: 2025年9月26日
 *      Author: DELL
 */

#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
#include "led.h" // DSP2833x 头文件
void main()
{


    InitSysCtrl();
    LED_init();

    while(1)
    {
        LED_BLINK();
    }


}

总结

ccs不装在c盘也可以,用户名是中文也能解决,不过需要增加新账户,每次还得切换账户,最好的方案就是重装系统,不过我目前还是选择新建账户吧,用户名切记用英文,真的伤呀!

还有就是dsp这边只有寄存器编程么,没有像arm那种封装好的库函数么?

相关推荐
Terasic友晶科技10 小时前
DE25-Nano开发板在Programmer的 Auto Detect 下检测出来的器件和友晶官方提供的工程里器件不一样有没有关系?
fpga开发·auto detect·de25-nano·jtag id
ShiMetaPi15 小时前
GM-3568JHF丨ARM+FPGA异构开发板应用开发教程:04 MIPI屏幕检测案例
arm开发·fpga开发·rk3568
最遥远的瞬间17 小时前
四、呼吸灯实战
fpga开发
FPGA小c鸡17 小时前
FPGA高速收发器GTH完全指南:从零基础到10Gbps高速设计实战
fpga开发
乌恩大侠17 小时前
【AI-RAN 调研】软银株式会社的 “AITRAS” 基于 Arm 架构的 NVIDIA 平台 实现 集中式与分布式 AI-RAN 架构
人工智能·分布式·fpga开发·架构·usrp·mimo
Saniffer_SH2 天前
【高清视频】笔记本电脑出现蓝屏、死机、慢、不稳定是这样连接分析M.2 SSD的
运维·服务器·网络·人工智能·驱动开发·嵌入式硬件·fpga开发
Z22ZHaoGGGG2 天前
Verilog实现对采样信号有效值(RMS)的计算
fpga开发
简简单单做算法2 天前
基于FPGA的图像形态学腐蚀处理Verilog开发与开发板硬件测试
fpga开发·腐蚀·形态学处理·硬件调试
hong_fpgaer2 天前
XILINX ZYNQ FPGA PS端DMA握手流程
fpga开发·vivado
北城笑笑2 天前
FPGA 50 ,Xilinx Vivado 2020 版本安装流程,以及常见问题解析,附中文翻译( Vivado 2020 版本安装教程 )
fpga开发·fpga