DSP工程模板创建(CCS6.1.3)

本文介绍了如何基于DSP28335开发板创建工程模板,包括下载基础文件、理解文件结构、创建工程、添加必要文件、解决编译问题以及进行调试。通过示例代码展示了如何实现LED灯闪烁,同时提供了修改CCS编译器代码字体的方法。
摘要由CSDN通过智能技术生成

1.获取工程模板基础文件(DSP28335开发板)

工程模板文件下载地址:

链接:https://pan.baidu.com/s/1xpuetz5HpwmTSM4lRzuHag 
提取码:4djw

①:DSP2833x_common文件夹:存放了DSP2833x开发所需的外设、内核、DSP运算库、CMD等文件。

②:DSP2833x_headers文件夹:存放了DSP2833x开发所需的外设头文件、带和不带BIOS CMD等文件。(nonBIOS.cmd为不带系统)

2.创建工程模板

 

 

 

此处的28335_RAM_lnk.cmd是自动生成的,此处删除,后续会重新添加进新的文件夹中,让整个工程的结构框架更清晰。 

一个完整的基础工程有哪些文件所构成呢?

首先需要仿真调试或者flash烧写所需的.cmd文件和DSP的BIOS或nonBIOS .cmd文件

其次需要我们使用的芯片的.ccxml目标配置文件

③芯片内核及外设.c源文件,比如DSP2833x_Gpio.c、DSP2833x_PieCtrl.c等。

④芯片内核及外设.h头文件,比如DSP2833x_Gpio.h、DSP2833x_PieCtrl.h等。

⑤DSP .lib库文件,常用的如IQmath.lib等

 

在新建工程的目录下建立三个文件夹,用来分别放置不同的文件,新建完成后,CCS会自动加入,不需要手动添加。 

从模板工程文件夹中将一下这些必须的文件添加到当前的文件夹下

 

 

建立.c文件(可以在文件目录下右键点击新建,也可已在CCS编译器中新建,建议在CCS中新建):

 

 

 以下以DSP28335学习开发板提供的Example文件为例演示

main.c文件内需要编写的程序如下:
#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File

void main()
{

}

点击编译

出现报错,此时提示没有找到相应的头文件,解决方式如下:

 

 

 

添加一段例程代码:

main.c文件

/*
 * main.c
 *
 *  Created on: 2018-3-21
 *  Author: Administrator
 */


#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File

#include "leds.h"
/*******************************************************************************
* 函 数 名         : delay
* 函数功能		   : 延时函数,通过循环占用CPU,达到延时功能
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void delay(void)
{
    Uint16 		i;
	Uint32      j;
	for(i=0;i<32;i++)
		for (j = 0; j < 100000; j++);
}

/*******************************************************************************
* 函 数 名         : main
* 函数功能		   : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void main()
{
	InitSysCtrl();

		LED_Init();
	    int  p=0;
		while(1)
		{
			p++;
			if((p%2)==0)
			 {
				LED2_TOGGLE;
			 }
			delay();
		}

}

 led.c文件

/*
 * led.c
 *
 *  Created on: 2018-1-20
 *      Author: Administrator
 */
#include "leds.h"

/*******************************************************************************
* 函 数 名         : LED_Init
* 函数功能		   : LED初始化函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void LED_Init(void)
{
	EALLOW;
	SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;// 开启GPIO时钟

	//LED1端口配置
	GpioCtrlRegs.GPCMUX1.bit.GPIO68=0;//设置为通用GPIO功能
	GpioCtrlRegs.GPCDIR.bit.GPIO68=1;//设置GPIO方向为输出
	GpioCtrlRegs.GPCPUD.bit.GPIO68=0;//使能GPIO上拉电阻

	//LED2端口配置
	GpioCtrlRegs.GPCMUX1.bit.GPIO67=0;
	GpioCtrlRegs.GPCDIR.bit.GPIO67=1;
	GpioCtrlRegs.GPCPUD.bit.GPIO67=0;

	//LED3端口配置
	GpioCtrlRegs.GPCMUX1.bit.GPIO66=0;
	GpioCtrlRegs.GPCDIR.bit.GPIO66=1;
	GpioCtrlRegs.GPCPUD.bit.GPIO66=0;

	//LED4端口配置
	GpioCtrlRegs.GPCMUX1.bit.GPIO65=0;
	GpioCtrlRegs.GPCDIR.bit.GPIO65=1;
	GpioCtrlRegs.GPCPUD.bit.GPIO65=0;

	//LED5端口配置
	GpioCtrlRegs.GPCMUX1.bit.GPIO64=0;
	GpioCtrlRegs.GPCDIR.bit.GPIO64=1;
	GpioCtrlRegs.GPCPUD.bit.GPIO64=0;

	//LED6端口配置
	GpioCtrlRegs.GPAMUX1.bit.GPIO10=0;
	GpioCtrlRegs.GPADIR.bit.GPIO10=1;
	GpioCtrlRegs.GPAPUD.bit.GPIO10=0;

	//LED7端口配置
	GpioCtrlRegs.GPAMUX1.bit.GPIO11=0;
	GpioCtrlRegs.GPADIR.bit.GPIO11=1;
	GpioCtrlRegs.GPAPUD.bit.GPIO11=0;



	GpioDataRegs.GPCSET.bit.GPIO68=1;
	GpioDataRegs.GPCSET.bit.GPIO67=1;
	GpioDataRegs.GPCSET.bit.GPIO66=1;
	GpioDataRegs.GPCSET.bit.GPIO65=1;
	GpioDataRegs.GPCSET.bit.GPIO64=1;
	GpioDataRegs.GPASET.bit.GPIO10=1;
	GpioDataRegs.GPASET.bit.GPIO11=1;

	EDIS;
}

led.h

/*
 * led.h
 *
 *  Created on: 2018-1-20
 *      Author: Administrator
 */

#ifndef _LEDS_H_
#define _LEDS_H_

#include "DSP2833x_Device.h"     // DSP2833x 头文件
#include "DSP2833x_Examples.h"   // DSP2833x 例子相关头文件


#define LED1_OFF		(GpioDataRegs.GPCSET.bit.GPIO68=1)
#define LED1_ON			(GpioDataRegs.GPCCLEAR.bit.GPIO68=1)
#define LED1_TOGGLE		(GpioDataRegs.GPCTOGGLE.bit.GPIO68=1)

#define LED2_OFF		(GpioDataRegs.GPCSET.bit.GPIO67=1)
#define LED2_ON			(GpioDataRegs.GPCCLEAR.bit.GPIO67=1)
#define LED2_TOGGLE		(GpioDataRegs.GPCTOGGLE.bit.GPIO67=1)

#define LED3_OFF		(GpioDataRegs.GPCSET.bit.GPIO66=1)
#define LED3_ON			(GpioDataRegs.GPCCLEAR.bit.GPIO66=1)
#define LED3_TOGGLE		(GpioDataRegs.GPCTOGGLE.bit.GPIO66=1)

#define LED4_OFF		(GpioDataRegs.GPCSET.bit.GPIO65=1)
#define LED4_ON			(GpioDataRegs.GPCCLEAR.bit.GPIO65=1)
#define LED4_TOGGLE		(GpioDataRegs.GPCTOGGLE.bit.GPIO65=1)

#define LED5_OFF		(GpioDataRegs.GPCSET.bit.GPIO64=1)
#define LED5_ON			(GpioDataRegs.GPCCLEAR.bit.GPIO64=1)
#define LED5_TOGGLE		(GpioDataRegs.GPCTOGGLE.bit.GPIO64=1)

#define LED6_OFF		(GpioDataRegs.GPASET.bit.GPIO10=1)
#define LED6_ON			(GpioDataRegs.GPACLEAR.bit.GPIO10=1)
#define LED6_TOGGLE		(GpioDataRegs.GPATOGGLE.bit.GPIO10=1)

#define LED7_OFF		(GpioDataRegs.GPASET.bit.GPIO11=1)
#define LED7_ON			(GpioDataRegs.GPACLEAR.bit.GPIO11=1)
#define LED7_TOGGLE		(GpioDataRegs.GPATOGGLE.bit.GPIO11=1)


void LED_Init(void);


#endif /* LED_H_ */

此时编译会提示led.h文件找不到路径,需要按照上一步的操作增加led.h文件夹的路径

编译成功后,进入调试模式:

 此时开发板会出现led等交替闪烁的现象,表示模板新建成功且运行正确。

CCS编译器中如何修改Code区代码字体?

按住Ctrl键后右击鼠标,弹出如下对话框

 

这里可以选择修改Code区域的字体,也可以修改Build Console的字体。

 

 此处可以任意修改自己想要展示的字体样式。

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值