[C6000]C6713DSK新手入門問題

歡迎初次使用TI DSP的網友們,可於此處查詢有關TI DSP開發環境及軟硬體相關設定

版主: cheer_adm, Clark, Abby

[C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-12, 17:05

使用dsk6713來做一些example
如果要run ti 附的example都是ok的
可以讓自己熟悉ccs的使用
但是
假如要自己動手寫一個小程式
就好比我想丟個sine波給aic23讓他輸出個幾kHz的聲音
說真的
我毫無思考力
看ti的程式 寫的精簡
但其實csl bsl的應用結果

雖然我買了一些書本也看了一些ti 的datasheet
但總覺得缺少了什麼
另外
我在寫基本的微處理機 例如8051 也是生手
會不會是因為我對於這些8051的經驗缺乏
導致現在直接接觸dsp會更顯無力呢?
或者我該如何來補強我的基楚呢?
例如讓自己能清楚瞭解dsp與週邊動作原理 資料傳輸等~~
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:44

要熟悉TI的DSP必須先從你想要用的周邊開始,
以你想要用AIC23輸出為例,
必須先知道,AIC23是以McBSP與DSP相連接,
因此,必須研究一下McBSP這個周邊(暫存器、工作模式...),
然後就會知道要讓McBSP控制AIC23要有哪些設定...
其他的周邊亦是如此...

至於Project的架構,
可以參考現有的Project,就會知道一個Project大概有哪些東西。
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:45

再請教您~
我的作法也是研究aic23與mcbsp的溝通
可是
我參考ti的程式時
卻發現他的程式都是以bsl搭配csl在撰寫的
我一層層地去研究每個c語法的程式
試著去瞭解他的動作概念
請問您
我這樣的作法正確嗎
還是我應該作哪些改進而不是一直攻這些程式碼呢?
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:45

瞭解程式的語法當然是對的,
但是,必須配合硬體,
也就是說,你必須瞭解硬體以後,
這樣在看那些程式時,
自然而然就會知道程式的目的是什麼。
因為BSL與CSL絕大部分都是在設定或驅動某個週邊,
所以,先瞭解周邊硬體,或者,邊看程式但是要配合硬體,
這樣會比較好....
個人一點小小建議....
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:46

在此我有兩個問題想請問:
第一個問題是:是否有用C++來寫串列port的書可以推薦的呢?
因為我實在沒有概念而且之前寫8051的經驗很少!!
我連用c++下指令讓時脈或是命令字元為幾位元等等的概念都沒有
頭腦可能有問題吧!

第二個問題是:我在csl_mcbsphal.h中有看到程式對於每一個暫存器的macro都有設值 所以我想請問 這些值是怎麼設的呢?為什麼會知道這些值呢?
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:46

第一個回答:就我所知,好像沒有這種書。
第二個回答:舉個例子好嗎?
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:49

就第二個問題我在這裡舉個例子:
在csl_mcbsphal.h中有定義mcbsp的暫存器
例如在SPCR這個項目下就定義著:
#if (C11_SUPPORT || C64_SUPPORT)
#define _MCBSP_SPCR_FREE_MASK 0X02000000u
#define _MCBSP_SPCR_FREE_SHIFT 0X00000019u
#define _MCBSP_SPCR_FREE_DEFAULT 0X00000000u
#define _MCBSP_SPCR_FREE_OF(x) _VALUEOF(x)
#define _MCBSP_SPCR_FREE_NO 0X00000000u
#define _MCBSP_SPCR_FREE_YES 0X00000001u
等等...........................................
在此我想請問:
其中MASK,SHIFT的值是怎麼來的?(NO和YES的我知道...)
另外_OF(x)的用法可以請你說明一下下嗎?
因為我看了datasheet中的說明 可是不是很明白!
還有 最後那個小寫的"u"是什麼意思呀?

另外一個小問題:
我之前請教過...
例如:DSK6713_AIC23_openCode(int id,.....)
在這個函數中的"id"指的是什麼呢?
我看文件中說 6713dsk的id為"0"
但是不清楚為何為"0"
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:50

1. 有些是那個暫存器的預設值,您可以去查查該暫存器的設定。
2. id指的是AIC23的id,由0開始算,DSK上面只有一個AIC23,所以他的id就是0。
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:50

謝謝妳的答覆!

我想請問:
第一.我有必要去了解每一個BSL及CSL中function是怎麼寫的嗎?
還是說我只要會使用就好了呢?

第二.假如 我將板上的某一個device換成其他型號
是否就得去建立自己的library?
  可是我看library似乎挺龐大的
好像不是一個人就可以建立起來的
所以 請問您我的顧慮是正確的嗎?
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00

Re: [C6000]C6713DSK新手入門問題

文章旺旺 » 2009-02-13, 9:50

1. 知道怎麼用即可。
2. CSL不用改,BSL要。
頭像
旺旺
論壇管理員
 
文章: 2050
註冊時間: 2009-02-12, 12:00


回到 新手查詢區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客