TMS320F28035入門教程

本文是之前寫的,屬9crk原創。

首先,c2000有多重啓動方式,可以從datasheet 29頁看到支持的啓動模式,目前基本上都是使用仿真器,很少有使用其他方式下載的方案提供,不過有個SDflash軟件,可以研究一下

Table 3-6. Boot Mode Selection
GetMode
Wait (see Section 3.3.10 for description)
SCI
Parallel IO
EMU x x 1 Emulation Boot
(就是仿真器)

很多人接觸這個都是因爲收到了21ic發的c2000開發套件,但發現上面的芯片寫着TMX320f28035,感覺不解,請看datasheet 98頁

TMX Experimental device that is not necessarily representative of the final device's electrical specifications
TMP Final silicon die that conforms to the device's electrical specifications but has not completed quality and reliability verification
TMS Fully qualified production device
X
就是實驗用的,內部存在一些東西不支持,P就是確定電氣特徵,但不完全確定質量,S纔是質量可靠的。

我拿到的是官網的28035實驗套件。

首先,對於軟件的使用:有ccs3.3和官網提供的ccs4可供選擇,建議選擇ccs4,因爲在ccs4裏可以選擇位。這是eclipse開發環境的好處。

ccs3需要有型號支持,一般網上下載的ccs3.3都是不支持28035的,如果你一定要用,可以留言。我發給你。

然後就是你要下載一個庫,裏面包含了所有功能的實例代碼和頭文件、cmd文件,然後把它放到不要有中文名的路徑下,隨便放哪。

<注:以下爲針對ccs4的版本>

然後開始新建工程:

新建一個工程都用默認選項,就是選擇型號那裏要選28035,這時會新建一個只有28035_RAM_link.cmd的工程。

注意:ccs可以同時打開多個工程,但只有黑粗體的那個工程纔是當前激活工程,(也就是說你按編譯,他就會編譯那個黑粗體的工程)

可以右鍵設置任一工程爲激活工程

然後右擊當前工程link files to project

然後將你下載的那個庫裏的以下文件link進去

DSP2803x_CodeStartBranch.asm

DSP2803x_DefaultIsr.c

DSP2803x_PieCtrl.c

DSP2803x_PieVect.c

DSP2803x_SysCtrl.c

DSP2803x_usDelay.asm

DSP2803x_CodeStartBranch.asm

DSP2803x_Headers_nonBIOS.cmd

一共八個文件,在不同的目錄裏,就在common和header的文件夾裏,自己多找找就可以找到這幾個文件了。

添加完文件了再就是添加include目錄,因爲那些頭文件都在你放的庫的目錄裏,你不添加進來這些.c文件會找不到定義。

右擊工程點擊build properties,然後在tool setting裏面有很多東西,但我們只要關注兩個東西:

C2000 copalier下的include options和C2000 linker下的basic options

在include option裏添加D:\v121\DSP2803x_common\include和D:\v121\DSP2803x_headers\include (注:這是我電腦上的路徑,你們看情況)。然後再C2000 linker下的basic options裏設置stack size,堆棧大小,可以設置成200或者300都可以。

然後保存設置,退出來。

新建一個main.c

寫上下面的:


#include "DSP28x_Project.h"

void main(void)
{

InitSysCtrl();//將系統時鐘設置爲60M,如果是自己DIY的板子,時鐘不是10M,可以研究裏面的//參數設置一下

DINT;        //關掉總中斷

InitPieCtrl();//在dsp裏,中斷通過pie控制器來管理中斷響應

IER = 0x0000;//這個是12組中斷使能寄存器,都關掉
IFR = 0x0000;//這個是12組中斷的標誌位,清零

InitPieVectTable();//這個是初始化中斷向量表的,就是將各種中斷的中斷函數入口地址指派一下

EALLOW; //在dsp裏,有些寄存器設置時要先解開寄存器保護,這個命令是解開保護,下面這幾條//是設置io的功能

GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0; //GPIO31作爲普通IO
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; //GPIO34作爲普通IO
GpioCtrlRegs.GPADIR.bit.GPIO31 = 1; //GPIO31方向爲輸出
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; //GPIO34方向爲輸出

EDIS; //對應解開保護,這個是關閉保護

while(1)

{

DSP28x_usDelay(10000000);//這個函數是用匯編定義的,在DSP2803x_usDelay.asm裏面定義的,//比較準確,參數是long 型的。?

GpioDataRegs.GPATOGGLE.bit.GPIO31 = 1; //GPIO31端口電平翻轉一次
GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1; //GPIO34端口電平翻轉一次

}

}

然後編譯,不會有錯誤。

然後就是下載

點擊

target-launch ti debugger

target-connect target 此時會出現錯誤,連接不上(如果你沒出現錯誤,下面的略過)

//*********************錯誤解決步**********************************

先把連接結束(terminate all

點擊target-new target configuration

然後會彈出一個文件,在裏面設置connection爲xds100v1.0,然後選型號爲28035 experiment kit然後save

然後重新編譯、重複launch connect步驟,如果你還是在connect步驟出錯,重啓ccs就可以了。

//*********************錯誤步**********************************

load program 選擇你的工程debug目錄下的.out文件,然後點擊debug窗口的run就可以全速運行了,單步、over什麼的不用我教了。
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章