|
前 言( I7 q" Y- d& p( Q" v( k
4 m( t( P8 o8 i9 N0 b4 M4 x$ tDSP板卡一般通过仿真器进行调试,包括程序的加载与固化。由于众多应用场合对产品体积、产品密封性均有严格要求,或我们根本无法近距离接触产品,因此终端产品很多时候无法预留JTAG接口或通过JTAG接口升级程序。此时,在不拆箱的前提下实现程序的远程升级,则显得尤为重要。# h0 }5 z7 h S K& J8 x
; ~* I+ V8 R/ G8 o( u基于以上考虑,为了让嵌入式应用更简单,创龙科技(Tronlong)基于ti TMS320C6678平台提供了DSP程序远程升级方案:串口远程升级、网络远程升级。! A0 o' P% n' p1 y
5 ?* f( I) w1 k
8 c6 L5 i" D$ d* N; F1 硬件平台
" d! ^: w; z7 y2 ~本文基于创龙科技TL6678-EasyEVM评估板进行演示。# }! f ]3 D# |2 |
+ x, b. c" U( }* |TL6678-EasyEVM是一款基于TI KeyStone架构c6000系列TMS320C6678八核C66x定点/浮点高性能处理器设计的高端多核DSP评估板,由核心板与底板组成。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
7 W* W) J" {: _! a+ O6 B0 E2 H- `
# e- c/ J. t7 Q8 s4 M1 N评估板接口资源丰富,引出双路千兆网口、SRIO、PCIe等高速通信接口,方便用户快速进行产品方案评估与技术预研。# m+ ?" ^% p" X8 D" `7 P" M; T- Z
​
0 g, o3 Z) G0 y. p
7 G( N: h h1 M1 M2 W/ S
9 j% O9 y; X' v( _
{. y9 z, s! ?- I; X/ }
! x: [* }, @4 g5 v
& g3 T" K! n, ~$ C- c开发案例主要包括:/ |$ Q6 W9 Z# C7 d/ I
(1) 裸机开发案例* k3 d n* d$ q1 F: u
(2) RTOS(SYS/BIOS)开发案例% o) g( R& Q9 H- P1 C& l$ H5 K
(3) IPC、OpenMP 多核开发案例9 n! a2 Y6 \1 i% K. p) }- j y8 a
(4) SRIO、PCIe、双千兆网口开发案例# W" i* b8 I p
(5) 图像处理开发案例! u. m6 i% q% J0 G2 e
(6) DSP算法开发案例! n5 ~3 [2 O" N: p: E
(7) 串口、网络远程升级开发案例
! J( z* v* M* @( V+ u7 ?3 B4 m) G4 X; X) y- Y
案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可联系厂家免费获取! B' G9 [2 x4 v& K$ z* l3 T
5 n3 ?- [7 {1 C6 ?1 ?6 b$ z% q% h2 串口远程升级方案9 ^) W9 X) k' H. _: D! g) n
! ^4 r$ Q" {: D3 M. i4 J3 O
3 g+ l& j& P/ w, t
7 g& l( _) \! s1 ^' w. c! c! o
# p5 I& G1 P2 D9 I) M6 U( r. U. u% @/ c, j- o
) K8 ~$ k1 E5 Z- V- [& T. {* `$ ?' h: r4 S
, R4 l- H; r9 g7 y1 P8 v0 p6 S
4 @4 p- Y+ `6 F2.1 案例功能; V) M2 @8 F8 t+ S8 O; D
2 h! f* c F( G& XPC机使用串口调试终端软件SecureCRT,通过串口将用户程序远程固化至NOR FLASH或NAND FLASH。8 Y1 S% L( @1 O& R
3 @$ L+ c& |4 v+ o
8 i) T6 A4 U! X: p, r) Z2 T* @0 q2.2 案例框图
|6 s% g0 A, w7 z" W9 Z* S. E- w p: |7 P9 d# r: ?; D+ b
, i* G: C4 t! q# g
" {# A2 I3 ^9 Y, N d# L3 [
6 `3 f' B I0 n* w3 m- M/ k: [# r" H1 I: [% M) {
0 C! c5 a2 c1 y. U' ~; B
2.3 关键代码) h: a% u# U7 u+ a) ` W& \" M
- D+ R3 F+ j! K: \' A* Q3 Y(1)主函数简要说明。
9 x6 `' p: f7 p" t; z
; C" ?& d- T" T$ [0 c2 o ) P( J& w9 r9 L
" o& r* F% G, J! y: U/ i
6 f& p6 f H9 R x6 [

9 B4 {# |! K- T$ [2 Z$ }8 m, H, n9 R, m
$ {; d. x8 K1 |0 R# l由main函数中flash_type变量指定固化用户程序至NOR FLASH或NAND FLASH。3 x& b) }- v9 b3 g
- g! R5 H$ m9 ~3 `

/ N/ e- |$ s+ J$ W% z. M/ \1 k% J; A5 j7 @- L
' `/ ~0 X* J" E. }" Q, f$ g' e
( [* b: b! i! s. ]! v% v7 B
3 网络远程升级方案
& l! u8 ?5 J+ @8 F
! O4 e) r1 w' |* K8 z Y! {' y7 f& R' t7 F2 d
* Z k( S* j7 D3 x3 Q# x/ h
! p& O) N3 y8 a4 T# E3 F3 m% a
' Z2 k$ Q" a' O3 z! W! b; k F% N
6 D; W4 N! M" h1 F8 i3.1 案例功能
s6 }+ [ L1 ?9 W+ Q6 Q9 x+ @2 {# D, p+ i) Y) G+ }4 h6 w s
通过网页界面对评估板的NOR FLASH或NAND FLASH进行读、写、擦除操作,实现程序远程固化至NOR FLASH或NAND FLASH。4 o6 J& t3 l# c' u
& S1 F, Y! W9 x# w7 @) R
3.2 案例框图, [3 m) @( i; h# Y/ n1 [4 H+ O

& F4 p" q' d; c3 _' _$ a1 B5 t+ o
6 I. m9 Z9 W3 v q( h% R* ^
; R- }5 |- ]; ^, R+ d3.3 关键代码(1)初始化网络子系统。
2 A" R* Y7 J& c6 y/ \& L% l! [% Y5 Z/ h; n/ `7 K

; W8 L2 \' I8 e, ?! O& C
/ e; V* ~+ u' [% V
8 P8 Y! R, ^" }! x(2)动态创建ndk_client任务。
9 m4 v9 D6 \+ S9 q& Y
9 w+ H5 o6 k: B5 R; i& A/ Q4 r' S7 ]* F; I
) @ ^$ u8 M1 r, r+ G3 B(3)默认使用DHCP模式自动获取IP地址,如需修改为静态IP地址,可参考如下说明进行配置。默认适配ETH1网口,如需使用ETH0网口,可参考如下说明进行配置。- e; q! F1 q8 W6 s& y, I7 I: ~0 p

- g$ b+ l3 s D* \4 H, Y- D, @' ?
8 j8 d0 r: p' ]- \ : M2 N2 X2 q1 X
f. M6 u7 \4 V. |6 F9 C B% y0 f S( w
(4)创建HTML 网页,并添加网页功能所需的Web网页文件。
% W" m# r V) K, y* A
+ r5 j7 Z4 G7 x1 C- @" b! Z4 r% ]4 H1 l @
/ g3 m/ p* m1 l* ]5 L' y; ^(5)将配置写入NDK配置中,并初始化NDK子系统。
* D/ ]7 w% i. i / L5 d; P1 d" |; X: h7 b8 e
! Z) q- |6 Q4 _$ P7 G
; L; s% U" D& u) R) w$ r, L# s3 O8 y(6)通过MAX_POST_FILESZ配置网页上传文件大小。
+ N; N: d0 S, S% I7 |9 ^& V/ {
) L0 J/ V- U' H9 r E! U2 j+ i# l% W! F
project\webpages\flash.h4 v Z* \3 w& Q; _
& `8 w9 t/ l |- O! D, F! R(7)通过AddWebFiles()创建网页服务所需元素文件。2 |' }8 d# ^) ~' `7 c$ N' N
2 p8 `& [$ c9 h, ]% G, ` ( s1 `: R# p$ d, q& i
- r6 t2 g. K8 x. W4 y' y
project\webpages\webpage.c8 w: ?* e9 h- E+ a1 Y
( c6 W S( T4 L(8)创建Flash编程界面和响应网页操作函数。! R0 X2 O9 X. {6 t! R, h' e
% P4 Y: K( a* t4 e( r
( t2 g9 {- R7 ]( c X" d$ L9 S4 @
3 y: o& u. l4 g: Q; F/ U; Wproject\webpages\flash.c
: A/ H* ? V7 J" l& n' A# s* u% m' Q. j- { Z0 B. j4 R
(9)选择编程设备。! Q/ }" S" k$ f) [
7 A( E; {2 v: W
: [) g' U x; ^6 G6 cproject\webpages\flash.c
& ~! ^4 S1 @& ] W& c7 r7 b(10)初始化设备并读取设备硬件信息。
- W8 V# V | ?6 e8 G% g# p. Z. D7 B0 e* E4 B/ v
0 {/ ?6 R4 w e9 U& X" a$ {
project\webpages\flash.c8 f- `% S& o2 N5 _! u$ p# J
(11)数据写入操作过程说明:创建Starting Address、File to Write选项,将上传事件与flashwrite.cgi进行绑定。
5 R4 K2 y9 w: O+ i d4 n7 ^. |/ J: F, B" u

1 Q7 b, J) j( M6 cproject\webpages\flash.c! V) o# H& ?2 g% X/ R% T$ }
(12)按下Write按钮后,将触发serveFlashWritePage(),在函数中获取上传文件并保存至write_buffer中。, ^. ^# P7 W2 F7 _4 ]0 x8 L
' u. F3 O% O2 _- h! W, ?% K+ _ . `- T0 ?$ z4 S$ |" F2 `. p- c
project\webpages\flashwrite.c
H8 g. e6 m% S(13)固化用户程序可执行文件至对应的编程设备中。
, z: ], ~( ~' F; e% v7 |
' T5 k7 t$ ~3 q2 H ( v' F% Q. Z' J$ e. @7 ~
project\webpages\flashwrite.c
( T8 j+ _# e# {本案例实现了网页的基本功能,如需新增其他功能,可修改案例工程webpages目录下的相关文件。HTML文件default.html修改后需转换为default.h并替换原有文件,再重新进行编译,修改方可生效。webpages的tool目录下提供了HTML文件转换工具包php-8.0.0.rar。* b3 o( P, X- x$ r1 }/ N1 N5 Q
" U4 R2 v4 p$ r; a0 r* e
请将webpages的tool目录下的php-8.0.0.rar压缩包解压至Windows非中文路径下,并确保已正确安装BIOS-MCSDK多核软件开发包。% _9 q# z2 i7 ~9 q$ `7 G9 W
: h0 d/ G, a7 _+ O$ N+ _9 H

7 [# T/ l1 U# q& h* h4 r5 Z
2 j" u2 H' D9 B v8 Q将修改后的default.html重命名为default,并拷贝至php-8.0.0.rar压缩包解压目录。: G- ~5 Q( D6 f: S7 h2 r d
2 O, l1 V. S* s
$ D/ O) u' Z2 c, S: Q' e" b' r; k- B
双击运行convert.bat脚本,即可在当前目录下生成default.h文件。
& h! b; y m% X. N% |0 J
8 N8 Y5 c& m. F * K- m8 }) h, [
! q( N: \( ]0 V. W- f
4 免费试用
6 D' N1 h8 S) E6 b7 k: n可申请TL6678-EasyEVM评估板进行快速评估!7 [9 w' s6 U0 U5 L/ g
2 [! l& ^( z( S( L
3 }" w* q6 ~9 `$ }# V2 \8 m
6 更多推荐
9 M2 _% W9 p$ Z
% c2 x* y) C! w, m1.C6678+K7视频采集处理方案 Y1 c2 E5 A& c0 T
- c6 g! y9 t" a5 L" u
6 a9 m/ J/ P& T: E* L9 ]6 P 2.FPGA+DSP的高速AD采集处理开发详解3 v* P* G: m) ?; Q) L; S. P
% X/ S2 k2 k9 K0 Q) q8 Z; G; E/ ^1 R3 W5 s# w$ T M d* i
|
|