【案例测试一】 TMS320C665557开发板|ndk_client的功能案例测试
) H+ S9 n# R& _6 C0 T7 X0 Z) C6 V' K) `8 \
- d2 N! Y5 b1 i9 U$ w8 V
) C/ E9 P7 A4 ~ Q3 \6 P: r& Zndk_client案例2 E L- h5 N9 _# d9 W& Y# N) J
7 _5 [& E# J& B: E
/ s3 ]9 j% r+ E: \: Y
本文档案例程序默认使用DSP型号为TMS320C6657评估板、DSP端DDR3容量为1GByte的核心板,通过TL-XDS200仿真器加载运行进行操作效果演示。请通过Micro USB线将DSP UART0调试串口与PC机进行连接,打开串口调试终端SecureCRT并正确进行串口连接设置。
+ D; Y r: J1 c0 g
" S7 [% M9 |6 _ A7 U. y0 y, ?& Z! q' w- n1 m* s4 O V
& [9 C9 `* a6 u8 m3 I
本开发案例,主要基于创龙科技TI KeyStone架构C6000系列TMS320C665x多核C66x定点/浮点DSP以及Xilinx Artix-7 FPGA处理器设计的高端异构多核TMS320C6655/57评估板,由核心板和评估底板组成。核心板内部DSP与FPGA通过SRIO、EMIF16/uPP、I2C通信总线连接。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
3 k3 W# _" c9 y4 u: W3 ~* l5 Q3 m- U( B2 }+ A5 X) [$ r( D
* b0 H7 }% H1 D: f$ k' I3 k# G T# Z
$ A# I0 `9 ~7 p, ~TMS320C6655/57评估板接口资源丰富,引出千兆网口、PCIe、SRIO、EMIF16/uPP、双路SFP光口等高速通信接口,方便用户快速进行产品方案评估与技术预研。
5 W% I& T) |5 J X! v2 V/ _8 |3 ^( t
% N k! y6 L& s! J# Z
1 p6 h9 e# O0 }/ Q% Q
DSP RTOS(SYS/BIOS)案例基于多核软件开发包BIOS-MCSDK中的pdk_C6657_1_1_2_6包进行开发,底层调用的是CSL(Chip Support Library)函数库,并加入SYS/BIOS实时内核实现多任务运行。' Z# R- D: } d& |- w) Q7 E- V; }
+ _: |! V& j. ^( ]: K
- c1 U+ G: w- W, y# N- |" r
DSP RTOS案例位于产品资料“4-软件资料\Demo\DSP_Demo\RTOS-demos\”路径下。案例目录说明如下表,其中bin目录存放程序可执行文件,project目录存放案例工程源文件。, h# Y- {9 H! Q7 T, V( |; E( A `9 o1 p
​
" H3 o; M" R; N' ^/ U" B' @# q. B! |3 ?$ H2 Y0 p
表 1
) Z2 z8 |: v( c9 f目录
8 y7 _6 o7 s0 e" C g, J }; Q) _ | 文件/目录6 D( P' s+ `1 u0 E3 }
| 说明0 j3 o' f% n+ B) A0 E8 d
| bin
+ i' c! u0 ^0 I | xxx.out
+ U, c6 i+ Q7 P% I$ z3 ] J# U1 U | 程序可执行文件- H) }, m& K! E
| project
+ H5 R& n4 h% s- Q7 c | xxx.c9 _# V P& W0 f" K& w1 |) R4 ]' A8 I
| 程序源码文件; T, B. W9 r' X0 @5 G
| xxx.cfg; n2 }; \. A+ [+ ], P7 V
| RTSC配置文件
& I7 ^% A1 f) u' ~- W8 Z | driver5 }+ a) a Z4 M% d6 Q
| 驱动文件存放目录
! Z, y! u5 Y( i s* q( ? | system2 y! R. D5 c7 s! G" j
| 平台文件存放目录( N$ r) p# l( q7 @" n
| .ccsproject/.cproject/.project2 U: c1 C: d0 _( q0 g# j
| CCS工程文件3 `# P+ a5 _1 h! `
0 N6 {2 B3 i) X |
" V$ A7 x9 a/ F) J2 e1 a3 B​1.1 案例说明案例功能:TMS320C6655/57评估板通过网口接收上位机数据后,将数据重新发送至上位机(PC)。TMS320C6655/57评估板作为UDP Server和TCP Server,上位机作为UDP Client和TCP Client。
; X; ]* b- \5 V​1.2 关键代码(1) 初始化sgmii。 ​8 Y. k2 o4 Y- w# k7 E: b
图 9
$ g2 Q! u- v# U- l2 x( n( T! |& F8 S
; R' x7 g& Q7 a4 m2 V
(2) 动态创建ndk_client任务。 ​
+ o/ H+ h* N- G% Y# P* r- r图 10( W, E9 M2 e: r/ k) S/ n* z! w
! b$ ~# b! a `( a2 n
3 J1 L- Z( @$ d' `& l W6 s(3) 默认使用DHCP模式自动获取IP地址,如需修改为静态IP地址,可参考如下说明进行配置。 ​
1 N/ \0 c' a. j# ]5 ?图 11; u9 n8 ~0 [+ m9 G w7 p/ ~
​7 \$ r5 g* j3 e+ h1 B
图 12+ K6 V9 l7 y' H4 u w* Y9 N
​ q. Z1 G: J I
图 138 `1 P. q# A! F4 u# Z. i
9 x6 t& c+ T, g
+ U: Q+ K" o+ x% @$ `(4) 设置网页界面登录账号与密码。 ​
( x# o# e( C- ?8 m7 P% {图 14! v6 r6 K* @7 S8 z- C" [4 l9 A7 r
& F/ f% R1 X3 y* K
' S: X' `' ?- U" s(5) NetworkOpen中创建两个守护进程,分别用于监听网络端口7与网络端口8。网络端口接收到数据后,程序将进入对应的函数响应数据接收,并将数据回传至上位机。
% m1 I2 B! L, `5 q" |
n port_id:7 - dtask_tcp_echo,响应tcp的接收,并回传。 n port_id:8 - dtask_udp_echo,响应udp的接收,并回传。 ​
0 H& t/ f. d8 y! u* K _图 15
% |$ j+ L$ j8 \4 ]( d: b- O9 W- g O* z: r
% A8 }# M. j5 Z) N, K4 s​1.3 案例测试6 r, e1 x. |; ^* @+ ~4 |! @
请将TMS320C6655/57评估板DSP ETHERNET网口与PC机通过网线连接到同一个路由器。请运行程序,CCS的Console窗口将会打印如下信息,TMS320C6655/57评估板使用DHCP模式自动获取IP地址。案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)site.tronlong.com/pfdownload+ i3 t+ E3 z. ^5 w- T
​
3 N0 A k" A5 r/ l \0 A图 2
* q' k! D9 {2 y$ ~& o# o
$ f0 s" J; h8 o4 u1 R$ A
6 b. f3 G( D" `) a1 M: L(1) 上位机作为UDP Client ' n. o7 U5 A g8 `- F" v; R6 n
打开产品资料“4-软件资料\Tools\Windows\NetDebugTool\”目录下的网络调试助手软件NetDebugTool.exe,在弹出的界面中点击“新建UDP”,在设置区输入上位机IP地址,端口号默认为6666。在数据发送区输入TMS320C6655/57评估板IP地址,端口号为8(端口号可在源码中修改)。点击设置区的“启动”,在数据发送区输入需发送的数据,再点击“发送”。
3 s' }4 z9 k; |9 V$ D* B+ a
3 a0 N. R3 u8 V k/ |1 Y$ y" x1 f# h
TMS320C6655/57评估板(UDP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。% w, R7 |0 Q0 a- u+ S
​. q- t. Z$ r. g5 i# O7 d
图 3
2 F) U, J2 \9 s8 m- w(2) 上位机作为TCP Client # U- D1 ^" i$ u6 B& h
点击网络调试助手软件界面的“新建TCP Client”,在设置区输入TMS320C6655/57评估板IP地址,端口号为7(端口号可在源码中修改),点击“连接”。在数据发送区输入需发送的数据,再点击“发送”。! E& H$ k- q& P5 U) A8 D0 g0 _
6 P; O) z( @+ K5 ? R# k8 g0 J) t' f W
TMS320C6655/57评估板(TCP Server)接收到上位机发送的数据后进行回传,上位机接收到回传数据后将其在数据接收区进行显示。: T4 |. f( u1 e& P3 ~. o# v1 r( g
. g' u, I. J- a" D, s9 T# L
, l/ }- S) Z$ r3 g! ~​
8 L! V4 x1 f. t' l5 H2 l, F' \图 4
3 d8 |8 _1 K- G- v1 ^5 B1 C
7 \3 D H# _; l# g/ m% R
" y7 r1 N5 W. b+ [! X# ]若5s内无数据进行发送,网络会自动断开连接。! H! Q3 C: B# Q3 ?$ ~7 u
​
g+ E6 J# C+ e# T3 Z图 5% D m2 C& }; A5 }' e
s0 k/ j8 C9 E$ Q" `' s- E( F* D, _4 \5 S& q$ y
本案例亦实现了简易的HTML网页功能,可通过创建网页界面获取TMS320C6655/57评估板信息,实现用户交互功能。请在上位机浏览器输入TMS320C6655/57评估板IP地址打开网页界面,可点击不同选项跳转至相应的功能界面。
0 a7 l5 g! W8 B/ X( t7 M例如点击页面最下方的"Authenticated CGI Form Example"选项,该选项主要演示身份验证功能,在弹出的界面中输入账号密码(默认账号:username,默认密码:password,账户密码可在源码中进行设置),登录成功后可在网页界面查看相关信息。6 y5 v0 L% g9 J L
​) ^, ?1 ]/ o& r
图 6
* a$ U' P' o6 `5 u: e3 K
; ~# {1 I" ^/ A
7 o5 P! b3 u8 u& P% _7 {9 b​+ w$ h8 \: @/ d; q: W/ T
图 7/ F0 c( w/ I( Y$ r; V- ?" C5 r7 c4 U0 M$ M
L( g( n r+ c& ~& D. T; u% Z/ f+ B2 D
, ~ M- ^+ M+ m9 C" x: M, H​
+ V2 f4 N$ G6 i+ J图 8- _3 W- K, ^5 _
7 S7 d& g# x9 j" o7 [' l5 @4 m; y: S% | B( l& ?+ W w* |
/ o7 }. S/ a9 X4 I0 t
% x0 P7 t% v! E# z1 Q+ p! |2 g* X# A
下一章节分享:【案例测试二】 基于TI KeyStone TMS320C665557评估板|ndk_benchmark的功能案例测试,敬请期待!
& f) n2 l) w6 n, M
! U- m% N N- `/ x5 @1 ] |