|
前 言
# t0 Q/ G+ h4 r: t0 L3 _
4 E, }9 W+ F, L ]: F) p' I3 nDSP板卡一般通过仿真器进行调试,包括程序的加载与固化。由于众多应用场合对产品体积、产品密封性均有严格要求,或我们根本无法近距离接触产品,因此终端产品很多时候无法预留JTAG接口或通过JTAG接口升级程序。此时,在不拆箱的前提下实现程序的远程升级,则显得尤为重要。: E( A) y% g& e7 R$ j' j0 I- Y7 \
* X5 p. \6 d; ]- ^
基于以上考虑,为了让嵌入式应用更简单,创龙科技(Tronlong)基于ti TMS320C6678平台提供了DSP程序远程升级方案:串口远程升级、网络远程升级。7 V6 h1 `5 J8 e' U# i
. P. _9 `* P3 L+ x' x9 N* u) S9 ^) J' M1 q V/ U( Q( |1 [
1 硬件平台/ Y! W, N5 C+ a$ l+ }( Q- u! Y# _. Y! M$ n
本文基于创龙科技TL6678-EasyEVM评估板进行演示。( ~0 P( S5 ]7 ~- S: V
, d5 n6 h$ G, P9 @/ |& n
TL6678-EasyEVM是一款基于TI KeyStone架构c6000系列TMS320C6678八核C66x定点/浮点高性能处理器设计的高端多核DSP评估板,由核心板与底板组成。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。- X T: R y g! Q! j
% p# Q; v0 I' M; t a' P) o
评估板接口资源丰富,引出双路千兆网口、SRIO、PCIe等高速通信接口,方便用户快速进行产品方案评估与技术预研。
* d- f0 ^5 `; X0 E​. x; S1 q( K W2 \8 R6 B
+ |# x; c3 p) V+ L& ~5 C; q- G$ E* Q2 A- I. [" d5 ]9 L# U) e: D
! v+ n# A. ^: ^# g
0 o$ Y( c! t0 @2 L! @ o' x `2 ^7 ^0 [& T/ h+ {5 T) E0 S
开发案例主要包括:1 T6 p: s2 k9 G) c
(1) 裸机开发案例
# `* Y# r+ D* A, A" F(2) RTOS(SYS/BIOS)开发案例2 p7 e O( n4 W/ B6 v
(3) IPC、OpenMP 多核开发案例
' }% q- x! z* e% B" ? \(4) SRIO、PCIe、双千兆网口开发案例* U6 O) }+ b4 Q2 q" [
(5) 图像处理开发案例1 X M: `( k4 j$ D
(6) DSP算法开发案例' O* u6 O6 B3 _' c# m
(7) 串口、网络远程升级开发案例
& d$ T$ W4 q& H5 ?, |+ ?5 Y- Q
! x4 s7 G) B" w. X案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可联系厂家免费获取
# N5 I* H; B" V
; `0 T6 [8 J) Y4 G) C
2 串口远程升级方案
{2 e$ K# l$ C+ g: R, i; ^9 e* a0 f" |9 F/ N- q
, Y8 N! R% d" t7 R( j% `* \. Z m2 R6 D+ c# J- P; H/ G
; z! b, R( d: H; r/ m1 [
8 t; ?- P. S$ O6 F* f
( L! j7 N3 r0 q2 s0 E7 `
) B% O% `0 o! g# y' P. `/ E- F( C8 ?" x0 U
0 f2 m9 ~9 f4 g; X. B3 r2.1 案例功能: ^. m2 P, K+ @2 ]3 d* S, R
2 x( r4 q0 x" M& u- O! B# I; q% \6 _) QPC机使用串口调试终端软件SecureCRT,通过串口将用户程序远程固化至NOR FLASH或NAND FLASH。, f: b. h, r, v: v8 j- G) h! ]
K6 o# t3 M, j7 I0 P
+ n" T; X* ~* H% Z$ Z
2.2 案例框图3 c( ~* T8 ~3 a( x# h
, X8 }' G5 j0 q3 h
6 }% U9 m* ]( }/ B% y& l6 F$ g4 S, @" y- N) a( L
6 W! F+ t6 m4 O* J9 H+ q- x ^) A
4 P- y0 d1 [$ n' I! E+ Y
# \4 F0 B b. [) i0 v3 a2.3 关键代码
: J) Q) p6 ] E( n9 y+ B4 {% _3 N$ U7 d% W9 e- M' b! }! P! `
(1)主函数简要说明。/ K- d- y8 y( m% W9 S( d8 ^
7 L; Z( y* I4 h- S" Z
5 K8 M# e: w. {3 l3 u' p5 G
- v3 ?0 ~! N" |1 Q2 i8 S
: l5 x3 T, c/ h4 \# i: L
& N5 S/ M- r7 f5 h: _
% ?/ V. N" V& e8 K9 W
7 l+ f% k% w- ]: s& ~% g7 }, K由main函数中flash_type变量指定固化用户程序至NOR FLASH或NAND FLASH。
& Z; A1 Z% W8 S9 t1 {$ U$ A$ @6 Y# N- t: |$ ?5 O5 `3 E$ L5 g4 U
+ b# {% o0 o- D& _
! n1 n! l9 i, O ?2 ~+ o4 P0 l2 s( M' d- J( {2 w+ K: j
' a) s& u1 f! m0 t3 网络远程升级方案/ o* g& ?" z0 R( s1 _) Z N/ v: H
- L% E, ]9 A* m; F/ M
7 X& P) D: n5 h9 z7 }" l: D
" N4 Q: j* p! r# s5 Y2 T6 t/ L f! M: D
' X a& S8 Z) H# s! O$ v* z8 ~% ^
0 o, v& P) k2 ^& C) \3.1 案例功能
# Q% G- N# S* i; ~+ t
3 f. w9 W6 P p* s% S4 u通过网页界面对评估板的NOR FLASH或NAND FLASH进行读、写、擦除操作,实现程序远程固化至NOR FLASH或NAND FLASH。
. i, P7 U: l' o @8 r, r5 U
; \" k5 `/ _) N0 C. [1 L6 _3.2 案例框图
- G9 ~/ ~; z& c" d. o: u1 u7 I1 n( [! h2 f
" l+ G t! J5 t4 G& [$ R7 a
) M: j s" }/ |) T0 c6 k
3.3 关键代码(1)初始化网络子系统。 d- u9 Z$ D! |* c) c
( i2 n" {$ k0 a+ c; W
" U9 q+ V. A# n; D8 S$ g" Z2 B$ a- z
+ F9 H# T" d" y0 W& C: C(2)动态创建ndk_client任务。/ z$ I5 a& A' Z4 H1 A
0 q" S. H; n+ D! H9 ~/ W# Z% U. Y
2 u- }$ X0 c% A
- v2 e( x# l) \' R(3)默认使用DHCP模式自动获取IP地址,如需修改为静态IP地址,可参考如下说明进行配置。默认适配ETH1网口,如需使用ETH0网口,可参考如下说明进行配置。
8 D! r7 V c# C( P, |+ T; k# [0 G( }/ N! `
( g N8 U* f: I, U$ m0 J9 ~5 Q3 }
# K& {& P; z- g* H
2 |/ I/ w/ L* b5 l/ n/ G. x+ L4 w# ^# y: ~- Y4 b
(4)创建HTML 网页,并添加网页功能所需的Web网页文件。
) z. ^* ?4 V9 q5 E+ n0 f/ E- O/ [" I$ o( ?0 `
; c' g5 |3 P3 i3 [/ W1 m
) t, g4 o* x( R$ {3 P. K, R
(5)将配置写入NDK配置中,并初始化NDK子系统。
# u# z" f, }2 b) Z7 c: d) I; u' L' _1 @; I* {
- p8 x0 C9 m) I
8 z" F: S% c( F# p Q: G* u/ e+ B(6)通过MAX_POST_FILESZ配置网页上传文件大小。
/ {6 b! D0 f+ c8 e# g2 K
! V) x+ D g3 L8 B Z" r
( B& S- }% [) qproject\webpages\flash.h
, ?( F A& T/ T7 R5 T8 ~
0 M1 x4 R* ?' u; {9 d(7)通过AddWebFiles()创建网页服务所需元素文件。
: Y% F' h! l) X8 U0 v
( n" W2 s! q, Q; R* Z, G- Y: A/ l* |
' ~0 B7 [: V9 x4 @* j9 Z" w; w3 h# N& s. _- ~5 I- m
project\webpages\webpage.c- \/ u1 |; V2 Y6 R% u5 _
1 Z c' ?4 \7 ?! `1 D- d5 G% ]7 ^
(8)创建Flash编程界面和响应网页操作函数。
# t. j7 z2 i6 u0 _; q- @
6 [, V( ~, B7 X4 Q- ~) O1 m
5 J" m* X- C3 E8 ~ g4 R0 Y. k8 o* }) } o
project\webpages\flash.c6 i* ~9 I7 R* D/ o7 B; Q; e
4 P* a6 M- T6 H6 Q+ F: v3 F, C(9)选择编程设备。% M9 E. F6 S( \9 d4 f( z
* R; }. Z2 A6 ]5 ^8 D `4 U2 L
7 _6 ?0 T7 m P' rproject\webpages\flash.c$ j" h/ R$ p) s# j8 p0 f
(10)初始化设备并读取设备硬件信息。5 v& k3 G. Q4 b( {0 w
8 y- e4 d. X% L" i3 O7 B' w
. D- X- m- o; ^0 Sproject\webpages\flash.c* Z6 y7 p0 r4 ? ]
(11)数据写入操作过程说明:创建Starting Address、File to Write选项,将上传事件与flashwrite.cgi进行绑定。4 c' C5 P6 X% f8 E+ K
3 \2 G- o: j* g( N$ r0 l
( u9 }6 ^& u0 a8 U9 v5 Pproject\webpages\flash.c) b3 }! ]) B- g ?
(12)按下Write按钮后,将触发serveFlashWritePage(),在函数中获取上传文件并保存至write_buffer中。
2 a+ H6 n0 t$ f9 z; }0 \7 z% X9 C) r O. L8 c
, c( G2 b6 {6 j n
project\webpages\flashwrite.c
2 z2 m, g9 A" ~7 ]! P8 b: w, Y, d(13)固化用户程序可执行文件至对应的编程设备中。& p% i4 {: Y; W+ y7 k
+ k. D' t: @( ?
. ]* R0 p, Q: D& V ?
project\webpages\flashwrite.c% _: [2 R" j$ r9 ]
本案例实现了网页的基本功能,如需新增其他功能,可修改案例工程webpages目录下的相关文件。HTML文件default.html修改后需转换为default.h并替换原有文件,再重新进行编译,修改方可生效。webpages的tool目录下提供了HTML文件转换工具包php-8.0.0.rar。/ p) t+ I4 M% w$ w% {" {. m
1 G5 P, w5 v3 G3 y& H: |请将webpages的tool目录下的php-8.0.0.rar压缩包解压至Windows非中文路径下,并确保已正确安装BIOS-MCSDK多核软件开发包。1 u1 L' ?) |* f/ l' Y" B& m, ?
& B |4 E. Z) @8 a) |( u
+ f% q2 [" L8 ^, [; W! M3 R9 t p/ B
将修改后的default.html重命名为default,并拷贝至php-8.0.0.rar压缩包解压目录。$ J) i& g$ d$ e' x
/ k) B# [$ Y6 r) ~" Y. n& j8 q1 P
" X' ?, V: f" G. e# Y, l" O1 ^. H4 r" `% g
双击运行convert.bat脚本,即可在当前目录下生成default.h文件。
7 R' c# o% G, Q; x# U$ ]! K! ^) P2 Y$ O q5 ]# m6 g
1 G( C6 _+ K; G7 b% z
7 T$ h6 M+ d: E$ y4 免费试用
9 x! {: q I z1 w+ J% e* c可申请TL6678-EasyEVM评估板进行快速评估!8 I- f$ i. n' j4 q5 l
b# N, G5 F% W2 A# k! E& R# Y! Y1 g; A. L& z1 v
6 更多推荐" V- _4 B9 V2 G
# d( r1 C; C" c; c2 a
1.C6678+K7视频采集处理方案
1 e0 f% t/ M( T* R
/ \7 b# ]* `5 t4 O. C/ m2 W1 U* R+ W% M
2.FPGA+DSP的高速AD采集处理开发详解6 X5 C& J7 ]5 t" g7 |
( Z$ ?3 d' G+ O- v' t7 y/ P# h( M
6 W, o% I0 ]! p5 J! J |
|