《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > AET原創 > TMS320C6678開發十大關鍵技巧問答

TMS320C6678開發十大關鍵技巧問答

2016-12-10
作者:朱長江
來源:電子技術應用
關鍵詞: TMS320C6678 DSP

TMS320C6678 是基于TI最新 DSP 系列器件 TMS320C66x 之上,采用 8 個 1.25GHz DSP 內核構建而成,并在單個器件上完美集成了 320 GMAC 與 160 GFLOP 定點及浮點性能,從而使用戶不僅能整合多個 DSP 以縮小板級空間并降低成本,同時還能減少整體的功耗要求,充分滿足移動網絡領域對通道密度及高質量媒體服務日益增長的需求。自2011年德州儀器推出多核DSP TMS320C6678后,以該芯片為核心的DSP開放板層出不窮,學習這款芯片的人日益增多。下面小編把工程師朋友在開發這款芯片的過程中遇到的問題和解決方法以問答的形式進行了整理,希望對初學者能有所幫助!

圖片1.png

一.TMS320C6678 網絡問題

1問:用自己開發的板子,采用的雙網口設計,網口0和網口1。用TI官方給的例子只能網口1通信,在例子上修改了sgmii初始化了sgmii0和sgmii1但是還是只能網口1通信。

答:要修改網絡接口管理單元的庫,nimu。在EMACInit_Core函數中有設置發送接口配置的信息。這個函數是隱形的被NDK調用。所以剛開始比較難找到相應的位置。

2問:c6678的兩個網口是如何同時使用的, 能不能多個cpu core 同時使用同一個網口, 請賜教。

答:C6678的EMAC是cppi器件,即通過Navigator進行包的管理,所以收發的數據包都是Queue來管理,可以同時使用;需要注意的是可以配置每個發送的包由指定的port發出,或者向兩個port廣播。

二.TMS320C6678 關于多核編程問題

1問:目前的C++程序的段,都放到了DDR3里,這樣的話,我要是三個核同時運行,豈不是對其中相同的堆棧進行訪問嗎?嗯,對于所有段都放到DDR3的情況,怎樣進行多核編程呢?

答:在6678里面有MPAX MMU的,可以在DDR3上給每個核都開辟一個私有的空間,在物理地址上是連續的,但對每個核讀/寫來說地址都是相同的。不同core的system stack及task stack必須不一樣。

三.TMS320C6678主頻設置問題

1問:datasheet里面講TMS320C6678的主頻為1G,1.25G,1.4G可選,請問,如何設置TMS320C6678的主頻參數呢?是在boot的時候作設置嗎?與cmd文件有沒有關系呢?

答:首先要確定你的芯片是不是支持1.2G和1.4G,不是所有的C6678都支持。其次,主頻你是在MAINPLL里面配置的,根據你的輸入時鐘頻率,配置MAINPLL得到一個主頻。你可以通過boot做配置,也可以通過boot后軟件配置。與cmd文件沒有關聯。

四.tms320c6678 的中斷響應

1問:在中斷響應的過程中,1024個系統事件先是通過ch_map映射到channel ,channel再映射到主機中斷輸出,host interrupt output 是需要映射到INTC的system events然后才能掛接到dsp可以識別的12中斷上,這里host interrupt output是256個,INTC的system events是128個,這里host interrupt output 和system events是有什么映射關系嗎?有的話是如何映射的?

答:chip interrupt controller的輸入稱作host interrupt event,這些事件經過映射可以與任意的chip INTC channel進行映射輸出;chip INTC channel的某些輸出事件是直接與corepac INTC的對應輸入事件一一連接,具體的對應關系參考6678 data manual interrupt表格。chip intc只有特定的輸出才會core intc與的某些輸入一一對應,所以只有將Chip INTC的輸入256個事件與這些特定的輸出映射起來,才可以最終路由到core內部12個中斷矢量表。

參考中斷分享:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/25518.aspx

五.TMS320C6678多核程序的運行

1問:最近剛剛接觸多核DSP,我想問下,在準備運行多核程序時,是需要將程序在每個核里面進行load吧?TI提供的多核運行例程有哪些,具體在MSDK下的哪個位置?另外對于API函數,在對其進行直接調用時,能否在不用SYS/BIOS的情況下,使用中斷實現調用,例如uart通信,直接調用API函數實現查詢式通信,能否添加中斷函數,調用uart的API函數實現中斷式通信?

答:程序用到哪個核就需要load到哪個核里邊,在MCSDK的以下位置有多核運行的例程:demos\image_processing\ipc,不使用SYS/BIOS也可以使用API函數。

六.TMS320C6678系統設計中PCIECLK問題

1問:請問在設計基于TMS320C6678系統板時,如果不用PCIE模塊,是不是可以懸空PCIECLKP和PCIECLKN引腳,還是是分別接高電平和低電平。

答:請參考Keystone硬件設計手冊,PCIE不用時,PCIECLKP端接CVDD,N端接地,不可懸空。

七.TMS320C6678的定點運算與浮點運算

1問:看介紹,TMS320C6678是定點與浮點運算都支持的DSP芯片?,F在自己編寫的程序中,所使用的數據除了整型之外都是浮點數。想問一下,在運算浮點數的時候,DSP是否會將浮點數轉為定點數,再進行運算,然后再轉為浮點數?

答:1. 編譯器會根據客戶定義的數據類型來調用相關的匯編指令來進行運算,如果直接定義的是浮點數,那么編譯器就調用浮點數進行運算。

2. 對于浮點和定點的選擇,如果算法是從matlab或vc繼承過來的,那么前期直接用浮點數進行運算可以很容易的將算法在DSP上實現,如果后期算法成熟了,可以進行定點化,提高運行效率。

2問:c6678的兩個網口是如何同時使用的, 能不能多個cpu core 同時使用同一個網口, 請賜教。

答:C6678的EMAC是cppi器件,即通過Navigator進行包的管理,所以收發的數據包都是Queue來管理,可以同時使用;需要注意的是可以配置每個發送的包由指定的port發出,或者向兩個port廣播。

八.TMS320C6678 系統如何獲得CPU

1問:我們目前在使用DSP做一個算法處理服務器,客戶端通過TCP網絡,按照網絡協議將需要處理的數據發送給DSP服務器,DSP接到數據后進行運算,運算結束后將運算結果,再發送給客戶端。

現在的現象是,當客戶端連續發送多個數據請求時,發送到中間某一個時網絡會中斷,當前算法特點是,由于運算最較大,運算時間比較長,暫未進行優化,比如30s,50s,我們現在就是希望能讓程序正常運行,完成我們的算法要求,下一步工作再進行優化,但是現在這個中斷的問題讓我們比較頭疼,請專家指教。

經過多次試驗,最后我將我們的算法注掉,換成了下面代碼,網絡是正常的,不會中斷。

void Test(指定時間間隔)

{

    獲取系統當前時間1

    while(1)

    {

         獲取系統當前時間2

         if(時間2-時間1 >= 指定時間間隔)

             return;

    }

}

我又將我們的算法換成了下面代碼,網絡很快就會中斷。

void Test()

{

     while(...)

    {

         for(...)

        {

             純算法,加減剩除,專門用來耗時。

         }

    }

}

從上面的現象看,我們猜測,是由于算法占用CPU時間過長,系統無法獲得CPU,沒有時間處理網絡相關信息,造成的,各位大俠有什么好辦法,請多多回復。

答:因為你在DSP上沒有跑RTOS操作系統,而你的代碼是一段無限的死循環,因此CPU的Cycle都消耗在你的算法代碼里了(即PC指針一直在里面,沒有出來)。

在跑RTOS操作系統的情況下,任務按照優先級來進行運行,如果網絡屬于更高優先級任務,那么即使算法在持續運行,調度器也會切換到網絡任務,并優先運行,網絡也就不會斷了。

我們Enea是TI的白金合作伙伴,在6678上提供整套的商用平臺軟件解決方案,可以解決您的問題,有后續問題歡迎聯系我 william.dong@enea.com

我們可以在C6678上提供全套的平臺軟件,包括操作系統、BSP驅動、中間件和開發工具。

OSEck RTOS 軟件平臺包括:
       OSEck RTOS內核:
       1 穩定可靠,支持所有DSP,有20+年歷史。
       2 專門針對C66x優化。沒有內存碎片的內存管理。
       3 內存自動裁剪,統一的出錯處理機制。
       4 BSP(驅動)源代碼:優化高效的驅動,如RapidIO,Ethernet等。
       5LINX IPC: 支持分布式系統的IPC.
       6使多核、多DSP、多板卡的編程好像單核編程一樣。
       7支持任何物理介質,如C66x多核之間(EDMA),多DSP之間(RapidIO),多板卡之間(RapidIO, Ethernet)。
       8TCP/IP協議
       9Package Flow 軟件加速包
       10Optima開發優化工具:CPU,內存等性能優化工具。

Enea在DSP RTOS領域有近20年的開發、現場使用經驗,針對復雜的C6678,從2010年起專門投入30多人的專家團隊來支持優化6678軟件平臺,包括:
 內核、重寫高性能驅動、分布式支持、網絡加速、優化工具等,現在以及有30多個客戶使用Enea針對6678的軟件平臺:
1. 成熟、穩定、可靠、現場驗證的,專門針對6678 DSP特別優化的OSEck RTOS。
2. 成熟穩定的針對C6678的驅動程序,支持包括SRIO、以太網、PA、Multicore Navigator、MPAX、中斷管理等。
3. 跨核、跨DSP、跨板卡系統的透明傳輸模塊LINX。

Best Regards

William

William.dong@enea.com

九.tms320c6678電源問題

1問:在評估板上,固定1V的電流值是5A,c6678_power_consumption_summary_rev3-2表格中固定1V所需電流值僅需1A左右,修改后也達不到2A,這是為什么?

答:修改表格使能所有模塊后,在1GHz, 85度下,CVDD對應的電流大概在6A,CVDD1的電流在2A左右。你的5A可能測的是CVDD對應的值。

十.TMS320C6678降低功耗

1問:在C6678中有PDCCMD寄存器可以選擇是否關閉C66x CorePac來降低功耗,寄存器的地址是0x18000000,但是怎么選擇具體關閉哪個CorePac呢?難道在PDCCMD寄存器中設置關閉內核就都關閉了嗎?可是在提供的功耗估計表里,8個內核可以選擇具體使能哪個呀。那其他核的PDCCMD寄存器是什么地址呢?

答:PDCCMD是每個core獨立的寄存器,每個core的寄存器的地址是一樣的,只能由本核訪問。具體的corepac power down flow在corepac user guide有說明。在power spreadsheet中可以分corepac設置其enable/diable status,設置為disable status即將該core power down。


如需購買,請直接點擊,官方大促75折


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品久久精品日日| 在线视频成人| 欧美不卡视频一区发布| 欧美有码视频| 午夜精品视频在线观看| 亚洲图片你懂的| 99re6热在线精品视频播放速度| 亚洲国产精品久久久久婷婷884| 午夜在线视频观看日韩17c| 亚洲综合第一| 亚洲免费在线观看视频| 亚洲一区二区成人| 亚洲在线国产日韩欧美| 亚洲在线观看视频网站| 亚洲中字在线| 亚洲欧美制服另类日韩| 亚洲欧美日本在线| 午夜精品在线看| 欧美在线视频一区| 久久激情视频免费观看| 欧美影院视频| 亚洲福利在线观看| 最新亚洲视频| 一本色道久久99精品综合| 99www免费人成精品| 一区二区黄色| 亚洲欧美日韩国产| 久久国产精品一区二区| 久久久久久久一区二区| 蜜桃av噜噜一区| 欧美精品18videos性欧美| 欧美日本国产精品| 国产精品v欧美精品∨日韩| 国产精品久久久久久久久| 国产精品视频免费| 国产日韩精品在线播放| 黄色成人在线免费| 亚洲人久久久| 亚洲一区二区免费| 亚洲电影免费观看高清完整版在线观看| 亚洲成人在线免费| 亚洲激情偷拍| av成人手机在线| 亚洲欧美在线播放| 久久九九精品99国产精品| 欧美va亚洲va国产综合| 欧美日韩一区二区在线| 国产精品揄拍一区二区| 在线欧美日韩国产| 亚洲作爱视频| 久久er精品视频| 亚洲最新中文字幕| 欧美一区二区三区婷婷月色 | 国产精品久久久久久av下载红粉| 国产欧美1区2区3区| 精品69视频一区二区三区| 亚洲精品你懂的| 狠狠色噜噜狠狠色综合久| 亚洲国产精品电影在线观看| 99精品热视频| 欧美一区二区三区在线观看| 亚洲伦理中文字幕| 欧美一区二区三区四区夜夜大片| 免费不卡视频| 国产精品人人做人人爽| 亚洲成人在线视频播放| 一区二区福利| 久久国产精品一区二区三区| 中文精品视频| 久久亚洲图片| 国产精品成av人在线视午夜片| 精东粉嫩av免费一区二区三区| 一区二区激情视频| 亚洲国产精品日韩| 亚洲欧美在线播放| 你懂的亚洲视频| 国产精品一区二区三区久久| 亚洲福利国产| 欧美亚洲在线播放| 一区二区三区四区五区精品| 久久―日本道色综合久久| 欧美日韩国产首页| 国产性猛交xxxx免费看久久| 日韩视频一区二区三区在线播放免费观看 | 尤物99国产成人精品视频| av不卡在线观看| 久久精品五月| 午夜一区二区三区在线观看| 欧美aaa级| 国产美女精品免费电影| 91久久午夜| 亚洲区一区二| 亚洲欧洲综合另类| 久久国产免费| 欧美午夜免费| 亚洲国产成人精品久久| 欧美一区二区视频97| 国产精品99久久久久久久久久久久| 久久婷婷成人综合色| 国产精品美女久久久| 亚洲日本欧美天堂| 久久精品国产成人| 午夜精品久久久久久久男人的天堂 | 亚洲国产高清一区| 欧美一区久久| 欧美视频国产精品| 亚洲激情视频网站| 亚洲国产日韩一区| 久久久噜噜噜久久狠狠50岁| 国产精品久久久久久久久久久久久| 亚洲国内自拍| 亚洲国产福利在线| 久久久xxx| 国产欧美日韩三级| 亚洲视频一区二区免费在线观看| 亚洲免费av片| 欧美成人小视频| 在线观看日韩| 久久精品亚洲一区二区三区浴池| 久久久久久久综合狠狠综合| 国产九九精品| 亚洲欧美日韩精品一区二区| 亚洲欧美日韩一区在线| 欧美天天视频| 在线视频你懂得一区| 一区二区日韩伦理片| 欧美日本视频在线| 亚洲精品乱码久久久久久按摩观| 亚洲欧洲一区二区三区在线观看 | 久久综合狠狠| 亚洲国产aⅴ天堂久久| 亚洲国产日韩在线一区模特| 美女精品视频一区| 亚洲国产精品第一区二区| 91久久精品美女高潮| 蘑菇福利视频一区播放| 在线看不卡av| 91久久在线播放| 蜜桃精品久久久久久久免费影院| 怡红院av一区二区三区| 亚洲国产精品999| 牛牛精品成人免费视频| 亚洲国产欧美一区| 宅男噜噜噜66一区二区66| 国产精品高潮呻吟久久| 亚洲制服少妇| 久久久久网址| 亚洲电影有码| 午夜精品一区二区三区电影天堂 | 韩国免费一区| 亚洲区第一页| 欧美精品在线视频观看| 亚洲美女av网站| 午夜视频在线观看一区二区三区| 国产精品综合不卡av| 欧美在线观看视频在线| 免费成人高清视频| 亚洲精选成人| 午夜欧美理论片| 国产一区高清视频| 亚洲激情小视频| 欧美日韩国产免费观看| 亚洲一级二级| 久久一区二区三区国产精品| 最新高清无码专区| 亚洲在线免费视频| 黑人巨大精品欧美一区二区 | 欧美h视频在线| 一本色道久久综合亚洲精品小说| 欧美一区二区高清在线观看| 激情欧美日韩| 一区二区三区精品在线| 国产精品一区二区三区久久| 亚洲第一区在线观看| 欧美精品二区| 亚洲欧美国产另类| 欧美高清成人| 亚洲欧美春色| 欧美福利在线| 亚洲一区二区毛片| 免费欧美在线| 欧美久久久久久蜜桃| 亚洲国产美女久久久久| 欧美成人免费一级人片100| 一区二区精品在线观看| 久久久中精品2020中文| 亚洲精品一区二区网址| 欧美诱惑福利视频| 亚洲精品日韩一| 久久精品国产欧美亚洲人人爽| 亚洲免费av电影| 久久久久久久高潮| 99riav国产精品| 久久色中文字幕| 亚洲性视频网站| 欧美激情亚洲自拍| 欧美一区激情| 国产精品久久久久久妇女6080 | 亚洲综合导航| 亚洲经典视频在线观看|