【案例测试一】 TMS320C665557开发板|ndk_client的功能案例测试1 q6 j; `9 A+ }
6 C: x! a% d1 f8 ^6 U* V; ?- `
; J2 G; J5 w5 K- n1 ^ E2 ~
) a, F! B5 J7 S+ C9 jndk_client案例$ |* Z3 ^) S( q! l# D8 b
5 p! Z/ Z4 u, ^" [1 r8 [& k7 a
! F7 e: S/ D* U: ~本文档案例程序默认使用DSP型号为TMS320C6657评估板、DSP端DDR3容量为1GByte的核心板,通过TL-XDS200仿真器加载运行进行操作效果演示。请通过Micro USB线将DSP UART0调试串口与PC机进行连接,打开串口调试终端SecureCRT并正确进行串口连接设置。2 }7 l+ ^4 |) I4 V% @, [
2 W S0 ^ b7 T
3 P! \1 V5 v {2 l4 o
2 \/ @5 [: o# w# J9 B本开发案例,主要基于创龙科技TI KeyStone架构C6000系列TMS320C665x多核C66x定点/浮点DSP以及Xilinx Artix-7 FPGA处理器设计的高端异构多核TMS320C6655/57评估板,由核心板和评估底板组成。核心板内部DSP与FPGA通过SRIO、EMIF16/uPP、I2C通信总线连接。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。3 C j2 `# T8 L p( |0 j$ b
- n* s! p2 Z! j% v( U/ I
* d' E3 R) Z, S
; M' j9 _' r% h2 e0 n1 S- l9 N; a% ~) H6 v- a% R/ E
TMS320C6655/57评估板接口资源丰富,引出千兆网口、PCIe、SRIO、EMIF16/uPP、双路SFP光口等高速通信接口,方便用户快速进行产品方案评估与技术预研。
) o9 G: ]$ z! O3 s6 Z7 d
) d, q* }& c* F' ?: j$ Y' w; f8 `
: X5 [) E; D5 E# `3 i4 G: c6 uDSP RTOS(SYS/BIOS)案例基于多核软件开发包BIOS-MCSDK中的pdk_C6657_1_1_2_6包进行开发,底层调用的是CSL(Chip Support Library)函数库,并加入SYS/BIOS实时内核实现多任务运行。, F# z- z3 }/ W- Z9 V; T- w: Q
: j1 V2 I7 ^1 P* r9 E$ v
: b: ?" F9 t7 W/ F
DSP RTOS案例位于产品资料“4-软件资料\Demo\DSP_Demo\RTOS-demos\”路径下。案例目录说明如下表,其中bin目录存放程序可执行文件,project目录存放案例工程源文件。2 b2 e y0 @1 d
 ​1 n8 O2 Z: _/ Y% A5 y
0 u- Z9 c% s5 {+ v1 v5 s+ o1 ~表 1
! s6 w/ I5 `7 C目录
6 f- `# [: Y/ W* \ X8 m | 文件/目录: J% Z4 `8 u" \9 i# D
| 说明1 J8 U/ h: Q# f6 N E
| bin
: F6 l2 D8 ]3 A L3 Y& w0 g- z. Q0 Y | xxx.out
" o- @5 s# N# f, X+ B' E- ? | 程序可执行文件 W" c5 e' B) u3 g* ]' R5 ^
| project% k& d/ b, w) j1 d+ w
| xxx.c
4 K; i. g5 c7 P | 程序源码文件
0 x" v) D, @4 {: ~* v3 _ | xxx.cfg
+ K) ^4 v% V$ a | RTSC配置文件
! S6 F5 I; |! [4 e+ R | driver
# _( I8 n3 a; r/ Y! ~( f# h | 驱动文件存放目录
0 j# J6 \/ K# m, h6 I5 @3 r* m | system
8 p# @+ o! k' x# D. K! ~ } | 平台文件存放目录9 t `; I6 V" b+ L4 l$ Z5 d2 ?
| .ccsproject/.cproject/.project
+ \5 N0 n+ d# \% @8 ?( d | CCS工程文件: D, ~9 T4 ^3 H5 J
' `, ~' T0 E, n) Q1 E0 h7 U
| % z( r+ s* V/ Q8 a1 C; E7 @
 ​1.1 案例说明案例功能:TMS320C6655/57评估板通过网口接收上位机数据后,将数据重新发送至上位机(PC)。TMS320C6655/57评估板作为UDP Server和TCP Server,上位机作为UDP Client和TCP Client。
& t5 R8 _ E' {, `! ~5 a. B$ z ​1.2 关键代码(1) 初始化sgmii。  ​
: F* Y* q/ w K0 |. X5 b$ S图 9# L7 O) c3 r! C b- x" {7 f6 `
( ]+ B/ M# U; S
; n3 K2 b9 m6 y1 m: p/ ^(2) 动态创建ndk_client任务。  ​) M2 p# x. D. v2 b, l, M
图 10
) L0 r R0 b( ]; c! g9 O4 l4 v# k3 t: Y
' T5 Y U- E: c7 n) u) U+ l) n
(3) 默认使用DHCP模式自动获取IP地址,如需修改为静态IP地址,可参考如下说明进行配置。  ​
) a% r Y4 N. k4 @图 11
6 U" b3 ?/ R. n% @/ C ​0 W- ?6 k+ g$ t& ^
图 12
5 Y0 a4 m' W: x/ o& w( J% m1 k/ E ​
) M, m9 _, U8 d5 u- |图 13' Y. ^# D6 O# n( D8 W7 \" H
# \% N# R9 c K# l2 |$ V, \ J k2 t2 S: o4 c
(4) 设置网页界面登录账号与密码。  ​5 X5 u, B- q0 i2 t2 M) `$ d
图 141 r: L d0 Y2 H; k5 e2 {
3 A0 ?+ K* x% i$ }! i; S0 B
! \& H5 `& s8 g1 W4 \+ c(5) NetworkOpen中创建两个守护进程,分别用于监听网络端口7与网络端口8。网络端口接收到数据后,程序将进入对应的函数响应数据接收,并将数据回传至上位机。
* W9 X3 L8 {6 c7 u& E; q
n port_id:7 - dtask_tcp_echo,响应tcp的接收,并回传。 n port_id:8 - dtask_udp_echo,响应udp的接收,并回传。  ​' s5 n( j1 [9 v3 |; j) P
图 157 M% C: D5 ?+ }( F+ D+ D6 z
# @% h W9 {6 Z. F/ \2 m
# l& F6 L% `" Q/ j
 ​1.3 案例测试
! g/ N7 Y3 H2 x# F2 A" c2 |请将TMS320C6655/57评估板DSP ETHERNET网口与PC机通过网线连接到同一个路由器。请运行程序,CCS的Console窗口将会打印如下信息,TMS320C6655/57评估板使用DHCP模式自动获取IP地址。案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)site.tronlong.com/pfdownload
: x! i) y. j9 J1 U8 i ​
' y4 n9 ?8 c$ |3 h0 s" H) z3 v图 2
( n# f/ ?2 R l4 S+ S8 R$ _$ \8 x' v$ U2 P7 Q
: p3 v/ D6 p" V) C6 y2 g, l5 s
(1) 上位机作为UDP Client . X7 D+ y- }5 L$ X5 u) ^
打开产品资料“4-软件资料\Tools\Windows\NetDebugTool\”目录下的网络调试助手软件NetDebugTool.exe,在弹出的界面中点击“新建UDP”,在设置区输入上位机IP地址,端口号默认为6666。在数据发送区输入TMS320C6655/57评估板IP地址,端口号为8(端口号可在源码中修改)。点击设置区的“启动”,在数据发送区输入需发送的数据,再点击“发送”。
0 M9 f p" u! P! G/ H3 D0 @) A8 u) X6 w
- P8 b7 n* i7 d$ J" `) V+ k2 P6 B2 L! R' }8 R5 U4 l
TMS320C6655/57评估板(UDP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。! G5 j' M0 N( e- O
 ​
& h3 d- m! e) g4 [/ D图 3- @# ^2 g, b |5 A- V7 D/ }: M
(2) 上位机作为TCP Client
* G* _. G) | E! g4 ` V% g9 c 点击网络调试助手软件界面的“新建TCP Client”,在设置区输入TMS320C6655/57评估板IP地址,端口号为7(端口号可在源码中修改),点击“连接”。在数据发送区输入需发送的数据,再点击“发送”。; f! {+ u. d. V7 A/ Q; f
l# [0 m/ c. J% T: _, T1 g) ~7 [. C& d; n$ d& S
TMS320C6655/57评估板(TCP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。
7 {$ C) e/ X; t
- J% s: \8 J/ v# R+ D% s! P
9 x) j* V( o* }, W8 [ ​2 f' @3 L3 Z2 |" B2 a4 _. ^8 b
图 4
4 @2 L: M' s$ p" Z8 E \0 m: C
! y2 A" C9 f7 `" C x& w& H! ^; Y" l7 U0 Q Z1 X6 S
若5s内无数据进行发送,网络会自动断开连接。0 L6 T* Z: y& `' x3 h& f
 ​3 T% x& Z2 J4 ]
图 5% y. U+ H7 Z, B4 {, H8 f( Y
. h; t* R t6 }; c% D9 P
) k( ^# P" S ?. f3 X1 a
本案例亦实现了简易的HTML网页功能,可通过创建网页界面获取TMS320C6655/57评估板信息,实现用户交互功能。请在上位机浏览器输入TMS320C6655/57评估板IP地址打开网页界面,可点击不同选项跳转至相应的功能界面。8 @ p0 C7 z: ]6 H
例如点击页面最下方的"Authenticated CGI Form Example"选项,该选项主要演示身份验证功能,在弹出的界面中输入账号密码(默认账号:username,默认密码:password,账户密码可在源码中进行设置),登录成功后可在网页界面查看相关信息。
j! T! p/ j9 H# w$ X; |% ]" R6 Y; Y ​
. a- ]% _5 }) U8 ]图 6& Z; I1 q; ?- \. @
3 r2 z g2 f2 e5 h' o8 H! v, q% O* k
5 Y* G; ^! J, t$ y7 v# ?' l" e ​" \! l6 u" o4 \& }( Q# _
图 7+ I/ O T$ R3 m( ~. n! K: M" n. a8 T
+ y9 d3 o ?2 V5 L$ E( R) h, K0 c3 [4 t1 P, S
 ​
% V! e% f2 g* B6 I图 8
/ j! v6 V; i; y2 [2 P
7 `8 ~" E/ _: D: J( |9 g# F' E& M+ @
# C( C$ O/ E0 N# l, ~9 H
$ G. _3 w' F5 J. Q7 }! I" A! X2 l4 e5 E( [- L# ]
; s2 P1 d3 L7 T4 m7 P. s下一章节分享:【案例测试二】 基于TI KeyStone TMS320C665557评估板|ndk_benchmark的功能案例测试,敬请期待!
9 c8 I. r. I6 |) z) S3 w+ e/ z
6 a$ C) j" p- g% a* r1 @ |