【TIC6657 DSP学习笔记】01 工程创建与代码编写——以点亮LED为例

1 新工程的创建

点击File–>New–>CCS Project,进入以下窗口:
【TIC6657 DSP学习笔记】01 工程创建与代码编写——以点亮LED为例_第1张图片
【TIC6657 DSP学习笔记】01 工程创建与代码编写——以点亮LED为例_第2张图片

2 代码编写

CCS工程中必要的文件有两种:

  1. c源文件:程序代码本体;
  2. .cmd文件:用于指导内存的分配。

2.1 main.c源文件

#define HWREG(x) *(volatile unsigned int *)(x)      //volatile的作用:每次都从指定的地址读取寄存器数据,读寄存器时必加,如果不加,连续两条读寄存器命令,编译器会优化掉其中一条

#define KICK0 0x02620038     //KICK保护寄存器0地址
#define KICK1 0x0262003C     //KICK保护寄存器1地址

#define PINMUX 0x02620580    //GPIO引脚复用控制寄存器地址

#define GPIO_REG_BASE 0x02320000     //GPIO控制寄存器基址
#define GPIO_DIR 0x10                //GPIO方向控制寄存器偏移地址
#define GPIO_OUTDATA 0x14            //GPIO数据寄存器偏移地址

int main(void)
{
	/* 1. 解锁KICK机制:管脚复用寄存器受KICK机制保护,因此配置复用前要解锁KICK */
	HWREG(KICK0) = 0x83E70B13;
	HWREG(KICK1) = 0x95A4F1E0;

	/* 2. 配置管脚复用寄存器为GPIO功能 */
	HWREG(PINMUX) |= (1 << 27) | (1 << 26) | (1 << 23) | (1 << 22) | (1 << 19) ; //将管脚复用寄存器第19,22,23,26,27位置1

	/* 3. 配置GPIO方向为输出 */
	HWREG(GPIO_REG_BASE + GPIO_DIR) = ~((1 << 27) | (1 << 26) | (1 << 23) | (1 << 22) | (1 << 19));//将GPIO方向控制寄存器第19,22,23,26,27位置0

	/* 4. 配置GPIO相应管脚输出高电平,控制LED亮 */
	HWREG(GPIO_REG_BASE + GPIO_OUTDATA) = (1 << 27) | (1 << 26) | (1 << 23) | (1 << 22) | (1 << 19);

	return 0;
}

2.2 .cmd文件

右击工程–>New–>File,进入文件创建窗口
【TIC6657 DSP学习笔记】01 工程创建与代码编写——以点亮LED为例_第3张图片
注:CCS对扩展名敏感,文件扩展名必须为.cmd。

-stack 0x1000
-heap  0x1000

 MEMORY     //内存描述(仅在本文件内有效)
 {
 	MSMCSRAM o 0xC0000000 l = 0x00100000     //将代码放到多核共享内存中;o代表内存段起始地址;l代表内存段长度
 }

SECTIONS     //内存段描述
{
	/* 一些c语言所必须的段  */
	.text > MSMCSRAM     //代码段
	.cinit > MSMCSRAM    //触发表段
	.const > MSMCSRAM    //常量表段
	.switch > MSMCSRAM    //跳转表段
	.stack > MSMCSRAM    //栈空间
	.fardata > MSMCSRAM    //初始化非静态程序变量
	.cio > MSMCSRAM      //DSP与主机通讯时的缓冲区
}

之后编译即可。

你可能感兴趣的:(【TIC6657 DSP学习笔记】01 工程创建与代码编写——以点亮LED为例)