CCS5連接調試C64X系列DSP核


CCS從3.3改版為5.X之后,CCS 變化很大.DaVinci芯片中DSP的調試步驟也不同了.這里介紹下在CCS里如何調試DaVinci的DSP核心

1. 創建CCS V5版本的project

本人使用的CCS版本是Version:5.4.0.00091,調試器是SEED的SEED-XDS560PLUS.這里調試的是DM6467中的C64X核,用來檢驗算法的正確性.

1.1 創建一個project

在菜單欄中點擊 File -> New -> CCSProject.

在Project name中輸入項目名稱 "emcv_test". Output type中選擇 Executable, project會編譯一個.out文件,在C64x中運行.Family中選擇C6000系列,DaVinci DM646x.運行時庫選擇rts64plus.lib

在Project templates and examples中選擇 Empty Project(with main.c). 最后點擊 Finish.

這樣,一個最簡單的DSP工程就建立出來了.

接下來參考"移植EMCV到DM6467"文章,我來添加源文件.直接將emcv的cv和cxcore兩個目錄復制到我們上面創建的emcv_test工程目錄里即可.如下:

這樣刷新CCS工程就會看到

將emcv的cv和cxcore目錄包含進工程

剩下的步驟不詳細列出,因為"移植EMCV到DM6467"文中都會講到.最后我們的emcv_test工程如下:

1.2 編譯project

在project上右鍵單擊選擇Build Project選項,這里編譯出錯

本着一顆虔誠的心,我又鍥而不舍的找到了這個函數的定義處

果然,有八個參數,可是我們main函數里調用這個函數的時候只給了7個參數,這符合C++語法,但是不符合C語言語法.那么這個問題可以有兩種解決方式.

方法一:將main函數中的調用

cvRectangle(img, point1, point2, color, CV_AA, 0);

改為

cvRectangle(img, point1, point2, color, CV_AA, 8, 0);

方法二:將源文件main.c改為C++類型,即改為main.cpp即可

CCS支持C++類型,因此一般的工程修改這兩種方法都可以,但是我后期要做的是DVSDK上的DSP算法移植,大概流程為:使用CCS插件 -> 生成代碼框架 -->  修改算法接口 -->  填充完善算法框架 -->  (適當優化、測試,處理) --> 放在Linux下的DVSDK中 -->  配置XDC環境 -->  編譯CODEC -->  編譯CODEC SERVER --> 編譯APP

可能在Linux的DVSDK編譯中會對C++的支持不好,所以建議最好選擇同意將C++類型的語句都用C語言語法形式來實現.

編譯.最后會生成一個.out文件.這個文件運行在C64x核上.

2. 調試程序

這一章主要介紹如何創建target configuration以及在CCS5中如何進行調試C64x

2.1 添加gel,設置JTAG調試器

2.2 啟動debugger

啟動configuration配置.在菜單中點擊view->Target Configurations.

右鍵單擊目標target選擇Launch Selected Configuration.

之后debugger就會被啟動了.右鍵單擊master核即ARM926核然后選擇Connect Target

我們看到console上打印出來的其實就是之前我們加載的ARM端的gel文件的內容

ARM926核心連接好以后,選中A8核心,點擊菜單欄中的Scripts -> DaVinci HD1080P DSP -> DSP_Boot_from_DDR2,加載slave核即C64x核的GEL文件

右鍵單擊C64x核然后選擇Connect Target

這樣,C64x核心連接到調試器,可以下一步的調試了

2.3 加載程序

步驟如下:點擊菜單run -> Load-> Load Program.選中生成的.out文件,點擊OK, 程序加載完成

到這里,就可以像VS2008那樣跟蹤調試代碼了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM