LAUNCHXL-F28379D点灯

一直想弄个DSP来玩玩,看到F28379的200MHz主频有点心动,忍不住剁手了。前几天到的板子,今天抽空点了个灯,废话不多说,下面是主要步骤:


先推荐个文档,TI的controlSUITE里面的F2837xD Firmware Development Package USER’S GUIDE,直接在官网下载controlSUITECONTROLSUITE 驱动程序或库 | TI.com.cn

这是文档所在目录

LAUNCHXL-F28379D点灯_第1张图片

环境:CCS6.2

板子的话当然就是这款LAUNCHXL-F28379D啦

LAUNCHXL-F28379D点灯_第2张图片


下面开始点灯

1打开CCS,File->New->CCS Project,如图所示,然后Finish

LAUNCHXL-F28379D点灯_第3张图片

2.修改项目配置,Ringht click->Properties->Processor Options,确保你的配置如下图

LAUNCHXL-F28379D点灯_第4张图片

3.Go ahead,

C2000 Compiler->Include Options,点击绿色加号来添加包含文件的路径,这个修改这个地方可以修改工程里include的文件夹,如下图

LAUNCHXL-F28379D点灯_第5张图片

 LAUNCHXL-F28379D点灯_第6张图片

4.Advanced Options->Predefined Symbol

LAUNCHXL-F28379D点灯_第7张图片5. 5.LAUNCHXL-F28379D点灯_第8张图片

LAUNCHXL-F28379D点灯_第9张图片 6.C2000 Linker->Advanced Options->Symbol Management,添加_c_int00指定要进入代码的程序入口点,最后点击OK完成配置

LAUNCHXL-F28379D点灯_第10张图片

By the way,有一步文档里没有提到,就是把Linker command file改为,否则后面编译的时候会报错,因为第5步include command的时候已经将cmd文件包含进去了

LAUNCHXL-F28379D点灯_第11张图片

7.然后我们需要在头文件中使用的几个文件中链接,右键工程文件夹->Add Files...选择要添加的文件

LAUNCHXL-F28379D点灯_第12张图片

选择Link的方式就可以,因为TI的代码源文件是项目间共用的,Link不会修改这些文件。 以下是要添加的文件:

F2837xD_headersn\source\F2837xD_GlobalVariableDefs.c

F2837xD_common\source\F2837xD_CodeStartBranch.asm
F2837xD_common\source\F2837xD_usDelay.asm
F2837xD_common\source\F2837xD_SysCtrl.c
F2837xD_common\source\F2837xD_Gpio.c
F2837xD_common\source\F2837xD_Ipc.c

8.右键工程文件夹->New->Source File,命名为main.c,然后将以下代码复制到刚建的文件中,保存

/*
 * main.c
 *
 *  Created on: 2018年8月10日
 *      Author: Limerrence
 */
#include "F28x_Project.h"
void main(void)
{
	uint32_t delay;
	InitSysCtrl();
	// Set pin direction
	EALLOW;
	GpioCtrlRegs.GPADIR.bit.GPIO31 = 1;
	EDIS;
	GPIO_SetupPinOptions(34, GPIO_OUTPUT, GPIO_PUSHPULL);
	GPIO_SetupPinMux(34, GPIO_MUX_CPU2, 0);
	// turn off LED
	GpioDataRegs.GPADAT.bit.GPIO31 = 1;
	while(1)
	{
		// Turn on LED
		GpioDataRegs.GPADAT.bit.GPIO31 = 0;
		// Delay for a bit.
		for(delay = 0; delay < 2000000; delay++)
		{
		}
		// Turn off LED
		GpioDataRegs.GPADAT.bit.GPIO31 = 1;
		// Delay for a bit.
		for(delay = 0; delay < 2000000; delay++)
		{
		}
	}
}

到此CPU1的工程就建好了,接下来是CPU2的工程,和CPU1工程的建立是基本一样的


1.File -> New -> CCS Project,当然名字不一样

2.LAUNCHXL-F28379D点灯_第13张图片

3.LAUNCHXL-F28379D点灯_第14张图片

4.LAUNCHXL-F28379D点灯_第15张图片

5. LAUNCHXL-F28379D点灯_第16张图片

6.LAUNCHXL-F28379D点灯_第17张图片

7.如图,然后OK

LAUNCHXL-F28379D点灯_第18张图片

8. 添加文件,和CPU1工程第7步一样

9.新建一个main.c文件,将以下代码复制粘贴,然后保存

/*
 * main.c
 *
 *  Created on: 2018年8月10日
 *      Author: Limerrence
 */
#include "F28x_Project.h"
void main(void)
{
	uint32_t delay;
	// turn off LED
	GpioDataRegs.GPBDAT.bit.GPIO34 = 1;
	while(1)
	{
		// Turn on LED
		GpioDataRegs.GPBDAT.bit.GPIO34 = 0;
		// Delay for a bit.
		for(delay = 0; delay < 2000000; delay++)
		{
		}
		// Turn off LED
		GpioDataRegs.GPBDAT.bit.GPIO34 = 1;
		// Delay for a bit.
		for(delay = 0; delay < 2000000; delay++)
		{
		}
	}
}

最后添加完文件应该是这样的

LAUNCHXL-F28379D点灯_第19张图片

LAUNCHXL-F28379D点灯_第20张图片


两个工程都建好了,然后开始debug,连接LAUNCHXLF28379D,电脑会自动安装驱动

1.接下来要做的就是创建一个新的目标配置,File -> New -> Target Configuration,命名为F2837xD_xds100.ccxml,

LAUNCHXL-F28379D点灯_第21张图片

 2.Import Example Project,File -> Import->C/C++->CCS Project

LAUNCHXL-F28379D点灯_第22张图片

注意文件夹所在路径和勾选内容,Do not select "Copy projects into workspace". These projects link to external
resources relatively, so taking them out of controlSUITE will break the project.Click Finish

3.Build each of the example projects. Right click on each project title and select build project.

4.View->Target Configurations,Link to the two projects you had just built

LAUNCHXL-F28379D点灯_第23张图片

5.下面就可以Launch了

LAUNCHXL-F28379D点灯_第24张图片

6.

LAUNCHXL-F28379D点灯_第25张图片

7.Connect to the device. Right click on each core in the debug window and select "Connect
Target.

LAUNCHXL-F28379D点灯_第26张图片 Like This,确保该CPU处于Suspened状态

LAUNCHXL-F28379D点灯_第27张图片

8.Load code on each of the cores. Select one of the cores in the debug window and then click
Run->Load-> Load Program.Select the Correct .out Flie.

LAUNCHXL-F28379D点灯_第28张图片

最后一步,分别选中两个CPU分别运行,再然后就看到灯闪了

LAUNCHXL-F28379D点灯_第29张图片

注意,文档中main.c文件中的GPIO10和GPIO14在LAUNCHXL中对应的分别是76和74引脚,在这里我改成GPIO31和GPIO34,分别对应着LAUNCHXL上的蓝灯和红灯

LAUNCHXL-F28379D点灯_第30张图片

LAUNCHXL-F28379D点灯_第31张图片

光线问题,看的不是很清楚。。。。。。


以上只是RAM调试,掉电之后程序就没有了,要想将程序写到flash里面,只需要将对应的ram.cmd文件换成对应的flash.cmd文件就行了

LAUNCHXL-F28379D点灯_第32张图片 还有调试过程不能加断点的问题,只需要在Breakpoints窗口右键Remove All就可以了,这是因为断点的数量是一定的,不能无限加


好了,搞了这一整天总算是点了个灯,很多写得不到位的地方请批评指正。然后我想说很多论坛的学习氛围挺好的,很多大牛出没,我也从中学到了很多。然后就是想问有玩MSP432、STM32、ESP的吗?交流交流,当然有大佬愿意带带我我也不介意的哈


完!

你可能感兴趣的:(Digital,Signal,Processing,单片机,DSP,TI,CCS,点灯)