首页 > 评测 > 高性能单核处理器——C2000 Delfino LaunchPad评测
高性能单核处理器——C2000 Delfino LaunchPad评测
- [导读]
- C2000 Delfino LaunchPad(LAUNCHXL-F28377S)是一款基于TI最新Delfino器件TMS320F28377S的低成本开发套件,板载XDS100v2仿真器,只需一根USB线就可以进行开发、调试和代码烧写,并提供UART实现PC机和目标板的串行通信。
6) 在C2000 Linker Advanced Options下设置程序入口为code_start。
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将文件拷贝到工程目录下来,这样在我们做相关修改或工程拷贝比较方便。
添加完所需源文件后如下图所示。
8) 创建一个我们需要的源文件,在工程上右击选择New—>Source File,输入源文件名称,选择文件类型,选择“Finish”文件将自动创建并添加到当前工程中来。
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。
11) 开始CCS Debug。通过miniUSB线将目标板连接到计算机,确保驱动安装正确,设备管理器中并正确识别设备,然后选择菜单栏Run下面的Debug(快捷键F11)进入CCS Debug模式,如果XDS100v2仿真器识别并连接正常,将出现如下图所示界面,并且调试的各项工具都可以正常使用。点击Refume(F8)开始执行代码,可以观测到板上D10蓝色LED灯可以闪烁。可以选择Terminate(Ctrl+F2)结束Debug模式或选择Suspend(Alt+F8)挂起MCU。
6 代码烧写固化
代码需要固化,工程特性下的CMD文件肯定需要更换,即将2837xS_Generic_RAM_lnk.cmd更换为2837xS_Generic_FLASH_lnk.cmd,F2837xS_Headers_nonBIOS.cmd文件不需要变动。
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前