Sean's Note: 12月 2010

2010年12月31日 星期五

[DM6437] 初學DSP

最近自己摸 TI 的 DM6437 DSP 真是有夠難上手了。

覺得 Output 怪怪的或 CCS 開不起來就按按 SW6 Reset 吧。

還有隨 DM6437 EVM 附的光碟,裡面有的 Driver 都很舊,有一些 bug,

可以的話就先更新,如:

DSP/BIOS: v5.31.02 -> v5.41.09.34
Code Generation Tools: v6.0.8 -> v6.1.18
DVSDK:  dvsdk_1_01_00_15 -> dvsdk_1_11_00_00


一些名詞的縮寫:
VPSS: Video Processing Subsystem
VPFE: Video Processing Font-end
CCDC: CCD Controller
VPFE: Video Processing Back-end
OSD: On-Screen Display
xDC: Express DSP Component
PSP: Platform Support Package

另外這兩個網站,可以找到許多相關資料。

TI Wiki:
http://processors.wiki.ti.com/index.php/Main_Page

TI Forum:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/default.aspx


關於最佳化:
http://processors.wiki.ti.com/index.php/C6000_CGT_Optimization_Lab_-_1

2010年12月20日 星期一

[C/C++] 動態宣告二維陣列

// ==========================

// C Style

// ==========================

int **p;
int i;


// 欲配置成 p[10][3]

p = (int **)malloc(10 * sizeof(int *));
for (i = 0; i < 10; i++){
    p[i] = (int *)malloc(3 * sizeof(int));

....

// 使用完後釋放記憶體空間
for (i = 0; i < 10; i++)
    free(p[i]);

free(p); 





// =========================

// C++ Style

// =========================

int **p; // 二維動態

// 欲配置成 p[10][3]
p = new int* [10];
for (int i = 0; i < 10; i++){
    p[i] = new int [3];

...


// 使用完後釋放記憶體空間
for (int i = 0; i < 10; i++)
    delete [] p[i];

delete [] p; 


int (*p)[3]; // 一維固定一維動態

// 欲配置成 p[10][3]
p = new int[10][3];
for (int i = 0; i < 10; i++){
    p[i] = new int [3];

...


// 使用完後釋放記憶體空間
delete [] p; 

2010年12月17日 星期五

[C/C++] 在Dev-C++安裝OpenCV2.0

(1)下載 OpenCV-2.0.0a-win32.exe
(2)安裝OpenCV2.0在C:\OpenCV2.0
(3)在DEV 工具/編譯器選項/編譯器 的編譯器設定組態中新增編譯器設定(加號按鈕)並命名為"OpenCV2.0"
(4)在連結器命令列中加入以下命令(前面框號要打勾)
-llibcxcore200 -llibcv200 -llibcvaux200 -llibhighgui200 -llibml200
(5)在DEV 工具/編譯器選項/目錄/二進位檔 加入:
C:\OpenCV2.0\bin
C:\Dev-Cpp\Bin
C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2
(6)在DEV 工具/編譯器選項/目錄/函式庫 加入:
C:\OpenCV2.0\lib
C:\Dev-Cpp\lib
(7)在DEV 工具/編譯器選項/目錄/C引入檔 加入:
C:\OpenCV2.0\include\opencv
C:\Dev-Cpp\include
(8)在DEV 工具/編譯器選項/目錄/C++引入檔 加入:
C:\OpenCV2.0\include\opencv
C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include
C:\Dev-Cpp\include\c++\3.4.2\backward
C:\Dev-Cpp\include\c++\3.4.2\mingw32
C:\Dev-Cpp\include\c++\3.4.2
C:\Dev-Cpp\include
(9)在C:\OpenCV2.0\include\opencv中找到cxoperations.hpp檔
(10)找到檔中第66行部分程式碼如下
#else
#include <bits/atomicity.h>
#if __GNUC__ >= 4
(11)將它改成如下程式碼並儲存
#else
#include <bits/atomicity.h>
#if __GNUC__ >= 4 || __MINGW32__
(12)每次開新的專案必須在專案中選擇新建的編譯器設定(OpenCV2.0)


轉載自: http://yester-place.blogspot.com/2008/06/dev-copencv.html