首頁 > 評測 > 高性能單核處理器——C2000 Delfino LaunchPad評測

高性能單核處理器——C2000 Delfino LaunchPad評測

Delfino   C2000   TI      
  • 作者:張滿歸
  • 來源:21ic
  • [導讀]
  • C2000 Delfino LaunchPad(LAUNCHXL-F28377S)是一款基于TI最新Delfino器件TMS320F28377S的低成本開發(fā)套件,板載XDS100v2仿真器,只需一根USB線就可以進行開發(fā)、調(diào)試和代碼燒寫,并提供UART實現(xiàn)PC機和目標板的串行通信。

6) 在C2000 Linker Advanced Options下設(shè)置程序入口為code_start。

C2000 LaunchPadXL測評7681.png

7) 按照上面的方式設(shè)置完成,點擊“OK”確定,設(shè)置中增加的Include路徑在工程中都將體現(xiàn)出來。接下來我們需要添加一些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將文件拷貝到工程目錄下來,這樣在我們做相關(guān)修改或工程拷貝比較方便。

C2000 LaunchPadXL測評5593.png

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

C2000 LaunchPadXL測評5611.png

8) 創(chuàng)建一個我們需要的源文件,在工程上右擊選擇New—>Source File,輸入源文件名稱,選擇文件類型,選擇“Finish”文件將自動創(chuàng)建并添加到當前工程中來。

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++)

{

}

}

}

上面程序中必須進行系統(tǒng)初始化InitSysCtrl();操作,在源文件F2837xS_SysCtrl.c中可以看到系統(tǒng)初始化函數(shù)源碼,其中主要做了MCU所有外設(shè)時鐘的使能和關(guān)斷選擇,看門狗的初始化,初始化系統(tǒng)鎖相環(huán)等操作。非常重要的一點是在F2837xS_SysCtrl.c中看到了在Flash下進行代碼搬移到RAM中運行的操作,這個在以前都是需要自己去寫代碼并配置完成的,配置過程中經(jīng)?吹接芯W(wǎng)友會遇到各種問題,這下就方便多了,部分代碼為:

#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

系統(tǒng)時鐘配置如下:

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)編譯整個工程,如果沒有錯誤,將會生成可執(zhí)行文件gpio.out。

C2000 LaunchPadXL測評7308.png

11) 開始CCS Debug。通過miniUSB線將目標板連接到計算機,確保驅(qū)動安裝正確,設(shè)備管理器中并正確識別設(shè)備,然后選擇菜單欄Run下面的Debug(快捷鍵F11)進入CCS Debug模式,如果XDS100v2仿真器識別并連接正常,將出現(xiàn)如下圖所示界面,并且調(diào)試的各項工具都可以正常使用。點擊Refume(F8)開始執(zhí)行代碼,可以觀測到板上D10藍色LED燈可以閃爍。可以選擇Terminate(Ctrl+F2)結(jié)束Debug模式或選擇Suspend(Alt+F8)掛起MCU。

6 代碼燒寫固化

C2000 LaunchPadXL測評7551.png

代碼需要固化,工程特性下的CMD文件肯定需要更換,即將2837xS_Generic_RAM_lnk.cmd更換為2837xS_Generic_FLASH_lnk.cmd,F(xiàn)2837xS_Headers_nonBIOS.cmd文件不需要變動。

C2000 LaunchPadXL測評7551.png

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論