2011年3月30日 星期三
[DM6437] FlashBurn
平常透過 USB 在板子上模擬都是寫在 RAM 上,所以電源一關掉,
在 dvsdk 資料夾下可以搜尋到 DM643x Flashing Instructions.pdf,
照著 PDF 的步驟下載 FlashBurn DSK,即可把程式燒進 Flash,
每次把 DSP 電源開啟時就會跑自己燒進去的程式。
記得要呼叫這行 EVMDM6437_init();
因為利用 CCS 開發,startup 和 evmdm6437bsl.lib 會自動幫我們
初始一些環境,所以要手動加入,如果沒加這行有些功能就無法 work,
像是 UART。
2011年3月15日 星期二
[C/C++] extern 的用法
想要宣告一全域變數讓其他文件 (.c 或 .cpp) 共同使用,
必須在型態前加上 extern, 表示變數在文件之外, 如 :
int data; // 宣告在 file1.c
extern int data; // 則必須宣告在 flie1.h
當 file2.c 要使用變數時, 只要 include file1.h 即可,
不必再宣告該變數.
必須在型態前加上 extern, 表示變數在文件之外, 如 :
int data; // 宣告在 file1.c
extern int data; // 則必須宣告在 flie1.h
當 file2.c 要使用變數時, 只要 include file1.h 即可,
不必再宣告該變數.
2011年2月15日 星期二
[Windows] 桌面上出現奇怪的IE圖示無法刪除
到 regedit 裡搜尋 {e17d4fc0-5564-11d1-83f2-00a0c90dc849}
這組機碼是負責搜尋功能的,大陸人很愛改寫這些機碼,
來綁架網頁和使搜尋功能壞掉,只要把這些機碼刪除,在重新修復即可。
修復搜索.reg
這組機碼是負責搜尋功能的,大陸人很愛改寫這些機碼,
來綁架網頁和使搜尋功能壞掉,只要把這些機碼刪除,在重新修復即可。
修復搜索.reg
2011年1月19日 星期三
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
覺得 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;
訂閱:
文章 (Atom)