首頁 > 評測 > 高性能單核處理器——C2000 Delfino LaunchPad評測
高性能單核處理器——C2000 Delfino LaunchPad評測
- [導讀]
- 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。
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)修改或工程拷貝比較方便。
添加完所需源文件后如下圖所示。
8) 創(chuàng)建一個我們需要的源文件,在工程上右擊選擇New—>Source File,輸入源文件名稱,選擇文件類型,選擇“Finish”文件將自動創(chuàng)建并添加到當前工程中來。
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。
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 代碼燒寫固化
代碼需要固化,工程特性下的CMD文件肯定需要更換,即將2837xS_Generic_RAM_lnk.cmd更換為2837xS_Generic_FLASH_lnk.cmd,F(xiàn)2837xS_Headers_nonBIOS.cmd文件不需要變動。
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標準編制 2024-08-29
- NRF52810藍牙數(shù)字耳機找人定制
預算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設(shè)計
預算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預算:¥5000023小時前
- PLC項目調(diào)試修改
預算:¥100001天前
- 起動電機控制器開發(fā)
預算:¥1100001天前