【案例测试一】 TMS320C665557开发板|ndk_client的功能案例测试 d3 i; ?+ [( p* k5 _0 f7 Z) F
- N# I1 ^: M5 O' u7 F r* @/ Q5 H/ V2 Z- O2 m
! p( B/ _$ K% @
ndk_client案例
8 I6 d; Q5 B5 t- u L
9 ?0 U) s; }5 c: [1 M* \% }. {3 n! ]! M* ^( o& ?/ V
本文档案例程序默认使用DSP型号为TMS320C6657评估板、DSP端DDR3容量为1GByte的核心板,通过TL-XDS200仿真器加载运行进行操作效果演示。请通过Micro USB线将DSP UART0调试串口与PC机进行连接,打开串口调试终端SecureCRT并正确进行串口连接设置。 S* D! k6 V. l" a; A2 A* O5 m, p
* K) G6 p [0 i
- ?# }; S- R) f/ K8 m# t, z% m& v$ `6 z9 J
本开发案例,主要基于创龙科技TI KeyStone架构C6000系列TMS320C665x多核C66x定点/浮点DSP以及Xilinx Artix-7 FPGA处理器设计的高端异构多核TMS320C6655/57评估板,由核心板和评估底板组成。核心板内部DSP与FPGA通过SRIO、EMIF16/uPP、I2C通信总线连接。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。# r/ f5 Z7 ^1 _
! o' L" J1 R# d% _; K" j/ W; v$ W8 Z1 p1 A
9 B9 [0 [! L( r- I* R
# L5 n& w- @% \8 C7 v$ g/ }! H% YTMS320C6655/57评估板接口资源丰富,引出千兆网口、PCIe、SRIO、EMIF16/uPP、双路SFP光口等高速通信接口,方便用户快速进行产品方案评估与技术预研。
3 X! t7 t( i0 E3 V3 n' S+ m! J& y' f! A6 k' s) _
* K0 b0 e, N# H. L* B1 A
' D; q2 Y4 o; `: w0 n+ T
DSP RTOS(SYS/BIOS)案例基于多核软件开发包BIOS-MCSDK中的pdk_C6657_1_1_2_6包进行开发,底层调用的是CSL(Chip Support Library)函数库,并加入SYS/BIOS实时内核实现多任务运行。/ {% E! b' B G/ ~, H* y
0 o( B! J) c' T
; W% k# I# J5 V! \; |
DSP RTOS案例位于产品资料“4-软件资料\Demo\DSP_Demo\RTOS-demos\”路径下。案例目录说明如下表,其中bin目录存放程序可执行文件,project目录存放案例工程源文件。: X+ }% P( O: I: [. b# ]
​
' h2 `& L% a+ F+ ]
5 d8 U" P: ^8 }2 \0 X表 1
6 B: y3 [: C; z/ V8 m- Q) k目录
' _" E% Y1 }3 L7 Y( y1 X3 S- X6 y | 文件/目录. ~) j- V& ^# y$ H1 P
| 说明) c2 ]; z3 x) l) o: I
| bin
) r2 f' i; j9 U- \: ^' z- y) U | xxx.out+ n: @% X3 v9 u m
| 程序可执行文件
" i5 F+ g: {0 }! \6 ?% D, C2 m | project, ^& v7 o( i" X% F9 X. m
| xxx.c
) a! X1 A2 G: |/ [. S- { | 程序源码文件
* M+ p. `9 a) I* r$ b6 w | xxx.cfg N9 o# I P; F9 Y, A; o
| RTSC配置文件
X' a3 Z% C7 z0 t6 W2 _ | driver
0 z# g H% F4 k; w | 驱动文件存放目录! i8 [4 h! C* s- j. F+ x
| system, H. I8 u* L. C
| 平台文件存放目录/ N/ y% z: A" B; G; n
| .ccsproject/.cproject/.project
1 F6 W& P$ ^. g& X0 R | CCS工程文件
! n( w1 H4 r0 Q& D6 k6 Q C6 |0 f i$ F! z, b9 Q
|
# Q& S: K/ o1 n: P" l. W/ m​1.1 案例说明案例功能:TMS320C6655/57评估板通过网口接收上位机数据后,将数据重新发送至上位机(PC)。TMS320C6655/57评估板作为UDP Server和TCP Server,上位机作为UDP Client和TCP Client。4 o6 y1 v8 C( \, o9 U! I
​1.2 关键代码(1) 初始化sgmii。 ​
+ Y) c P' p# i8 [ d( z0 t图 9
5 o! B* Q7 S6 X: b" o: J( `7 k1 U5 M7 S, J, R/ g2 F
6 O5 F# V" k# s- o2 v' w! B(2) 动态创建ndk_client任务。 ​
) z! a, l2 @% z, {$ {图 10' K3 K. K7 ~% s' [. n
8 ]6 S. U8 H N: I- M
9 \: Y2 h4 [8 {7 W# ]7 R(3) 默认使用DHCP模式自动获取IP地址,如需修改为静态IP地址,可参考如下说明进行配置。 ​$ R, { |, G$ n7 b/ `6 A$ \/ E
图 11# n7 c+ c: _0 ~- U$ A
​
% ?2 G0 y$ L8 X! @: H; y图 129 y* O2 v" O1 \ [% R* B9 p1 C
​+ a& `( D# n+ j- u" R+ c% ~
图 13
, i4 t2 u- X1 N' G# V3 f2 O( R
' ] y3 M* p' s8 J4 i3 S+ l S+ R0 G/ L
(4) 设置网页界面登录账号与密码。 ​
. X* g A9 O" ~! f* I( ^图 14* k' m' G1 c' Z
$ ?- e. B5 U7 r: t, E2 p2 k" I4 S; `8 W& a0 f
(5) NetworkOpen中创建两个守护进程,分别用于监听网络端口7与网络端口8。网络端口接收到数据后,程序将进入对应的函数响应数据接收,并将数据回传至上位机。
- H; @" C+ b( M( v
n port_id:7 - dtask_tcp_echo,响应tcp的接收,并回传。 n port_id:8 - dtask_udp_echo,响应udp的接收,并回传。 ​
1 u) M9 _: X& P/ u5 W9 `& o图 15
- N- P; ~0 f: `" R% x& K5 ^# B. Y6 t, Y5 U' e' G
E$ f( f$ p* x) e) x6 b4 }​1.3 案例测试
4 U. M4 n F3 T请将TMS320C6655/57评估板DSP ETHERNET网口与PC机通过网线连接到同一个路由器。请运行程序,CCS的Console窗口将会打印如下信息,TMS320C6655/57评估板使用DHCP模式自动获取IP地址。案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)site.tronlong.com/pfdownload
5 I7 Z/ ^7 F! y$ Z​1 Z7 L( G& u$ P6 E7 v5 p1 \. `
图 2- f4 M7 c4 D- ?9 ~( ?
: p i3 ~" N' T) B1 u) V6 E0 J( D
- w1 e, }: K% [; r$ V1 `
(1) 上位机作为UDP Client
; W- m) M) U( p; _0 ` 打开产品资料“4-软件资料\Tools\Windows\NetDebugTool\”目录下的网络调试助手软件NetDebugTool.exe,在弹出的界面中点击“新建UDP”,在设置区输入上位机IP地址,端口号默认为6666。在数据发送区输入TMS320C6655/57评估板IP地址,端口号为8(端口号可在源码中修改)。点击设置区的“启动”,在数据发送区输入需发送的数据,再点击“发送”。
" ~8 {+ h, o: V" G3 I4 J- [- T# y0 E6 i3 X2 s+ I
5 o4 H+ x- G j
TMS320C6655/57评估板(UDP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。
8 e- U- c0 D' b1 K​
6 [: ?1 D' v( X! y图 36 d9 [* R$ O7 m. X* q
(2) 上位机作为TCP Client 5 a$ g/ f/ o% u* ~# x
点击网络调试助手软件界面的“新建TCP Client”,在设置区输入TMS320C6655/57评估板IP地址,端口号为7(端口号可在源码中修改),点击“连接”。在数据发送区输入需发送的数据,再点击“发送”。4 ^) A u9 J( n0 D/ Q: H
) q# ?! j6 f P" T$ w% Y; `% i( D4 \2 ]9 s7 d' n
TMS320C6655/57评估板(TCP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。
/ a9 }1 {- s7 ?# U, }+ t: u
^, @0 X+ q/ T
/ u* W* b! n/ K+ Q3 j8 [​6 H# P$ O2 h% }8 k5 |
图 47 B$ C, U9 P. d) N3 H: T$ [
G( Q8 }7 o! n) o4 q5 i" Z3 Z9 b/ L! d" Q, M' |8 w
若5s内无数据进行发送,网络会自动断开连接。
7 b9 h7 A' S* R4 t, |​& g# z+ N6 V1 M" G/ i
图 55 `7 D& p" r: |) M- D
$ J1 Z* {, F& g. x) y
7 S2 P1 H- x3 u/ I" x3 |3 R本案例亦实现了简易的HTML网页功能,可通过创建网页界面获取TMS320C6655/57评估板信息,实现用户交互功能。请在上位机浏览器输入TMS320C6655/57评估板IP地址打开网页界面,可点击不同选项跳转至相应的功能界面。
3 G" x3 Q0 ]7 i4 b9 J0 w7 D) |例如点击页面最下方的"Authenticated CGI Form Example"选项,该选项主要演示身份验证功能,在弹出的界面中输入账号密码(默认账号:username,默认密码:password,账户密码可在源码中进行设置),登录成功后可在网页界面查看相关信息。
; i, s" c1 l+ O) [1 Z/ U- n" q, ]; H​, ?! N7 e J: J) Y' Q2 v" V- k2 ^
图 61 A& l. d0 G- K
; m7 A* G+ [- }) e; }( R
9 U/ D3 H5 l, @/ X# j: p​+ w B& {8 Z; r) m
图 7
, F) j# d& ^. v( ]! B$ l* u; S
( o1 `0 s/ |* n" ~6 u* l
/ S. z5 y2 y7 h​/ t. J Y: k. r9 h- H
图 8
# X/ }; K- d( l) V2 r; ]# N! @& W% e
: |+ y1 {3 N. w: u7 b+ B
, Z4 y5 h/ M* S& w5 N3 h5 P' g
4 `1 @; M0 H$ Z" ]4 j
8 Y: M/ H0 H# F2 v2 h$ x下一章节分享:【案例测试二】 基于TI KeyStone TMS320C665557评估板|ndk_benchmark的功能案例测试,敬请期待!& {8 t8 ~$ S1 j; B; t6 j6 M
+ L. v$ o3 ]3 @/ t+ E b$ b
|