CCS安裝錯誤解決與CCS應用教程_第1頁
CCS安裝錯誤解決與CCS應用教程_第2頁
CCS安裝錯誤解決與CCS應用教程_第3頁
CCS安裝錯誤解決與CCS應用教程_第4頁
CCS安裝錯誤解決與CCS應用教程_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、CCS安裝錯誤解決與安裝錯誤解決與CCS應應用教程用教程 1 CCStudio 主程序安裝主程序安裝 第第1步:找步:找CCS SETUP.EXE應用程序的圖標。雙應用程序的圖標。雙擊該圖標。擊該圖標。 第2步步:點擊NEXT接鈕 第3步步:選擇I ACCEPT后,再點擊NEXT按鈕 第4步:選擇默認典型安裝, “Typical install”圖標, 選擇安裝路徑后,點擊Next,注意路徑不能包含中文 第5步步:點擊Install Now開始安裝 安裝結束后出現如下圖的告警界面,提示要求安裝Perl V5.8版本,不必擔心,點擊確定即可第7步步:安裝完成 安裝補丁版本 安裝升級補丁包SR12

2、_CCS_v3.3_SR_3.3.82.13 .exe雙擊安裝后,會出現以下界面,點擊Next:出現如下圖所示界面,選擇 ActiveState Perl58,點擊Next然后一路點擊Next,直到開始安裝。安裝補丁版本 (2)安裝浮點支持庫setup_C28XFPU_CSP_v31.3.1207 (3)安裝燒寫插件F2823x_RevA_CSP.exe (4)更新Code Gernerator,將C2000CodeGenerationTools51.1.1.exe安裝在CCStudio_v3.3C2000cgtools目錄下,安裝過程中選擇“Yes to all”全部覆蓋。覆蓋結果可在com

3、ponent manager中選擇“Build Tools”進行查看,覆蓋成功應為“texas instruments c2000 code genertion tools ”項前面打勾 (5)安裝仿真器USB驅動和仿真器驅動。2讓讓CCS工作在軟件仿真環(huán)境工作在軟件仿真環(huán)境 (Simulator) CCS可以工作在純軟件仿真環(huán)境中,就是由CCS在PC機內存中構造一個虛擬的DSP環(huán)境,可以調試、運行程序。但一般軟件無法構造DSP中的外設,所以軟件仿真通常用于調試算法和進行效率分析等。在使用軟件仿真方式工作時,無需連接板卡和仿真器等硬件。 單擊桌面上“Setup CCStudio v3.3”圖標

4、, 進入 CCS設置窗口。在設置界面的中間欄目中分別對Family和Platform項進行設置。 然后會在在設置欄的左側出現添加的軟件仿真平臺,選擇F2812 Device Simulator點擊右鍵會出現如圖所示對話框,可以設置配置文件。選擇CPU點擊右鍵會出現如圖所示對話框,可以設置GEL文件。點擊“Save&Quit”出現對話框后,選擇Yes。CCS闖關小游戲 第一關 找到“Load Program”在那個菜單欄下,以及其快捷鍵是什么?第二關 新建一個工程是通過那個菜單欄中的那一項實現的?第三關 在調試中所用到的“Step Into、Step over、Run”的快捷鍵是什么?第四關 W

5、atch Window在那個菜單欄下,對應著工具欄中的哪一個圖標?第五關 打開提供的工程,回答以下問題: 工程的后綴名是什么? 工程中包含哪幾類文件? 如何編譯工程,快捷鍵及工具欄圖標是什么?第六關 加載編譯生成的.out文件,回答以下問題: 如何設置斷點? 設置斷點后,點擊Run(運行)結果如何?3 讓讓CCS工作在硬件仿真環(huán)境工作在硬件仿真環(huán)境(Emulator) 先刪除當前的系統(tǒng)設置先刪除當前的系統(tǒng)設置選擇硬件仿真F2812芯片驅動 找到開發(fā)板相關找到開發(fā)板相關F2812的配置文件,的配置文件,路徑如下所示:路徑如下所示:路徑設置完之后,點擊路徑設置完之后,點擊OK即可即可添加完成。添加

6、完成。 CCS已經被設置成Emulator的方式(用仿真器連接硬件板卡的方式),并且指定通過TDS510-USB2 仿真器連接EX-DSP-EXP III+試驗箱。 4 集成調試環(huán)境介紹集成調試環(huán)境介紹完成對系統(tǒng)的配置之后,給實驗開發(fā)板供電,雙擊完成對系統(tǒng)的配置之后,給實驗開發(fā)板供電,雙擊快捷鍵快捷鍵“CCStudio 3.3”,即可進入集成調試環(huán)境,即可進入集成調試環(huán)境。 系系統(tǒng)統(tǒng)為為未未連連接接狀狀態(tài)態(tài) 把CCS軟件和F2812芯片連接在一起,然后才能對F2812 芯片進行控制。 確認CCS和F2812連接是否成功 注意:注意: 在實驗箱使用結束后,必須按照以下步驟進行操作: 1 先斷開鏈

7、接 2 關閉CCS 3 關閉實驗箱電源集成調試環(huán)境的組成:集成調試環(huán)境的組成: 集成調試環(huán)境的標題欄(集成調試環(huán)境的標題欄(/F2812 XDS510 Emulator/CPU_1F28xxCode Composer Studio)。)。 菜單欄(菜單欄(File、Edit、View)。)。 工作窗口區(qū)(工作窗口區(qū)(Files、Diassembly、CPU) 系統(tǒng)連接狀態(tài)。系統(tǒng)連接狀態(tài)。 菜單及功能介紹菜單及功能介紹CCS3.3不能直接由匯編源代碼或不能直接由匯編源代碼或C語言源代碼語言源代碼文件建立(文件建立(Build)生成)生成DSP可執(zhí)行代碼,必須可執(zhí)行代碼,必須使用項目(使用項目(P

8、roject)來管理整個設計過程。)來管理整個設計過程。項目文件保存在磁盤中后綴為項目文件保存在磁盤中后綴為.pjt文件。文件。 項目菜單項目菜單(1)Project/New:新建一個項目,將該項目保存至新建項目文件夾里面:新建一個項目,將該項目保存至新建項目文件夾里面。(2)Project/Open : 打開一個已有的項目。打開一個已有的項目。(3)Project/Add Files to Project:添加文件到該項目中。:添加文件到該項目中。 可以添加到項目中的文件的擴展名:可以添加到項目中的文件的擴展名: *.C: C源文件,項目管理對這一類文件進行編譯和鏈源文件,項目管理對這一類文

9、件進行編譯和鏈接。接。*.ASM: 匯編源文件,項目管理對這一類文件進行匯匯編源文件,項目管理對這一類文件進行匯編和鏈接。編和鏈接。*.OBJ:目標文件,項目管理對這一類文件進行鏈接:目標文件,項目管理對這一類文件進行鏈接。*.LIB :庫文件,項目管理對這一類文件進行鏈接。:庫文件,項目管理對這一類文件進行鏈接。*.CMD:鏈接命令文件,項目管理在鏈接各個文件時:鏈接命令文件,項目管理在鏈接各個文件時根據此文件分配系統(tǒng)程序空間、數據空間。根據此文件分配系統(tǒng)程序空間、數據空間。注意注意 對頭文件和在程序中用包含文件(對頭文件和在程序中用包含文件(include)引用的文件,項目管理程序會自動地

10、加)引用的文件,項目管理程序會自動地加入到項目中。入到項目中。 項目管理不允許用戶添入其它類型的文件項目管理不允許用戶添入其它類型的文件。 (4)Project/Save:保存一個已打開的項目。:保存一個已打開的項目。(5)Project/Close:關閉一個已打開的項目。:關閉一個已打開的項目。(6)Project/Add Files to Project:添加所有用到:添加所有用到的文件和所需的庫文件到該項目中。的文件和所需的庫文件到該項目中。(7)Project/Compile Files:對項目中的:對項目中的C語言和匯語言和匯編語言源代碼文件進行編譯。編語言源代碼文件進行編譯。(8)

11、Project/Build:對項目進行編譯、匯編和鏈接:對項目進行編譯、匯編和鏈接,生成可執(zhí)行文件,執(zhí)行文件的后綴為,生成可執(zhí)行文件,執(zhí)行文件的后綴為.OUT。對于以前編譯過到目前為止還沒有修改過的源文件對于以前編譯過到目前為止還沒有修改過的源文件不重新編譯。不重新編譯。(9)Project/Rebuild All:對項目重新進行一次編:對項目重新進行一次編譯、匯編和鏈接,生成可執(zhí)行文件譯、匯編和鏈接,生成可執(zhí)行文件.OUT,不論是否,不論是否修改過都編譯一次。修改過都編譯一次。(10)Project/Stop Build:停止對項目的編譯、匯:停止對項目的編譯、匯編和鏈接。編和鏈接。(11)

12、Project/Show Project Dependencies:顯示該:顯示該項目中所有用到的文件和所需的庫文件。項目中所有用到的文件和所需的庫文件。(12)Project/Scan All File Dependencies:詳細查:詳細查看該項目中所有用到的文件和所需的庫文件。看該項目中所有用到的文件和所需的庫文件。(13)Project/Recent Project Files:顯示最近打開:顯示最近打開過的項目。過的項目。(14)Project/Build Options:對編譯器、匯編器:對編譯器、匯編器、和鏈接器的參數進行配置。、和鏈接器的參數進行配置??梢耘渲眉拇嫫鲀?yōu)先調試,

13、特定函數優(yōu)先調試,或可以配置寄存器優(yōu)先調試,特定函數優(yōu)先調試,或某個子程序優(yōu)先調試等選項。某個子程序優(yōu)先調試等選項。編編譯譯器器設設置置對對話話框框觀察菜單觀察菜單(1)View/Disassembly:觀察反匯編程序窗口。:觀察反匯編程序窗口。當當DSP可執(zhí)行程序可執(zhí)行程序COFF文件載入目標系統(tǒng)后,文件載入目標系統(tǒng)后,CCS將自動打開一個反匯編窗口,反匯編窗口根據將自動打開一個反匯編窗口,反匯編窗口根據存儲器的內容顯示反匯編指令和符號信息。存儲器的內容顯示反匯編指令和符號信息。(2)View/Memory:觀察存儲器窗口。:觀察存儲器窗口。 Address:輸入需要觀察的存儲器的起始地址;

14、:輸入需要觀察的存儲器的起始地址;QValue):填):填0,出現的存儲器窗口中的顯示值,出現的存儲器窗口中的顯示值就是實際值;若填其它數,出現的存儲器窗口中的就是實際值;若填其它數,出現的存儲器窗口中的顯示值不是實際值;顯示值不是實際值;Format:下拉菜單中有不同的格式;:下拉菜單中有不同的格式;存儲器的顯示格式:存儲器的顯示格式:16進制、進制、2進制等進制等IEEE浮點格式顯示時,則選中使用浮點格式顯示時,則選中使用IEEE浮點格式浮點格式“Use IEEE Float”;Page:下拉菜單中,可以選擇顯示的存儲器的類:下拉菜單中,可以選擇顯示的存儲器的類型:如程序存儲器(型:如程序

15、存儲器(Program)、數據存儲器)、數據存儲器(Data) 和和I/O空間;空間;(3)View/Registers:包含:包含“CPU”、“Status”兩兩個選項,點擊相應的選項可以觀察調試過程中個選項,點擊相應的選項可以觀察調試過程中CPU寄存器和狀態(tài)(寄存器和狀態(tài)(Status)寄存器各個狀態(tài)位的)寄存器各個狀態(tài)位的變化情況。變化情況。(4)View/Peripherals:點擊可以觀察調試過程中:點擊可以觀察調試過程中外設模塊寄存器的變化情況。外設模塊寄存器的變化情況。(5)View/Mixed Source:選擇此選項則能同時顯:選擇此選項則能同時顯示示C語言代碼及與之關聯的反

16、匯編代碼(反匯編代語言代碼及與之關聯的反匯編代碼(反匯編代碼位于碼位于C語言代碼下方)。語言代碼下方)。若需要取消此功能,只要再次點擊此選項即可。若需要取消此功能,只要再次點擊此選項即可。(6)View/Watch Window:觀察調試過程中的變:觀察調試過程中的變量,量,C表達式的值,地址空間和寄存器的值。表達式的值,地址空間和寄存器的值。 Watch Window:加入一個新的表達式:加入一個新的表達式:在觀察窗中的名字(在觀察窗中的名字(Name)中直接輸入要觀察的變量)中直接輸入要觀察的變量名,或者在程序窗口中選中要觀察的變量名,然后點名,或者在程序窗口中選中要觀察的變量名,然后點擊

17、右鍵,再點擊加到觀察窗(擊右鍵,再點擊加到觀察窗(Add to Watch Window)即可。即可。刪除一個表達式:刪除一個表達式:用鼠標點擊要刪除的表達式,單擊鼠標右鍵,在彈出用鼠標點擊要刪除的表達式,單擊鼠標右鍵,在彈出的對話框中選擇刪除選擇項(的對話框中選擇刪除選擇項(Delete Selected Item(s)。)。如果添加變量時,在如果添加變量時,在“添加變量對話框添加變量對話框”的文本欄中的文本欄中只是輸入變量名,則在觀察窗中只顯示出該變量的地只是輸入變量名,則在觀察窗中只顯示出該變量的地址;址;如果需要顯示該變量的值,則需要在變量名前加如果需要顯示該變量的值,則需要在變量名前

18、加*號。號。3.調試菜單調試菜單(1)Debug/Breakpoints:斷點設置。:斷點設置。設置斷點:設置斷點:最簡單的方法是用鼠標左鍵點擊需要設置斷點的程序最簡單的方法是用鼠標左鍵點擊需要設置斷點的程序處,再點擊鼠標右鍵,從彈出的對話框中選擇處,再點擊鼠標右鍵,從彈出的對話框中選擇“Toggle breakpoint”即可;即可;去掉斷點:去掉斷點:用鼠標左鍵點擊相應的斷點處,再點擊鼠標右鍵,從用鼠標左鍵點擊相應的斷點處,再點擊鼠標右鍵,從彈出的對話框中再次選擇彈出的對話框中再次選擇“Toggle breakpoint”即可。即可。(1)Debug/Probe Points:探測點設置。

19、:探測點設置。在設置探測點的地方,可以將主機文件的數據讀到在設置探測點的地方,可以將主機文件的數據讀到DSP目標系統(tǒng)的存儲器,或將目標系統(tǒng)的存儲器,或將DSP目標系統(tǒng)存儲器的目標系統(tǒng)存儲器的數據寫入主機的文件中。數據寫入主機的文件中。(2)Debug/Step Into (快捷鍵為快捷鍵為F8):單步執(zhí)行。:單步執(zhí)行。單步執(zhí)行程序,如果運行到調用函數處,則跳入調用單步執(zhí)行程序,如果運行到調用函數處,則跳入調用的程序繼續(xù)單步執(zhí)行。的程序繼續(xù)單步執(zhí)行。(3)Debug/Step Over(快捷鍵為快捷鍵為F10):單步執(zhí)行。:單步執(zhí)行。單步執(zhí)行程序,但與單步執(zhí)行程序,但與Step Into不同的是

20、,不進入調用不同的是,不進入調用的程序(子程序、中斷服務程序),即該命令一步執(zhí)的程序(子程序、中斷服務程序),即該命令一步執(zhí)行完被調用的程序。行完被調用的程序。(4)Debug/Step Out:跳出子程序。:跳出子程序。當使用當使用Step Into或或Step Over單步執(zhí)行指令時,如果程單步執(zhí)行指令時,如果程序運行到一個子程序中,執(zhí)行該命令將使程序執(zhí)行完序運行到一個子程序中,執(zhí)行該命令將使程序執(zhí)行完函數或子程序后,回到調用的地方。函數或子程序后,回到調用的地方。(5)Debug/Run(快捷鍵為快捷鍵為F5):執(zhí)行程序到斷點、:執(zhí)行程序到斷點、探測點或用戶中斷(按系統(tǒng)機鍵盤上的探測點或

21、用戶中斷(按系統(tǒng)機鍵盤上的ESC鍵中斷)鍵中斷)。(6)Debug/Halt(快捷鍵為快捷鍵為Shift + F5):當執(zhí)行:當執(zhí)行Run時,用時,用Halt來暫停程序的執(zhí)行。來暫停程序的執(zhí)行。(7)Debug/Reset CPU:對:對DSP進行復位。也復位進行復位。也復位DSP的目標系統(tǒng),停止程序的執(zhí)行,初始化所有的寄的目標系統(tǒng),停止程序的執(zhí)行,初始化所有的寄存器。存器。(8)Debug/Restart:將程序指針(:將程序指針(PC)指向程序的)指向程序的起始地址。起始地址。(9)Debug/Reset Emulator:對仿真器進行復位。:對仿真器進行復位。4 工作窗口區(qū)介紹工作窗口區(qū)

22、介紹常用工作窗口有:常用工作窗口有: 文件(文件(Files)窗口;)窗口; 反匯編程序(反匯編程序(Disassembly)窗口;)窗口; CPU寄存器窗口;寄存器窗口; 存儲器(存儲器(Memory)窗口;)窗口;1. 觀察(觀察(Watch)窗口等。)窗口等。 文件窗口文件窗口 文件(文件(Files)窗口包括:當前系統(tǒng)用到的)窗口包括:當前系統(tǒng)用到的GEL文文件和項目。件和項目。 GEL文件:包括缺省的文件:包括缺省的f2812.gel文件。文件。 項目:包括用戶用到的頭文件、用項目:包括用戶用到的頭文件、用include定義的定義的引用文件和用戶建立或添加的引用文件和用戶建立或添加的

23、C源文件源文件*.C、匯編、匯編源文件源文件*.ASM、目標文件、目標文件*.OBJ、庫文件、庫文件*.LIB和和鏈接命令文件鏈接命令文件*.CMD。 2. 反匯編程序窗口反匯編程序窗口 反匯編程序(反匯編程序(Disassembly)窗口:用來顯示程序)窗口:用來顯示程序的反匯編代碼和程序存儲器的內容。的反匯編代碼和程序存儲器的內容。在這個窗口中,用一反顯高亮條來表示當前程序在這個窗口中,用一反顯高亮條來表示當前程序指針。指針??捎檬髽它c擊匯編語句的方法來設置斷點,再點可用鼠標點擊匯編語句的方法來設置斷點,再點擊一次,則取消斷點。擊一次,則取消斷點。3. CPU寄存器窗口寄存器窗口CPU寄存

24、器窗口:顯示在程序調試過程中寄存器窗口:顯示在程序調試過程中CPU寄存器(程序指針寄存器(程序指針PC、累加器、累加器ACC、狀態(tài)寄存、狀態(tài)寄存器器ST0和和ST1、重復計數器、重復計數器RTC、輔助寄存器、輔助寄存器XAR0XAR7、中斷使能寄存器、中斷使能寄存器IER和中斷標和中斷標志寄存器志寄存器IFR等)的內容。等)的內容。若要改變寄存器的內容,用鼠標點擊要改變的寄若要改變寄存器的內容,用鼠標點擊要改變的寄存器,輸入值后回車即可。存器,輸入值后回車即可。4. 狀態(tài)寄存器窗口狀態(tài)寄存器窗口狀態(tài)寄存器窗口:顯示狀態(tài)寄存器中的各個狀態(tài)狀態(tài)寄存器窗口:顯示狀態(tài)寄存器中的各個狀態(tài)位:位:SXM、

25、OVM、TC、C、Z、N、V、PM、OVC、INTM、DBGM、PAGE0、VMAP、SPA、LOOP、EALLOW、IDLESTAT、AMODE、OBJMODE、CNT、M0M1MAP、XF、ARP的狀的狀態(tài)。態(tài)。若要改變狀態(tài)位內容,用鼠標點擊需改變的狀態(tài)若要改變狀態(tài)位內容,用鼠標點擊需改變的狀態(tài)位,輸入值后回車即可。位,輸入值后回車即可。5. 存儲器窗口存儲器窗口存儲器(存儲器(Memory)窗口:顯示存儲器的內容。)窗口:顯示存儲器的內容。存儲器可為程序存儲器、數據存儲器和存儲器可為程序存儲器、數據存儲器和I/O空間空間。若要改變存儲器內容,用鼠標點擊需改變的存儲若要改變存儲器內容,用鼠

26、標點擊需改變的存儲器地址,輸入值后回車即可。器地址,輸入值后回車即可。注意:某些存儲器的內容是不能改變。注意:某些存儲器的內容是不能改變。 6. 觀察窗口觀察窗口 觀察(觀察(Watch)窗口:顯示所選擇的變量、寄存器)窗口:顯示所選擇的變量、寄存器和存儲器的內容。和存儲器的內容。7. 建立狀態(tài)窗口建立狀態(tài)窗口建立狀態(tài)(建立狀態(tài)(Build)窗口:顯示一些狀態(tài)信息,如)窗口:顯示一些狀態(tài)信息,如果在編譯、匯編和連接過程中發(fā)現錯誤,則該窗口果在編譯、匯編和連接過程中發(fā)現錯誤,則該窗口顯示出錯誤類型和錯誤的位置。顯示出錯誤類型和錯誤的位置。用戶可根據此信息對發(fā)生錯誤的地方進行修改。點用戶可根據此信

27、息對發(fā)生錯誤的地方進行修改。點擊錯誤信息處,光標就跳到程序中出錯地方的對應擊錯誤信息處,光標就跳到程序中出錯地方的對應位置。位置。5 用用C編譯器開發(fā)應用程序編譯器開發(fā)應用程序的步驟的步驟1. 書寫書寫4種類型的文件種類型的文件開發(fā)一個開發(fā)一個DSP的的C語言應用程序,需要以下語言應用程序,需要以下4種類型種類型的文件:的文件: C/C+語言文件;語言文件; 匯編語言文件;匯編語言文件; 頭文件;頭文件; 命令文件。命令文件。 注意注意 4種類型的文件必須存儲在同一個文件夾中。種類型的文件必須存儲在同一個文件夾中。 還需要把一個還需要把一個“rts2800 . lib”的庫文件復制到該的庫文件

28、復制到該目錄中。目錄中。 在默認情況下,在默認情況下, rts2800 . lib文件可以在目錄文件可以在目錄“C:CCStudio_v3.1C2000cgtoolslib”中找到中找到。 5.5 頭文件和命令文件頭文件和命令文件5.5.1 頭文件頭文件頭文件中定義:頭文件中定義:DSP系統(tǒng)用到的寄存器映射地址系統(tǒng)用到的寄存器映射地址,用戶用到的常量和用戶自定義的寄存器,文件,用戶用到的常量和用戶自定義的寄存器,文件名的后綴為名的后綴為.H。 5.5.2 命令文件命令文件.CMD命令文件:指定存儲區(qū)域的分配。命令文件:指定存儲區(qū)域的分配。文件擴展名為文件擴展名為 .CMD。 文件文件DSP28

29、_Adc.h DSP28_Adc.h#ifndef DSP28_ADC_H#define DSP28_ADC_H/ ADC 專用寄存器的位定義:專用寄存器的位定義:struct ADCTRL1_BITS / 位描述位描述 Uint16 rsvd1:4; / 位位 30 保留位保留位 Uint16 SEQ_CASC:1; / 位位 4 級連排序器工作模式選擇位級連排序器工作模式選擇位 Uint16 rsvd2:1; / 位位 5 保留位保留位 Uint16 CONT_RUN:1; / 位位 6 連續(xù)轉換位連續(xù)轉換位 Uint16 CPS:1; / 位位 7 模數轉換時鐘預分頻位模數轉換時鐘預分頻

30、位 Uint16 ACQ_PS:4; / 位位 118 采樣時間選擇位采樣時間選擇位 Uint16 SUSMOD:2; / 位位 1312 仿真懸掛工作模式選擇位仿真懸掛工作模式選擇位 Uint16 RESET:1; / 位位 14 模數轉換復位位模數轉換復位位 Uint16 rsvd3:1; / 位位 15 保留位保留位;union ADCTRL1_REG Uint16 all; struct ADCTRL1_BITS bit;struct ADCTRL2_BITS / 位描述位描述 Uint16 EVB_SOC_SEQ2:1; / 位位 0 事件管理事件管理EVB對對SEQ2產生產生SOC

31、的屏蔽位的屏蔽位 Uint16 rsvd1:1; / 位位 1 保留位保留位 Uint16 INT_MOD_SEQ2:1; / 位位 2 SEQ2中斷模式位中斷模式位 Uint16 INT_ENA_SEQ2:1; / 位位 3 SEQ2 中斷使能位中斷使能位 Uint16 rsvd2:1; / 位位 4 保留位保留位 Uint16 SOC_SEQ2:1; / 位位 5 啟動啟動SEQ2的轉換位的轉換位 Uint16 RST_SEQ2:1; / 位位 6 復位復位SEQ2 Uint16 EXT_SOC_SEQ1:1; / 位位 7 外部信號對外部信號對SEQ1的啟動轉換位的啟動轉換位 Uint1

32、6 EVA_SOC_SEQ1:1; / 位位 8 事件管理事件管理EVA對對SEQ1產生產生SOC的屏蔽位的屏蔽位 Uint16 rsvd3:1; / 位位 9 保留位保留位 Uint16 INT_MOD_SEQ1:1; / 位位 10 SEQ1 中斷模式位中斷模式位 Uint16 INT_ENA_SEQ1:1; / 位位 11 SEQ1 中斷使能位中斷使能位 Uint16 rsvd4:1; / 位位 12 保留位保留位 Uint16 SOC_SEQ1:1; / 位位 13 啟動啟動SEQ1的轉換位的轉換位 Uint16 RST_SEQ1:1; / 位位 14 復位復位SEQ 1 Uint16

33、 EVB_SOC_SEQ:1; / 位位 15 EVB SOC 使能位使能位;union ADCTRL2_REG Uint16 all; struct ADCTRL2_BITS bit;struct ADCCASEQSR_BITS / 位描述位描述 Uint16 SEQ1_STATE:4; / 位位30 SEQ1狀狀態(tài)態(tài) Uint16 SEQ2_STATE:3; / 位位62 SEQ2狀狀態(tài)態(tài) Uint16 rsvd1:1; / 位位7 保留位保留位 Uint16 SEQ_CNTR:4; / 位位118 排序計數排序計數器狀態(tài)位器狀態(tài)位 Uint16 rsvd2:4; / 位位1512 保留位

34、保留位 ;union ADCCASEQSR_REG Uint16 all; struct ADCCASEQSR_BITS bit;struct ADCMAXCONV_BITS Uint16 MAX_CONV:7; / 位位60 最大轉化通道數位最大轉化通道數位 Uint16 rsvd1:9; / 位位157 保留位保留位;union ADCMAXCONV_REG Uint16 all; struct ADCMAXCONV_BITS bit;struct ADCCHSELSEQ1_BITS Uint16 CONV00:4; Uint16 CONV01:4; Uint16 CONV02:4; Ui

35、nt16 CONV03:4;union ADCCHSELSEQ1_REG Uint16 all; struct ADCCHSELSEQ1_BITS bit;struct ADCCHSELSEQ2_BITS Uint16 CONV04:4; Uint16 CONV05:4; Uint16 CONV06:4; Uint16 CONV07:4;union ADCCHSELSEQ2_REG Uint16 all; struct ADCCHSELSEQ2_BITS bit;struct ADCCHSELSEQ3_BITS Uint16 CONV08:4; Uint16 CONV09:4; Uint16

36、CONV10:4; Uint16 CONV11:4;union ADCCHSELSEQ3_REG Uint16 all; struct ADCCHSELSEQ3_BITS bit;struct ADCCHSELSEQ4_BITS Uint16 CONV12:4; Uint16 CONV13:4; Uint16 CONV14:4; Uint16 CONV15:4;union ADCCHSELSEQ4_REG Uint16 all; struct ADCCHSELSEQ4_BITS bit;struct ADCTRL3_BITS Uint16 SMODE_SEL:1; / 位位 0 采樣模式選擇位

37、采樣模式選擇位 Uint16 ADCCLKPS:4; / 位位 41 模數轉換時鐘分頻器模數轉換時鐘分頻器 Uint16 ADCPWDN:1; / 位位 5 模數轉換掉電位模數轉換掉電位 Uint16 ADCBGRFDN:2; / 位位 76 模數轉換內部參考電模數轉換內部參考電壓源電源選擇位壓源電源選擇位 Uint16 rsvd1:8; / 位位 158 保留位保留位; union ADCTRL3_REG Uint16 all; struct ADCTRL3_BITS bit;struct ADCST_BITS Uint16 INT_SEQ1:1; / 位位 0 SEQ1 中斷標志中斷標志

38、Uint16 INT_SEQ2:1; / 位位 1 SEQ2 中斷標志中斷標志 Uint16 SEQ1_BSY:1; / 位位 2 SEQ1 忙狀態(tài)位忙狀態(tài)位 Uint16 SEQ2_BSY:1; / 位位 3 SEQ2 忙狀態(tài)位忙狀態(tài)位s Uint16 INT_SEQ1_CLR:1; / 位位 4 SEQ1 中斷清零位中斷清零位 Uint16 INT_SEQ2_CLR:1; / 位位 5 SEQ2中斷清零位中斷清零位 Uint16 EOS_BUF1:1; / 位位 6 排序緩沖器排序緩沖器1的的末尾的的末尾 Uint16 EOS_BUF2:1; / 位位 7 排序緩沖器排序緩沖器1的的末尾的

39、的末尾 Uint16 rsvd1:8; / 位位 158 保留位保留位;union ADCST_REG Uint16 all; struct ADCST_BITS bit;struct ADC_REGS union ADCTRL1_REG ADCTRL1; / 模數轉換控制寄存器模數轉換控制寄存器1 union ADCTRL2_REG ADCTRL2; / 模數轉換控制寄存器模數轉換控制寄存器2 union ADCMAXCONV_REG ADCMAXCONV; / 最大轉換通道樹寄存器最大轉換通道樹寄存器 union ADCCHSELSEQ1_REG ADCCHSELSEQ1; / 通道選擇排

40、序控制寄存器通道選擇排序控制寄存器l union ADCCHSELSEQ2_REG ADCCHSELSEQ2; union ADCCHSELSEQ3_REG ADCCHSELSEQ3; union ADCCHSELSEQ4_REG ADCCHSELSEQ4; union ADCCASEQSR_REG ADCASEQSR; / 自動排序狀態(tài)寄存器自動排序狀態(tài)寄存器 Uint16 ADCRESULT0; / 轉換結果緩沖寄存器轉換結果緩沖寄存器 015 Uint16 ADCRESULT1; Uint16 ADCRESULT2; Uint16 ADCRESULT3; Uint16 ADCRESULT

41、4; Uint16 ADCRESULT5; Uint16 ADCRESULT6; Uint16 ADCRESULT7; Uint16 ADCRESULT8; Uint16 ADCRESULT9; Uint16 ADCRESULT10; Uint16 ADCRESULT11; Uint16 ADCRESULT12; Uint16 ADCRESULT13; Uint16 ADCRESULT14; Uint16 ADCRESULT15; union ADCTRL3_REG ADCTRL3; / 模數轉換控制寄存器模數轉換控制寄存器3 union ADCST_REG ADCST; / 模數轉換狀態(tài)寄存

42、器模數轉換狀態(tài)寄存器;/ 模數轉換外部參數函數聲明模數轉換外部參數函數聲明extern volatile struct ADC_REGS AdcRegs;#endif / DSP28_ADC_H 定義結束定義結束說明說明上述形式定義后,如果要對上述形式定義后,如果要對ADCTRL1付值付值value,則,則表達式為:表達式為:AdcRegs.ADCTRL1.allvalue;如果要對如果要對ADCTRL1的某一位進行操作,如對的某一位進行操作,如對ADCTRL1的復位位寫入的復位位寫入1,使,使ADC模塊復位,則表模塊復位,則表達式為:達式為:AdcRegs.ADCTRL1.bit.RESET

43、1; 命令文件常用的幾種偽指令。命令文件常用的幾種偽指令。段:編譯器產生幾個可以重新分配的代碼塊和數據段:編譯器產生幾個可以重新分配的代碼塊和數據塊。它可以以各種模式分配到存儲器中以符合多種塊。它可以以各種模式分配到存儲器中以符合多種系統(tǒng)配置。系統(tǒng)配置。有兩種基本的段類型:已初始化段和未初始化段。有兩種基本的段類型:已初始化段和未初始化段。 已初始化段:包含數據表或可執(zhí)行的代碼。已初始化段:包含數據表或可執(zhí)行的代碼。編譯器產生以下已初始化段:編譯器產生以下已初始化段:.text,.cinit,.const,.econst,.pinit 和和.switch。 .text包含所有可執(zhí)行的代碼和常量

44、。包含所有可執(zhí)行的代碼和常量。.cinit 包含全局變量和靜態(tài)變量的包含全局變量和靜態(tài)變量的C初始化紀初始化紀錄。錄。.pinit 包含全局構造器(包含全局構造器(C+)程序列表。)程序列表。.const 包含字符串常量和明確初始化了的全局包含字符串常量和明確初始化了的全局和靜態(tài)變量(由和靜態(tài)變量(由const限定了的)的初始化和說明限定了的)的初始化和說明。.econst 包含字符串常量和明確初始化了的全局包含字符串常量和明確初始化了的全局和靜態(tài)變量(由和靜態(tài)變量(由far const限定了的)的初始化和說限定了的)的初始化和說明。明。.switch 包含轉換語句聲明的列表。包含轉換語句聲明

45、的列表。未初始化段:在存儲器(通常是未初始化段:在存儲器(通常是RAM)中保留了)中保留了空間。這些段在目標文件中沒有實際內容,僅僅空間。這些段在目標文件中沒有實際內容,僅僅保留存儲空間而已。保留存儲空間而已。在程序運行時,創(chuàng)建和存儲變量可以使用這些空在程序運行時,創(chuàng)建和存儲變量可以使用這些空間。間。編譯器產生未被初始化段包括:編譯器產生未被初始化段包括:.bss, ebss,.stack,.sysmem 和和.esysmem。 .bss 為全局和靜態(tài)變量保留的空間。在程序為全局和靜態(tài)變量保留的空間。在程序啟動時,啟動時,C引導程序將引導程序將.cinit空間(可以在空間(可以在ROM中)中)

46、中的數據復制出來并存儲在中的數據復制出來并存儲在.bss空間中??臻g中。.ebss 為由為由far限定的全局和靜態(tài)變量或者使用限定的全局和靜態(tài)變量或者使用大存儲器模式時的全局和靜態(tài)變量保留的空間。在大存儲器模式時的全局和靜態(tài)變量保留的空間。在程序啟動時,程序啟動時,C引導程序將引導程序將.cinit空間(可以在空間(可以在ROM中)中的數據復制出來并存儲在中)中的數據復制出來并存儲在.ebss空間中??臻g中。.stack 為為C系統(tǒng)堆棧保留的空間。這個存儲區(qū)用系統(tǒng)堆棧保留的空間。這個存儲區(qū)用于給函數傳遞變量和為局部變量分配空間。于給函數傳遞變量和為局部變量分配空間。.sysmem 為動態(tài)存儲分

47、配保留的空間。保留的空間為動態(tài)存儲分配保留的空間。保留的空間被宏函數所用。如沒有使用宏函數,該空間大小保被宏函數所用。如沒有使用宏函數,該空間大小保留為留為0。.esysmem 為動態(tài)存儲分配保留空間。保留的空間為動態(tài)存儲分配保留空間。保留的空間被被far宏函數所用。如沒有使用宏函數所用。如沒有使用far宏函數,該空間大宏函數,該空間大小保留為小保留為0。說明說明 鏈接器從不同的模塊中取出每個段并將這些段用同一鏈接器從不同的模塊中取出每個段并將這些段用同一個名稱聯合起來產生輸出段。個名稱聯合起來產生輸出段。 全部的程序都是由這些輸出段組成的。全部的程序都是由這些輸出段組成的。 可以根據需要將這

48、些輸出段放置到地址空間的任何位可以根據需要將這些輸出段放置到地址空間的任何位置,以滿足系統(tǒng)的要求。置,以滿足系統(tǒng)的要求。 .text, .cinit和和.switch段通常鏈接到段通常鏈接到ROM和和RAM中,中,且必須鏈接到程序存儲器中(且必須鏈接到程序存儲器中(page 0)。)。 .const段也可以鏈接到段也可以鏈接到ROM和和RAM中,但必須在數中,但必須在數據空間(據空間(page 1)。)。 .bss/.ebss,.stack和和.sysmem/.esysmem段必須鏈接到段必須鏈接到RAM中且必須在數據存儲器中。中且必須在數據存儲器中。 每個段所需要的存儲器類型每個段所需要的存

49、儲器類型 MEMORY偽指令:用來標示實際存在目標系統(tǒng)偽指令:用來標示實際存在目標系統(tǒng)中可以使用的存儲器范圍,每個存儲器范圍具有中可以使用的存儲器范圍,每個存儲器范圍具有名字、起始地址和長度;名字、起始地址和長度;SECTIONS偽指令:描述輸入段是如何組合到輸偽指令:描述輸入段是如何組合到輸出段內的。出段內的。命令文件可以把程序下載到命令文件可以把程序下載到F28x片內片內RAM中。中。 / 文件文件:EzDSP_RAM_lnk.cmd/ 標題:標題:該命令文件假設用戶在導入時跳到該命令文件假設用戶在導入時跳到H0模式模式MEMORYPAGE 0: /* SARAM H0 在在PAGE 0

50、和和PAGE 1之間分配之間分配 */ PRAMH0 : origin = 0 x3F8000, length = 0 x001000 /* 僅當從僅當從XINTF Zone 7導入時,該存儲模塊與復位矢量一起下載;否則復位矢量導入時,該存儲模塊與復位矢量一起下載;否則復位矢量從導入從導入ROM獲取。查看以下的部分獲取。查看以下的部分*/ RESET : origin = 0 x3FFFC0, length = 0 x000002 PAGE 1: /* SARAM */ RAMM0 : origin = 0 x000000, length = 0 x000400 RAMM1 : origin

51、= 0 x000400, length = 0 x000400 /*外設模塊組外設模塊組0: */ DEV_EMU : origin = 0 x000880, length = 0 x000180 FLASH_REGS: origin = 0 x000A80, length = 0 x000060 CSM : origin = 0 x000AE0, length = 0 x000010 XINTF : origin = 0 x000B20, length = 0 x000020CPU_TIMER0: origin = 0 x000C00, length = 0 x000008 CPU_TIME

52、R1: origin = 0 x000C08, length = 0 x000008 CPU_TIMER2: origin = 0 x000C10, length = 0 x000008 PIE_CTRL : origin = 0 x000CE0, length = 0 x000020 PIE_VECT : origin = 0 x000D00, length = 0 x000100 /*外設模塊組外設模塊組1: */ ECAN_A : origin = 0 x006000, length = 0 x000100 ECAN_AMBOX: origin = 0 x006100, length =

53、 0 x000100 /*外設模塊組外設模塊組2: */ SYSTEM : origin = 0 x007010, length = 0 x000020 SPI_A : origin = 0 x007040, length = 0 x000010 SCI_A : origin = 0 x007050, length = 0 x000010 XINTRUPT : origin = 0 x007070, length = 0 x000010 GPIOMUX : origin = 0 x0070C0, length = 0 x000020 GPIODAT : origin = 0 x0070E0, length = 0 x000020 ADC : origin = 0 x007100, length = 0 x000020 EV_A : origin = 0 x007400, length = 0 x000040 EV_B : origin = 0 x007500, length = 0 x000040 SPI_B : origin = 0 x007740, length = 0 x000010 SCI_B : orig

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論