【案例測(cè)試一】 TMS320C665557開(kāi)發(fā)板|ndk_client的功能案例測(cè)試* ~; R4 j2 ~+ y2 Q+ N6 c' ]: `
' d+ d2 q. |, T [
* c' K) M8 E$ m1 T2 L9 J% b2 p* @3 o' e5 {$ v& W
ndk_client案例
% V: F: o+ H f& |$ u
& z4 ?* v w7 F5 p. ~5 t% e! m" F4 z; x# ~' j
本文檔案例程序默認(rèn)使用DSP型號(hào)為T(mén)MS320C6657評(píng)估板、DSP端DDR3容量為1GByte的核心板,通過(guò)TL-XDS200仿真器加載運(yùn)行進(jìn)行操作效果演示。請(qǐng)通過(guò)Micro USB線將DSP UART0調(diào)試串口與PC機(jī)進(jìn)行連接,打開(kāi)串口調(diào)試終端SecureCRT并正確進(jìn)行串口連接設(shè)置。2 a+ U4 q C% G" C4 K$ c
; @: t( n% G3 g& n$ d& S# j8 e N5 ~& z9 {8 [1 X# B3 o8 Y6 y$ `/ B* ?& X
8 h3 K9 X$ n9 z m+ n' [6 g本開(kāi)發(fā)案例,主要基于創(chuàng)龍科技TI KeyStone架構(gòu)C6000系列TMS320C665x多核C66x定點(diǎn)/浮點(diǎn)DSP以及Xilinx Artix-7 FPGA處理器設(shè)計(jì)的高端異構(gòu)多核TMS320C6655/57評(píng)估板,由核心板和評(píng)估底板組成。核心板內(nèi)部DSP與FPGA通過(guò)SRIO、EMIF16/uPP、I2C通信總線連接。核心板經(jīng)過(guò)專業(yè)的PCB layout和高低溫測(cè)試驗(yàn)證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。
; N4 c! ^& P1 x# w) B- b0 y# L$ C/ V( w
4 R2 Y" }: |7 |) ~; S$ W. l1 E
3 p, _' n9 ]# R
& f1 A# U: ?- N- {TMS320C6655/57評(píng)估板接口資源豐富,引出千兆網(wǎng)口、PCIe、SRIO、EMIF16/uPP、雙路SFP光口等高速通信接口,方便用戶快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。
, o: M( q3 P9 @# O& c
. f3 H' E) ~* S1 s* B$ a4 b/ {
C7 C- H! M1 D1 h5 H5 }7 @2 k# a7 B
P0 V9 h0 q! o/ X8 |3 dDSP RTOS(SYS/BIOS)案例基于多核軟件開(kāi)發(fā)包BIOS-MCSDK中的pdk_C6657_1_1_2_6包進(jìn)行開(kāi)發(fā),底層調(diào)用的是CSL(Chip Support Library)函數(shù)庫(kù),并加入SYS/BIOS實(shí)時(shí)內(nèi)核實(shí)現(xiàn)多任務(wù)運(yùn)行。
' r' u" n0 ~* H4 e; K v: U3 C( Y7 n
, t( y) K* ~# e" A7 e
DSP RTOS案例位于產(chǎn)品資料“4-軟件資料\Demo\DSP_Demo\RTOS-demos\”路徑下。案例目錄說(shuō)明如下表,其中bin目錄存放程序可執(zhí)行文件,project目錄存放案例工程源文件。; k5 J: L7 J. q4 p- b
​
$ M" V$ v* Q/ A a# ?* ?5 I- l w0 P }3 W7 ?
表 1
+ \9 H& \7 }5 [. g. P目錄# ^: D& l& q$ S- e9 j# M9 p- r5 s
| 文件/目錄
2 o% V% C& R2 { ~ | 說(shuō)明
9 q$ I1 P! h$ o o | bin
; S) |, A, ?* r1 w4 }) {8 H | xxx.out
- t7 _. c" f8 M: W. F3 ~: _; l | 程序可執(zhí)行文件- p, _% t) s7 p
| project# E5 R) c7 Z/ Y8 F( f
| xxx.c! o" s9 }( g' i$ f4 X; w( T5 r
| 程序源碼文件
9 t2 B) R" h) m4 ]% F, | | xxx.cfg1 O3 Z+ O0 i# s+ a# g
| RTSC配置文件
/ D' W$ N( A% Y | driver$ z" w0 N; D7 i5 y$ J
| 驅(qū)動(dòng)文件存放目錄
" {/ W/ D( ]! [* _9 z | system) H+ z" g& |( F' w
| 平臺(tái)文件存放目錄" V% i+ n6 c. n$ C9 O
| .ccsproject/.cproject/.project1 T8 ~. [: Q3 r( B1 ^$ k0 N
| CCS工程文件
, V6 J) @, J) N) B# e
( X; S( c0 I/ x5 ?" P0 w |
( x$ d3 h- e8 x" a​1.1 案例說(shuō)明案例功能:TMS320C6655/57評(píng)估板通過(guò)網(wǎng)口接收上位機(jī)數(shù)據(jù)后,將數(shù)據(jù)重新發(fā)送至上位機(jī)(PC)。TMS320C6655/57評(píng)估板作為UDP Server和TCP Server,上位機(jī)作為UDP Client和TCP Client。
+ N1 z& P/ i9 O4 e' u! b% w​1.2 關(guān)鍵代碼(1) 初始化sgmii。 ​# i, Q _* \' w2 b( J3 c; U
圖 9. S& I3 k% D8 Q! }. O; R* B
, A; w1 H' ^2 Z; P( U1 q5 W$ _- d
( H/ R$ Z+ T8 p$ N5 r) P(2) 動(dòng)態(tài)創(chuàng)建ndk_client任務(wù)。 ​ i5 ` }! [5 p5 m1 i+ n( D
圖 10( V/ o5 t+ {- S; T. J7 i
* a& o: |- [4 ?1 C9 h
1 q$ }9 X( q# E) y* y ]* U! d(3) 默認(rèn)使用DHCP模式自動(dòng)獲取IP地址,如需修改為靜態(tài)IP地址,可參考如下說(shuō)明進(jìn)行配置。 ​
% p, `- z( l7 d7 E7 }4 s圖 11' W" S, g) R; W; Y4 b' n3 k' R" D
​
' @5 N5 z# c- l' N圖 12! _4 R8 r* c- b4 T e; @/ y" |
​' V4 ~$ U! r- c( V8 ^; O9 H
圖 13
+ @, d& ?. C" z g; q# E# _& U# | p! |2 M+ P5 }' v: E; A
; N- N: f# u8 o- @6 d, }+ F0 a E(4) 設(shè)置網(wǎng)頁(yè)界面登錄賬號(hào)與密碼。 ​
% v/ ^2 H; J/ `, t) t圖 14/ W* V; ^" f, H; H. u5 \; `
$ I( u4 N/ f7 v
2 ?* A4 `7 ^* a(5) NetworkOpen中創(chuàng)建兩個(gè)守護(hù)進(jìn)程,分別用于監(jiān)聽(tīng)網(wǎng)絡(luò)端口7與網(wǎng)絡(luò)端口8。網(wǎng)絡(luò)端口接收到數(shù)據(jù)后,程序?qū)⑦M(jìn)入對(duì)應(yīng)的函數(shù)響應(yīng)數(shù)據(jù)接收,并將數(shù)據(jù)回傳至上位機(jī)。 / ^0 J9 A. w' B$ h
n port_id:7 - dtask_tcp_echo,響應(yīng)tcp的接收,并回傳。 n port_id:8 - dtask_udp_echo,響應(yīng)udp的接收,并回傳。 ​
* z: m' Y; e( b, ]: T: @, f圖 15; ^8 a8 d7 d$ W. h6 e- X' j% A9 a8 o
" C8 z- B/ q# ?$ i
/ t3 K6 e# l7 T/ C1 N+ i​1.3 案例測(cè)試
, s. |2 Q5 k! z& @2 l5 f( y6 A. r請(qǐng)將TMS320C6655/57評(píng)估板DSP ETHERNET網(wǎng)口與PC機(jī)通過(guò)網(wǎng)線連接到同一個(gè)路由器。請(qǐng)運(yùn)行程序,CCS的Console窗口將會(huì)打印如下信息,TMS320C6655/57評(píng)估板使用DHCP模式自動(dòng)獲取IP地址。案例源碼、產(chǎn)品資料(用戶手冊(cè)、核心板硬件資料、產(chǎn)品規(guī)格書(shū))site.tronlong.com/pfdownload# u' T3 U {% e% n- C( X! q; E
​
5 c U6 o1 }3 P( O; T( Q) E圖 2
0 `6 |) H# E8 B. Y1 z5 F/ J) q9 n( d9 j6 W
% \7 T O' ^/ Z# ^, w! v
7 k% j4 [* w( h! k; x6 a& }6 B(1) 上位機(jī)作為UDP Client
: G. o3 k& y* o, v 打開(kāi)產(chǎn)品資料“4-軟件資料\Tools\Windows\NetDebugTool\”目錄下的網(wǎng)絡(luò)調(diào)試助手軟件NetDebugTool.exe,在彈出的界面中點(diǎn)擊“新建UDP”,在設(shè)置區(qū)輸入上位機(jī)IP地址,端口號(hào)默認(rèn)為6666。在數(shù)據(jù)發(fā)送區(qū)輸入TMS320C6655/57評(píng)估板IP地址,端口號(hào)為8(端口號(hào)可在源碼中修改)。點(diǎn)擊設(shè)置區(qū)的“啟動(dòng)”,在數(shù)據(jù)發(fā)送區(qū)輸入需發(fā)送的數(shù)據(jù),再點(diǎn)擊“發(fā)送”。
6 o9 w4 C9 Y5 A9 g) w( |$ ^: U; L! i6 L* ]: p1 W
& y- ^2 _. c5 U! lTMS320C6655/57評(píng)估板(UDP Server)接收到上位機(jī)發(fā)送的數(shù)據(jù)后進(jìn)行回傳,上位機(jī)接收到回傳數(shù)據(jù)后將其在數(shù)據(jù)接收區(qū)進(jìn)行顯示。
% j. b3 s% @+ P# g/ d# X! j​
6 X5 v6 d$ t% L0 H% O$ L0 R) i' ?圖 3
# f) z4 T4 h `4 }3 p* e(2) 上位機(jī)作為T(mén)CP Client
j: D/ G1 j' u$ x. I- x 點(diǎn)擊網(wǎng)絡(luò)調(diào)試助手軟件界面的“新建TCP Client”,在設(shè)置區(qū)輸入TMS320C6655/57評(píng)估板IP地址,端口號(hào)為7(端口號(hào)可在源碼中修改),點(diǎn)擊“連接”。在數(shù)據(jù)發(fā)送區(qū)輸入需發(fā)送的數(shù)據(jù),再點(diǎn)擊“發(fā)送”。# ?) \4 j; r+ r. E0 w) [* |
6 w* @) T8 c# H l! ~8 b# t. f/ F$ t+ e
TMS320C6655/57評(píng)估板(TCP Server)接收到上位機(jī)發(fā)送的數(shù)據(jù)后進(jìn)行回傳,上位機(jī)接收到回傳數(shù)據(jù)后將其在數(shù)據(jù)接收區(qū)進(jìn)行顯示。: l3 u$ w6 v3 }/ p9 _* m8 `, ^" m
0 e1 K3 c8 G4 I
( ?% b0 S6 k8 Q! m+ ^+ M​
9 h# I+ C0 C) E' e' u% ?$ m( E圖 4
3 ]' N+ r3 l* G/ B p* S* [9 m6 @3 S( n; I+ r5 d/ L- s
8 ?! M' c$ A% F' M7 X& I9 v若5s內(nèi)無(wú)數(shù)據(jù)進(jìn)行發(fā)送,網(wǎng)絡(luò)會(huì)自動(dòng)斷開(kāi)連接。
# j! \* e, B, x+ E+ V8 m​
" P; N0 y7 v' a4 h圖 5
8 l; U, }6 a( x" B' c1 a% s/ D* o! d. |+ Q# c R
( ~% v0 i+ J1 a! O6 w- X
本案例亦實(shí)現(xiàn)了簡(jiǎn)易的HTML網(wǎng)頁(yè)功能,可通過(guò)創(chuàng)建網(wǎng)頁(yè)界面獲取TMS320C6655/57評(píng)估板信息,實(shí)現(xiàn)用戶交互功能。請(qǐng)?jiān)谏衔粰C(jī)瀏覽器輸入TMS320C6655/57評(píng)估板IP地址打開(kāi)網(wǎng)頁(yè)界面,可點(diǎn)擊不同選項(xiàng)跳轉(zhuǎn)至相應(yīng)的功能界面。
5 `8 J5 G& O) N5 z0 f+ t4 E' d; ~* T例如點(diǎn)擊頁(yè)面最下方的"Authenticated CGI Form Example"選項(xiàng),該選項(xiàng)主要演示身份驗(yàn)證功能,在彈出的界面中輸入賬號(hào)密碼(默認(rèn)賬號(hào):username,默認(rèn)密碼:password,賬戶密碼可在源碼中進(jìn)行設(shè)置),登錄成功后可在網(wǎng)頁(yè)界面查看相關(guān)信息。
* j* E8 y3 v0 u​
- }$ z% m# v) L- X. B4 y+ g" Q圖 6- o( ~6 Y* c3 z- o
+ t2 `# _- ^. T9 ~ m
$ }9 c6 [( G O7 A, g' I1 ^
​; e0 I6 c& b, T7 E. r' v, V
圖 7
. K7 ~3 ~; }$ S: z2 U4 u5 R- {5 U- ^4 e) \' R% s2 v" o: A
$ Z3 _/ c% V5 b​
. M" o: A9 K; t4 [圖 8" }- D' @ G$ u _6 c
( b, W% J4 J& A% M& X5 n
9 U/ G$ F% n5 Y2 T0 e
- T( _" K) z- `; p/ d3 g1 H
) ?3 l' Z! ~8 b, H1 L7 x' b+ M" K( k. x4 a- a4 N
下一章節(jié)分享:【案例測(cè)試二】 基于TI KeyStone TMS320C665557評(píng)估板|ndk_benchmark的功能案例測(cè)試,敬請(qǐng)期待!
" k+ n; [7 ]" [8 [2 ^) B
( F1 p& s/ g( O |