【案例测试一】 TMS320C665557开发板|ndk_client的功能案例测试0 [5 b/ M1 y7 `9 p
* ^$ ]( B5 v- K; O4 O6 \( w6 g. f
: A7 n5 v; t3 a; {2 r; P- C
6 m$ L2 P) f( C$ W! Q" Dndk_client案例, l6 b9 _7 Y+ u+ b. E
. e4 g3 q2 a% h1 l* K4 m4 p
+ d7 [! i" L" a' x) j, R本文档案例程序默认使用DSP型号为TMS320C6657评估板、DSP端DDR3容量为1GByte的核心板,通过TL-XDS200仿真器加载运行进行操作效果演示。请通过Micro USB线将DSP UART0调试串口与PC机进行连接,打开串口调试终端SecureCRT并正确进行串口连接设置。: M' D- y6 s9 z
/ U; {$ \+ ~7 _1 F* n" g( h1 }- p; M) Z# R) L1 G" e( h$ j
5 [; I2 W; @6 T+ @8 s* D& U# D {. C
本开发案例,主要基于创龙科技TI KeyStone架构C6000系列TMS320C665x多核C66x定点/浮点DSP以及Xilinx Artix-7 FPGA处理器设计的高端异构多核TMS320C6655/57评估板,由核心板和评估底板组成。核心板内部DSP与FPGA通过SRIO、EMIF16/uPP、I2C通信总线连接。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
/ F, z9 h( Z# ^0 y* f" F& F. ]& N5 ?& r, g+ U& O$ a
; \ J( x7 Q k, Y
) R- o7 _% b8 R! p' j( W, O; ?1 a. v( e- c
TMS320C6655/57评估板接口资源丰富,引出千兆网口、PCIe、SRIO、EMIF16/uPP、双路SFP光口等高速通信接口,方便用户快速进行产品方案评估与技术预研。
7 `( u Q! Q: ]0 T# r l4 T4 H8 ~; ~& A, ]" b
0 N$ `2 L3 y x- q
- t ?& W+ N9 T
DSP RTOS(SYS/BIOS)案例基于多核软件开发包BIOS-MCSDK中的pdk_C6657_1_1_2_6包进行开发,底层调用的是CSL(Chip Support Library)函数库,并加入SYS/BIOS实时内核实现多任务运行。$ V" T) F! U9 @) {; X7 b i8 j
( g* E5 u4 j( k: L! A4 ^4 g+ M" |$ u1 f0 ]' j9 o7 Z" G
DSP RTOS案例位于产品资料“4-软件资料\Demo\DSP_Demo\RTOS-demos\”路径下。案例目录说明如下表,其中bin目录存放程序可执行文件,project目录存放案例工程源文件。
, ]% w8 G+ q/ Z! ^ ​0 e9 K+ Z N& v% u& A% O }
% f3 }5 ~$ F* H+ S
表 1
: d0 e: B/ B% @ m" e目录5 E/ ^) t& s3 ~' s1 k% @ H
| 文件/目录
# V' w; P) @/ ?$ B7 J | 说明
- i8 a t u# ] | bin, @, r" u o% R# u" {- ]6 @
| xxx.out
' a9 U9 C7 S" I6 U0 e" T2 U | 程序可执行文件
4 J# Z) O \: W; l | project
, R' ]' u" x; u; E( p | xxx.c
2 n7 W. v5 v& b. M+ i9 P | 程序源码文件
9 ?* W& V# a1 H' ]* T | xxx.cfg; h( k5 [) `) I" W# ?) E2 w
| RTSC配置文件2 s$ U: l% ^$ s/ A: [
| driver
s5 T4 V% U( y$ ]) v | 驱动文件存放目录
+ \# M" }- P* c- F1 m | system. `0 R' a4 @2 ~1 A1 ?% _
| 平台文件存放目录# | O- F4 ^! D( j; r- o; \, ?
| .ccsproject/.cproject/.project
. w9 U* d. ^$ v8 l7 e | CCS工程文件' _3 [' a+ _7 z: }- v
0 {# V) a/ I9 o2 D, c) c | 7 S$ R+ R- \) H( u+ S! F! O
 ​1.1 案例说明案例功能:TMS320C6655/57评估板通过网口接收上位机数据后,将数据重新发送至上位机(PC)。TMS320C6655/57评估板作为UDP Server和TCP Server,上位机作为UDP Client和TCP Client。
( n G8 I6 I8 a- |* U9 w5 w ​1.2 关键代码(1) 初始化sgmii。  ​1 q& L2 C& O! U4 D9 B, k" _' ?: T* `
图 94 f- J8 {; v) P$ n4 \! y# }0 h! y! `: X
$ h: O7 Z2 V% @
$ R+ h0 X- G; Q, w(2) 动态创建ndk_client任务。  ​ O, @% l+ F* n% n0 n4 W+ S
图 10
/ x6 y: ]# ^9 y" X) y& Q- Z3 Z9 r* t% D# p, B0 J" K. s# Y
' V+ W3 Y$ {9 C4 ~
(3) 默认使用DHCP模式自动获取IP地址,如需修改为静态IP地址,可参考如下说明进行配置。  ​' w' l9 Y+ ^* l* o3 `4 c: K
图 11
: q: `) k6 l9 m' x ​/ L; E0 a) x. \- c, B
图 12( x1 E" s8 _1 M- H. f
 ​0 K" h4 `; R% }$ W2 [' j# R
图 13( P# [ ]5 `" M. t0 y; E2 c3 T
0 h: I+ }5 n! k, P) [7 U* ^/ T+ `& L+ L$ ?, l& z7 f
(4) 设置网页界面登录账号与密码。  ​$ ?) l* r4 d0 r( \7 q
图 14
& @. f# d' K! K ~
3 E( e( k! x& r% D9 Z2 o9 ?+ S: _' O3 E5 o5 K
(5) NetworkOpen中创建两个守护进程,分别用于监听网络端口7与网络端口8。网络端口接收到数据后,程序将进入对应的函数响应数据接收,并将数据回传至上位机。
. M. P% t6 B7 N( E" x
n port_id:7 - dtask_tcp_echo,响应tcp的接收,并回传。 n port_id:8 - dtask_udp_echo,响应udp的接收,并回传。  ​
: z4 N& Q0 Y$ ?+ X/ f" K5 A图 15
8 n$ j( t. s3 @# ~; Z% Y0 \1 v
0 O: i$ N% U _1 [1 b; [
* m9 Q) _9 w% e1 K5 I ​1.3 案例测试" J; Z' r4 t: h& v& h$ `! m& x5 Y
请将TMS320C6655/57评估板DSP ETHERNET网口与PC机通过网线连接到同一个路由器。请运行程序,CCS的Console窗口将会打印如下信息,TMS320C6655/57评估板使用DHCP模式自动获取IP地址。案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)site.tronlong.com/pfdownload
2 }2 g& ~5 i7 K! p' _& ]/ e/ a$ D ​
. \2 _' O) K+ m6 p图 2! h7 W- N9 C* [* j
: w% c( z' Z5 N% s0 j" r+ F, H& N
* ^9 S0 H! o$ P' r! d" N(1) 上位机作为UDP Client
6 i+ U7 \4 t; I! ?- l 打开产品资料“4-软件资料\Tools\Windows\NetDebugTool\”目录下的网络调试助手软件NetDebugTool.exe,在弹出的界面中点击“新建UDP”,在设置区输入上位机IP地址,端口号默认为6666。在数据发送区输入TMS320C6655/57评估板IP地址,端口号为8(端口号可在源码中修改)。点击设置区的“启动”,在数据发送区输入需发送的数据,再点击“发送”。: @" s$ I9 D. Y8 B X5 @
# }: j! L) E5 q. b! V/ X6 N( b1 P% b. U8 K
TMS320C6655/57评估板(UDP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。 R H, ]4 v/ _4 x q& m
 ​9 S3 x* l& o+ X" p
图 3
% r! b# M; j; m3 ~(2) 上位机作为TCP Client & a# [7 P) F. H( K( b
点击网络调试助手软件界面的“新建TCP Client”,在设置区输入TMS320C6655/57评估板IP地址,端口号为7(端口号可在源码中修改),点击“连接”。在数据发送区输入需发送的数据,再点击“发送”。
; h1 |" j) g* x0 k: D% x& C4 _9 p5 h7 d0 u- A
* Y- @: s( Y' M4 L3 ]TMS320C6655/57评估板(TCP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。/ p5 @9 [: X8 w4 g
" p6 A2 }* d0 p
1 h5 c3 f T0 r ​3 C# U$ `$ |% P0 b4 s
图 46 z; K/ T6 B3 x" O" z+ h& V# l
8 ~+ |* W9 h% h( u- r4 L; a* H
8 ]/ b( d' |, k) P+ {0 X- \若5s内无数据进行发送,网络会自动断开连接。
1 q9 t, a9 [9 K1 n' V ​
7 [, L0 v. e8 i, N图 52 m6 r1 P; z+ g+ f
/ P' ?4 ~: g2 Y* T# I
' V) e8 D. t' X) o% k8 g, |% A
本案例亦实现了简易的HTML网页功能,可通过创建网页界面获取TMS320C6655/57评估板信息,实现用户交互功能。请在上位机浏览器输入TMS320C6655/57评估板IP地址打开网页界面,可点击不同选项跳转至相应的功能界面。6 ^4 e6 t" _5 O, a6 j
例如点击页面最下方的"Authenticated CGI Form Example"选项,该选项主要演示身份验证功能,在弹出的界面中输入账号密码(默认账号:username,默认密码:password,账户密码可在源码中进行设置),登录成功后可在网页界面查看相关信息。
$ ?, N& k/ W0 i ​1 U6 J, @2 S8 X
图 6
% f3 O* g3 w, M- E f; @+ \6 N: m- S9 n( Q( S
1 k' L7 {2 H9 O( Y: G5 G: {
 ​
1 y/ V0 ?8 s( n- P图 7% Y! A; Q: h! z
, ?* O) r- ?/ ~( O! l
! i9 v3 W! P+ Q ​$ w9 g4 x$ n& o. {( ^* o
图 8
6 ]9 g1 X5 \$ @
! j7 I2 K+ N) e$ C$ k5 z3 }- v# x" [- B/ D4 [
+ a- l4 F) m1 |+ j
! {2 P2 j( `) ^7 D1 u# _+ D- ~6 o( ^! m- F: ? b
下一章节分享:【案例测试二】 基于TI KeyStone TMS320C665557评估板|ndk_benchmark的功能案例测试,敬请期待!( F' @0 {1 H/ C6 V7 V) i1 g
1 n. y. l; d9 C$ V
|