久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Ti DSP編程入門

 AwayFly 2011-03-24

寫一個Ti DSP編程的入門文章吧,。下面我把Ti DSP簡稱DSP,以DM642為例子吧。

底層編程首先對硬件環(huán)境是要熟悉的,,硬件環(huán)境包括:

  1. BOOT方式
  2. 內存,,寄存器映射
  3. 片上設備控制

比如,DM642可以從PCI BOOT可以從Flash BOOT,,到底如何BOOT是由外部引腳配置的,,即硬配置,對于編程來說是不需要理解太多的,,硬件工程師說明的,。如果是PCI BOOT就多看看PCI BOOT方面的資料。有時開發(fā)板提供例子,,比如BSP/BSL/(板級支持包什么名字都一個意思,,一套軟件上的接口),Ti為DM642提供了CSL(芯片支持庫,,主要是片上設備控制的C庫),。需要說明的時,沒有CSL一樣可以編DSP,,那就是查設備的寄存器的用法,,這些都是芯片廠家肯定會提供的。

除此之外,,Ti為DSP提供了一個內核環(huán)境,。作為coder,先可以不了解很多內核機制,,只要知道這個內核怎么用就可以了,,事實上我也沒有去了解很多內核的機制,當然所有內核的機制都差不多,。如果有其他內核編程經驗就很容易理解了,。

然后,C語言當然是必須掌握的,。先不說軟件思想有多少,,至少要很清楚源代碼到二進制是如何的一個過程。這些都不是DSP特有的,。

最后,,底層編程調試工作一般都是仿真,所以對仿真也是要有一定理解的,,簡單地提一下,,DSP仿真就是J-tag。通過捕獲DSP 的Jtag口就可以仿真了,,其內部是一種通訊,。比如仿真時要觀察DSP的RAM,,就是通訊的方式通知DSP,DSP內部得到RAM的數(shù)據(jù),,發(fā)到J-tag,,一切都是廠商和硬件做好的,不多解釋了,。

下面解釋一下DM642從和PC配合時啟動

  1. 上電后,,DM642處于RESET狀態(tài)
  2. PC上電后,BIOS為DM642分配資源
  3. PC啟動操作系統(tǒng),,操作系統(tǒng)發(fā)現(xiàn)PCI設備,,加載設備驅動
  4. 設備驅動得到DM642的RAM(包括寄存器)到PC的資源映射(IO或者Memory)
  5. PC像控制別的設備一樣寫寄存器,寫內存,,最終就是把固件寫到DM642外部RAM里
  6. 然后就是讓DSP脫離RESET,,控制一個寄存器或者什么的

 

下面解釋一下DM642的地址空間

  1. 片內RAM
  2. EMIF (SDRAM,F(xiàn)LASH)

對于地址空間,,就是DM642需要存儲數(shù)據(jù),,或者做IO控制的,。DM642主要是拿EMIF接SDRAM做為RAM,,F(xiàn)LASH做為ROM。片內RAM可以做高速RAM,,也可以配置成Cache,。如何配置就是寄存器了,當然用CSL更方便,。

 

下面解釋幾個片上外設

  1. I2C ,,I2C主要有時鐘相關的寄存器,一次二次PLL控制得到工作頻率,;master slaver 本地地址 傳輸方向等等都是寄存器配置,,和Cache一樣,最好用CSL控制
  2. Vedio-Port,,設置捕獲還是輸出,,設置視頻類型RGB還是YUV,都是數(shù)字信號,,等等都是CSL控制,,不推薦用寄存器
  3. GPIO,也是寄存器

通過3個例子可以看出,,目前來說,,DM642的編程和單片機區(qū)別不大,都是寄存器,。

 

下面解釋一下DSP/BIOS,,以下簡稱BIOS,和PC 的BIOS不是一回事

DSP/BIOS是Ti提供的一個內核,RTOS,。RTOS也不是什么稀奇的東西,,簡單地說就是一個實時響應能力比較強的東西,從軟件上看就是中斷處理性能比較高,。

BIOS提供任務管理功能,,如果有PC軟件經驗可以認為BIOS里的任務就是線程。硬中斷和PC一樣,,軟中斷和Windows里的DPC差不多概念,。而CLK其實是硬中斷一樣 PRD其實是軟中斷實現(xiàn)的 IDLE就是最低優(yōu)先級的TSK。既然有多任務就必然有一堆任務同步相關的東西,,SEM(信號量)LCK(資源鎖)ATM(原子操作)等等,,MBX(郵箱)可以看做是消息的意思,這些文檔里面都有,,就需要看書和積累了,。

BIOS本身還提供一些內存管理。內存管理基本上用的不多,,主要是配置,,這個和硬件相關多一點。

外設管理,,外設是任何一個操作系統(tǒng)的一個大話題,,Windows如此,BIOS也是,。DSP編程是危險的,,自己的代碼很容易讓BIOS崩潰,根本原因就是BIOS的代碼很容易就可以被自己的代碼修改,,另外棧溢出也是一個原因,。總之就是BIOS被破壞了,?;氐酵庠O的話題,BIOS下對于那些外設都是可以用寄存器或者CSL了控制的,,所以外設控制本身是簡單的,。由于考慮到軟件的規(guī)范或者說Ti的規(guī)范,建議外設控制都寫成Mini-Driver的形式,。

關于Mini-Driver,,Ti的DDK里面有文檔,例子,。簡單地介紹一下,,Mini-Driver是Class Driver下的一個規(guī)范性Driver,就是說,,Mini-Driver提供一套符合Class Driver標準的接口被Class Driver調用和抽象。而Class Driver本身也有一些接口是可以被Mini-Driver使用的,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多