首页 > 评测 > 高性能单核处理器——C2000 Delfino LaunchPad评测

高性能单核处理器——C2000 Delfino LaunchPad评测

Delfino   C2000   TI      
  • 作者:张满归
  • 来源:21ic
  • [导读]
  • C2000 Delfino LaunchPad(LAUNCHXL-F28377S)是一款基于TI最新Delfino器件TMS320F28377S的低成本开发套件,板载XDS100v2仿真器,只需一根USB线就可以进行开发、调试和代码烧写,并提供UART实现PC机和目标板的串行通信。

6) 在C2000 Linker Advanced Options下设置程序入口为code_start。

C2000 LaunchPadXL测评7681.png

7) 按照上面的方式设置完成,点击“OK”确定,设置中增加的Include路径在工程中都将体现出来。接下来我们需要添加一些TI提供的源文件用于GPIO的配置和工程的运行,在工程中右击选择“Add files..”,按照下面路径添加需要的源文件:

n F2837xS_common\source\ F2837xS_CodeStartBranch.asm

n F2837xS_common\source\ F2837xS_usDelay.asm

n F2837xS_common\source\ F2837xS_SysCtrl.c

n F2837xS_common\source\ F2837xS_Gpio.c

n F2837xS_headers\source\ F2837xS_GlobalVariableDefs.c

最好选择Copy files将文件拷贝到工程目录下来,这样在我们做相关修改或工程拷贝比较方便。

C2000 LaunchPadXL测评5593.png

添加完所需源文件后如下图所示。

C2000 LaunchPadXL测评5611.png

8) 创建一个我们需要的源文件,在工程上右击选择New—>Source File,输入源文件名称,选择文件类型,选择“Finish”文件将自动创建并添加到当前工程中来。

C2000 LaunchPadXL测评5695.png

9) 在新建的源文件中编写代码,如下面代码用来控制F28377S LaunchPad板卡上用户LED灯D10开始闪烁。

/*

* gpio.c

*

* Created on: 2015年12月25日

* Author: zhangmangui

*/

#include "F28x_Project.h"

void main(void)

{

uint32_t delay;

InitSysCtrl();

EALLOW;

GpioCtrlRegs.GPADIR.bit.GPIO13 = 1;

EDIS;

GPIO_SetupPinOptions(17, GPIO_OUTPUT, GPIO_PUSHPULL);

GPIO_SetupPinMux(17, GPIO_MUX_CPU1, 0);

GpioDataRegs.GPADAT.bit.GPIO13 = 1;

while(1)

{

GpioDataRegs.GPADAT.bit.GPIO13 = 0;

for(delay = 0;delay<2000000;delay++)

{

}

GpioDataRegs.GPADAT.bit.GPIO13 = 1;

for(delay = 0;delay<2000000;delay++)

{

}

}

}

上面程序中必须进行系统初始化InitSysCtrl();操作,在源文件F2837xS_SysCtrl.c中可以看到系统初始化函数源码,其中主要做了MCU所有外设时钟的使能和关断选择,看门狗的初始化,初始化系统锁相环等操作。非常重要的一点是在F2837xS_SysCtrl.c中看到了在Flash下进行代码搬移到RAM中运行的操作,这个在以前都是需要自己去写代码并配置完成的,配置过程中经常看到有网友会遇到各种问题,这下就方便多了,部分代码为:

#pragma CODE_SECTION(InitFlash_Bank0, "ramfuncs");

#pragma CODE_SECTION(InitFlash_Bank1, "ramfuncs");

#ifdef _FLASH

// Copy time critical code and Flash setup code to RAM

// This includes the following functions: InitFlash();

// The RamfuncsLoadStart, RamfuncsLoadSize, and RamfuncsRunStart

// symbols are created by the linker. Refer to the device .cmd file.

memcpy(&RamfuncsRunStart,&RamfuncsLoadStart,(size_t)&RamfuncsLoadSize);

// Call Flash Initialization to setup flash waitstates

// This function must reside in RAM

InitFlash_Bank0();

#endif

系统时钟配置如下:

InitSysPll(XTAL_OSC,IMULT_20,FMULT_1,PLLCLK_BY_2);

//PLLSYSCLK = 10Mhz(OSCCLK) * 40 (IMULT) * 1 (FMULT) / 2 (PLLCLK_BY_2)

10) 编译运行,Debug模式下将新建工程是自动生成的CMD移除工程,在Project下选择Build All(快捷键Ctrl+B)编译整个工程,如果没有错误,将会生成可执行文件gpio.out。

C2000 LaunchPadXL测评7308.png

11) 开始CCS Debug。通过miniUSB线将目标板连接到计算机,确保驱动安装正确,设备管理器中并正确识别设备,然后选择菜单栏Run下面的Debug(快捷键F11)进入CCS Debug模式,如果XDS100v2仿真器识别并连接正常,将出现如下图所示界面,并且调试的各项工具都可以正常使用。点击Refume(F8)开始执行代码,可以观测到板上D10蓝色LED灯可以闪烁。可以选择Terminate(Ctrl+F2)结束Debug模式或选择Suspend(Alt+F8)挂起MCU。

6 代码烧写固化

C2000 LaunchPadXL测评7551.png

代码需要固化,工程特性下的CMD文件肯定需要更换,即将2837xS_Generic_RAM_lnk.cmd更换为2837xS_Generic_FLASH_lnk.cmd,F2837xS_Headers_nonBIOS.cmd文件不需要变动。

C2000 LaunchPadXL测评7551.png

  • 本文系21ic原创,未经许可禁止转载!

网友评论