找回密码
 注册
关于网站域名变更的通知
查看: 269|回复: 1
打印 上一主题 下一主题

TMS320F2837x开发例程使用手册

[复制链接]
  • TA的每日心情
    奋斗
    2020-3-25 15:17
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-8-3 10:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    基于仿真器的程序加载与烧写
    • 查看仿真器是否安装成功( ]$ [( I3 b* l1 Z0 G5 r9 B2 `
    广州创龙配套多种版本的仿真器的工程仿真配置文件,均在光盘目录下"Demo\NonOS\TargetConfig\ccxml"里面的。
    2 [4 T* n1 h% \) r* H如下TMS320F2837x的开发,均以TL-XDS200仿真器为例。开发板断电,连接好仿真器和开发板,并将仿真器的USB口插进电脑USB插槽,开发板上电。右击计算机图标,点击“设备->通用串行总线控制器”或者“设备->端口”,查看是否有对应的仿真器的选项出现,如有说明仿真器驱动已经正常安装,否则请先正确安装CCS。  a% r6 Q- m1 G: a, p

      e6 o' A* N# H1 e$ h* V图 1/ q, u; H* W! x2 f$ w

    ; }* `/ G9 R- h3 u& b+ O, r. ~CCS集成开发环境自带XDS100及XDS200系列仿真器驱动。如果仿真器无法正常使用,请检查是否存在驱动冲突,XDS100系列仿真器使用FTDI芯片,请检查是否与已经安装使用FTDI的USB转串口驱动冲突,如使用XDS200仿真器,请检查计算机中是否正确安装USB转串口驱动或者尝试重新安装计算机主板芯片组驱动。3 a( E2 E2 ~- v. E* ]5 I' ?; u
    : P1 S. H# q1 G3 i2 b/ a! X+ T* h
    • 设置工程配置文件信息8 }+ V0 b" `6 ^/ s- Q9 o2 X
    请先按照相关软件安装文档安装CCS,然后打开CCS集成开发环境,点击菜单"File->New->Target Configuration File",如下图所示:
    2 \0 A! t7 L  f
    * @  e( W0 `0 j! o4 B图 2
    4 z: p. z* r# R) J! C# n5 r) Y6 f- R/ \& h
    在弹出的界面中输入工程配置文件名字,然后点击Finish。如下图所示:# [! \" K5 @6 n. {" U8 a

    ; f$ T' v6 J% b1 F+ o/ E图 3" m2 E2 c$ [/ L  a! b

    8 ~. C/ u1 o/ a* k- f+ g3 u在弹出的对话框的"Connection"下拉框中选择对应的仿真器类型(如使用TL-XDS200仿真器请选择"Texas Instruments XDS2xx USB Onboard Debug Probe"),在"Board or Device"下拉框中选择对应的CPU型号:TMS320F2837xS,并点击保存。如果CPU是双核,请选择:TMS320F2837xD,如下图所示:
    5 p. z# h6 C, q- r
    $ z( V4 D/ M* |8 W! w图 49 v+ _$ V% r% @' L2 U. R* M
    8 a9 k$ m3 B  u! O4 I
    仿真器连接开发板,上电后,点击"Test Connection",测试仿真器是否连接成功。如下图所示:; V7 c  T9 f% P# R
    ( G4 y+ h  f8 C! n
    图 5( v  z3 N0 V" e) _0 J* S$ m
    8 N9 ]) J! [3 L' u% [' @
    • 加载GEL文件
      * T+ P1 K( p3 u
    GEL文件主要用于在仿真调试的过程中对CPU进行初始化,如PLL、DDR等,还可以执行一些调试操作。CCS集成开发环境自带"f2837xs.gel"文件,为默认选项,可在Advanced界面配置。
    * D, o' u$ X4 O: Z5 g5 @. V% A
    3 H, {$ g1 }, k图 61 l% H: q# s2 \9 y& M- y
    9 O! ]6 m. d) I$ R7 g2 ?
    点击CCS菜单"Run->Debug",弹出以下类似界面,可以看到C28xx核,是可以加载GEL文件和程序镜像的。# D$ u0 N$ p9 q1 v8 Q

    8 H7 [& o; d/ M5 ^4 d图 7
    8 r) Q' y1 J9 r+ P5 S" L
    2 {+ A2 R0 E8 _右击对应的DSP核,在弹出的界面中选择"Open GEL Files View"选项,右下角会弹出"GEL Files(TMS320C28xx)"对话框。
    2 F) j( b' Y5 r' A: ^+ I5 T1 W9 M: A
    图 8
    ( O) N+ I6 V& n6 @* V3 h2 Y% n3 q0 d) \# K  H3 S& k
    若前面没配置,可在对话框内点击右键,在弹出的界面中选择"Load GEL"。选择对应目录下的GEL文件,再点击确定,接着右下角的"GEL Files(TMS320C28xx)"对话框会出现Success提示语句,如上图。
    ; a4 ?( L6 w. r( F
    8 H- p7 `4 W3 b6 U. z; a- i
    • CCS连接开发板CPU
      , n" n4 Z6 ?7 x( j. I
    右击对应的DSP核,选择"Connect Target"选项,会显示Suspended状态。这说明CCS已经和开发板CPU正常连接起来了。
    5 r8 z+ x4 R; D* A8 \' @6 m9 t8 H/ G/ X$ t. X! m
    图 9
    & b; A8 N+ W. z
    ) r! }$ p2 {# _备注:如果此处提示"No source****"的信息,不是错误信息,可以将其忽视。
    . g. d% N6 t7 \# l/ k2 v
    $ j/ X7 @" z/ I
    • 加载程序镜像文件
      $ r: u" G: g" m/ O
    点击"Run->Load->Load Program",选择程序镜像文件(光盘"Demo"目录下有用于演示的LED.out文件,现象为底板LED灯被循环点亮),可选择并点击OK。接着点击绿色三角启动按键,程序即可正常运转起来。" p3 |/ z) v3 v
    ) L. a( M  j9 Q
    图 10/ \8 v! G+ d4 }7 J1 i0 y% d7 r, e
    ' A/ ]8 q6 i$ P; x

    " ~! K6 N8 F; y4 d7 N, e* S
    0 |5 B) o) k& T+ S! z# l; L: E; ^6 D图 11) V# `* l4 q1 ^) N2 @8 e/ c; N
    ( g) J1 t- Z% u& C5 ]& I
    • 烧写程序到FLASH! ?9 ^" R8 U7 k# h" ], K
    烧写单核裸机程序到FLASHCMD文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号等是如何分配到各个段,以及每个段所使用的存储空间的,通过CMD文件可以实现将编译生成的.out程序烧写到FLASH。具体烧写步骤如下:8 R& d- S' |: ]0 e4 Y
    添加CMD文件
    0 d& ?3 \% V* y右键工程点击"Add Files…",在弹出的对话框中选到"2837xS_Generic_FLASH_lnk"文件,路径为光盘"Demo\F2837xS\NonOS\F2837xS_common\cmd"目录下。$ m; A7 Z. M0 ?* D5 Q1 J

    , g5 i1 Y1 A1 I; o$ C图 129 Z8 K! p, b$ J$ O9 z7 ^

    * W$ U: }1 \6 X! a
      V) ?! [* b( o  ]& a图 13
    , \: a; e# w4 N1 p7 F! S
    ) e! ~- Z8 z1 H在弹出的对话框中,选择"Copy files",然后点击OK。, ?  {' m: F9 }6 ]

    5 a, @) X5 v9 \$ h& q* \  i- V图 14
    - |# n0 i- S) F' L7 T; y$ V
    " T' R8 N2 y. u* B% n编译程序镜像文件
    0 I9 U* `! M+ X& `  H先右击工程中"2837xS_Generic_RAM_lnk"文件,点击"Exclude from Build",再右击工程,点击"Build Project",即可对当前工程编译。* h' X; d+ B1 z( a2 c9 c  j

    9 D5 Z( s4 Z' L图 15
    0 a8 b( }) p7 m" e
    - T9 Z1 c1 ]2 r, ]+ c9 x烧写程序镜像文件
    8 q; V7 [- e: U8 P9 K1 r点击"Run->Load->Load Program",选择刚生成的程序镜像文件并点击OK。加载完成即烧写完成,重新上电就可以运行程序。4 n' j( Z$ h8 j# r- y6 J
    ( Q/ q/ B# ^  E3 v3 Q5 [, v5 S0 A
    图 16
    + \  g. l+ f* E) E- a( Q
    ( o$ _8 N2 s7 K0 x3 L如果遇到烧写效果与仿真效果不一致,则有可能为例程中存在延迟函数,导致运行效果延迟较大(几百秒以上)或无法运行,解决办法如下:
    % T) }; F! s8 p! e$ H( R请双击工程里的main.c文件,在文件里查找是否有"DELAY_US"函数,如下图:. Z2 V7 ]# A: I: r

    8 E2 `; {8 D# O图 17
    9 z/ q# a0 \8 Z+ ~$ w8 D- M* X8 Q) Q$ E& v0 s

    - @; ?% W: D5 Y0 Q! K0 \3 [$ M图 18& f2 V. ^5 c* S$ I" P. b4 m' F

    9 {' t2 v2 \9 [将其注释即可。; \4 j' h  S. a1 b! t* j3 k  P) b
    如有,请在文件里加入外部定义和复制内存地址代码,并重新烧写,添加位置如下图。
    * t1 O# }; X% c/ p# b外部定义代码:
    9 q, q2 r" b7 V- [0 G! `extern Uint16 RamfuncsLoadStart;2 y0 \* x' }  C
    extern Uint16 RamfuncsLoadSize;% t2 r$ i( ^! n! s% t# L/ E) T
    extern Uint16 RamfuncsRunStart;
    1 t! V: X  g  l7 O  M4 W8 D复制内存地址代码:
    6 m1 X. U& b) U3 b6 @mEMCpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
    6 u6 u- X- o3 E
    5 h% e) P" o1 D9 U图 19# O0 v8 ]$ t0 O: C$ R+ W6 k7 K6 j
    8 f0 ?5 P8 G( J/ o) C# p  W0 W
    :如果遇到烧写不成功,请按以下流程进行操作:
    - k$ W+ n% U% i3 r1 o: {
    • "Help->About CCS->Installation Details->Installed Software",搜索flash,点击"Debug Server Flash",Update更新即可。
    • 更新完成,提示重启CCS。- B4 X2 ?9 T; g$ ]& y% g* p. L
    重启完成后,Debug Server Flash版本会变成Debug Server Flash 6.1.0.1425。
    ' R$ X" e0 @- k  i4 J; r- {1 v6 \5 m0 z; M- B. G, W
    烧写双核裸机程序到FLASHCMD文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号等是如何分配到各个段,以及每个段所使用的存储空间的,通过CMD文件可以实现将编译生成的.out程序烧写到FLASH。
    & f5 Z. F) u9 d- F. |以双核工程led_flash为例,具体烧写步骤如下:
    3 O/ z. @- ~  z% W- W* O按照工程文件的导入步骤,将led_flash_cpu01和led_flash_cpu02的工程,导入到CCS的Project Explorer窗口,如图所示。9 e* @! D; O" N

    9 L& d( K0 Z: P6 u图 20
    ( P  G' t, y& Z$ Y2 f- r. ]1 h+ m; @+ n- O0 }" @4 B5 e  g
    打开led_flash_cpu01的工程目录,右键点击"2837xD_RAM_lnk_cpu1.cmd",左键点击"Exclude from Build"选项。* D6 V( H% L" ~* [( k: d6 R8 F7 V
    " Y/ j; y/ z( J7 B% m9 `
    7 Q( l, Q4 l4 B5 a& X8 f. }6 V
    图 21
    . S8 C  p3 U# J9 l7 p0 S( `3 j( I' [  V# K( o$ k$ w
    然后,在led_flash_cpu01的工程目录下,右键点击"2837xD_FLASH_lnk_cpu1.cmd",左键点击"Exclude from Build",取消该选项。. L. W; g- P" r+ u5 V* V9 F
    ; ~: }& A4 H* h9 a8 _+ y" S) N8 `
    图 22
    / H# S. {+ T7 |- ~6 B8 t" b  i: w0 v% E, d# V
    在main.c文件的定义中,添加以下代码,如图所示:
    + f; O2 J' I# P9 Z#define _STANDALONE
    1 i: I' _7 F1 C3 t% J# Z#define _FLASH
    8 M7 D  @/ }  ]9 D#ifdef _FLASH; `; W, f2 {) Q/ \
    extern Uint16 RamfuncsLoadStart;
    ! g# u1 x! H3 l( Q1 vextern Uint16 RamfuncsLoadSize;" d) U0 o$ S! e  t4 J
    extern Uint16 RamfuncsRunStart;; ^7 S+ j7 m( n
    #endif5 E# U9 O$ |" `' v# m( ]8 n
    ; D. b# ~9 M0 J9 o% ^. A
    图 23+ b" N9 L0 @- {) i+ N
    3 G; A  w& K- W- w0 j8 n
    在主函数中,添加以下代码,如图所示:$ G  _4 o3 _2 s: A9 n% H" {  H' u
    #ifdef _FLASH- p; c* G: A( m8 C& s& w2 v% V0 ]
    memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);6 v+ V& s/ ~% m. j6 S
    #endif) W0 o0 f7 P5 J9 k

    ( A; d3 \4 M  b" ?+ A#ifdef _STANDALONE& q- q/ W! s& D2 X
    #ifdef _FLASH. Q5 M- S+ }1 B  H, ~
    //发送 boot 命令,允许 CPU2 开始执行应用程序* T1 r4 q0 J5 F: H
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);/ \0 F, @+ Y. g1 T
    #else' \* Q. A6 Z( P& T' r4 E- `
    // 发送 boot 命令,允许 CPU2 开始执行应用程序  V* `& j* R) x7 o: H- s' b0 Q$ c
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
    , h" u, P& |. H$ b+ y8 `) R2 T1 u#endif; q" R  X7 ^; ^
    #endif
    ( Q, H& @! W' _+ k8 h3 {
    $ u. K5 g+ [4 M; x# C! t7 p// 片上 Flash 初始化5 X3 X  J) V6 k2 v
    #ifdef _FLASH
    & i, P: x6 L9 R' Y, n   InitFlash();
    0 l& |+ t: |, J+ e1 u' \#endif* y9 x; G1 D* b. G3 X$ B* K

    0 b* _' O3 l" `8 p" I/ ?& [. [, t图 24  D  i( o: p+ {

    7 N. ]" k# D5 k6 [) _% e) ?保存修改,点击"Rebuild Project"选项,重新编译工程。; o; t4 J& v+ x. T8 w3 T
    4 E% @0 O2 R. b% U9 R
    图 25
    : H; }1 O' s, o/ ]; a! C5 M9 Q1 x3 N# G: s9 y4 F# ^8 L7 B
    打开led_flash_cpu02的工程目录,右键点击"2837xD_RAM_lnk_cpu2.cmd",左键点击"Exclude from Build"选项。
    5 ]: S8 x  Y# |  t% H, r. ]: \% ?+ p7 C0 o
    图 26, G, m% x4 m/ c3 `5 Q% J

    3 W1 Q; a% v" x: N然后,在led_flash_cpu02的工程目录下,右键点击"2837xD_FLASH_lnk_cpu2.cmd",左键点击"Exclude from Build",取消该选项。
    3 d( g  f3 T/ l2 \9 e1 t* J" E8 Q+ j4 v' C2 O& ^! P! @3 u
    图 276 G# t  f1 }2 F" @1 t, `* k

    ; P; A/ k: s9 E- s在main.c文件的定义中,添加以下代码,如图所示:, k% N& B% l4 r* T. N) a% l
    #define _FLASH6 n4 s* S; a8 l1 q/ R
    #ifdef _FLASH
    5 N6 g9 f8 s& O/ |+ b* mextern Uint16 RamfuncsLoadStart;
    ( Y' I0 ]) ~" y' S7 j1 V! Zextern Uint16 RamfuncsLoadSize;! m8 p3 B1 C4 \% `' w) w
    extern Uint16 RamfuncsRunStart;5 R; F' _6 A/ {' e4 U
    #endif
    ) |! u9 N0 O- f6 B$ m  V8 c. Q
    7 K" _% u! {% H/ a图 28
    , v5 s5 b0 y' Y! m. i+ H
    8 ]& N# g; P0 k" P' f. ]6 Z在主函数中,添加以下代码,如图所示:) U- Z, T7 R! u9 [7 `; ]3 G
    #ifdef _FLASH/ H6 ^0 o6 N) \8 F0 b8 h! q
    memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
    ! s' j+ R$ L- R$ O" _  y1 @0 y#endif: ~/ k4 h* g5 s" t. a

    % c" C" I: l" H6 s1 Z// 片上 Flash 初始化
    2 i0 S9 Q  _, W& ?) v1 P) a& U#ifdef _FLASH
    % q( S+ u2 J7 u* j   InitFlash();
    : `0 O5 S! `- Y#endif
    7 e  s# r4 r$ A# T, c. G
    8 s$ V1 _* j6 r% G. r( l图 29
    7 D5 l* V1 X+ F7 w  A( ^  l* x7 s% Y4 A( H, z* B- T  a6 e& l
    保存修改,点击"Rebuild Project"选项,重新编译工程。3 w: V5 \( r* m! ?1 p% s& G% C( f' l; m

    9 R' O' _1 Y& _7 |( ~- C0 `图 30
    : ]; g. O4 u" ~. h
    8 R2 p4 s4 [4 r$ k7 s- n9 g. V按照工程导入步骤,将生成的led_flash_cpu01.out和led_flash_cpu02.out文件,分别加载到CPU1和CPU2。: U. B9 a( f: I' W) j1 ^
    开发板断电,然后重新上电,就可以正常点亮,核心板上的LED流水灯。
    7 X; A) g. Q/ H' @7 l 烧写双核SYSBIOS程序到FLASH以SYSBIOS的LED工程为例。/ F$ t- L& e( r' b$ V
    将光盘资料的Tools目录下的"TMS320F2837xD_BIOS.cmd"文件,拷贝到对应的工程目录下。
    7 j& y' g" B$ Q# ~" @6 Q
    % X7 X& j6 \) L0 S0 y7 P4 ^+ N图 31
    # }6 Y+ _' r2 q3 _, d" H- L4 g3 S! C6 D
    按照工程文件的导入步骤,将光盘资料中"Demo\DSP_F2837xD\SYSBIOS\Application"路径下的LED工程,导入到CCS的Project Explorer窗口,如图所示。
    4 E+ s# N# G/ M4 l
    ( ]6 ^5 R5 |* v* X1 r3 J图 322 F' q8 e1 w% @0 ?
    1 R; E3 g! x0 i( l; X: ~8 ^
    打开sysbios_led的工程目录,右键点击"TMS320F2837xD.cmd",左键点击"Exclude from Build"选项。
    ! m5 w# I8 R, P' U  H0 I8 k3 @- @9 o# J# D! `
    图 33
    4 W, I3 h) a$ V. B& r7 {8 D$ g; n0 D
    双击工程目录下的app.cfg文件。
    0 q2 T2 @1 B; r' o8 k# d+ v* o% d2 S0 E7 ?3 T. T
    图 34
    ) N( y) y3 Y3 U1 A+ V: A$ b; H/ o0 R( s1 H' H9 x% n
    点击Boot选项。, z8 q; q1 K; u( i7 h3 x
    " F- _/ n% l$ ~3 k4 S
    图 351 m, E8 x- v2 M
    ; u% _6 b! E; W
    确认Boot配置,如图所示。9 ~" c$ v: `2 E8 z3 y8 i
    * l( Q8 V, V9 v( ]& x8 s) j) s
    图 36
    ' c5 B# N6 _) ?0 v4 ~
    3 |, @  K4 ?" M2 A保存退出,右键工程,选择"Rebuild Project"选项,重新编译工程,如图所示。
    5 S' h; l3 `- m# V
    ) J$ N) S8 |! g图 37, ~$ C2 s! w3 Y$ n- z/ y, {8 |
    7 }2 ]+ u" l; m# K" [8 C/ m
    按照工程导入步骤加载sysbios_led.out文件,然后点击程序运行按钮。/ U; B! H/ k/ ?( Q/ _
    开发板断电重启,烧写到FLASH的流水灯程序,即可正常运行。
    : t1 \2 U. [6 T% h9 V
    1 e+ H* y- y- Z( @, U: O$ H5 Q( X

    该用户从未签到

    2#
    发表于 2020-8-3 11:21 | 只看该作者
    TMS320F2837x开发例程使用手册
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-25 01:49 , Processed in 0.171875 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表