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

TMS320F2837x开发例程使用手册

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    基于仿真器的程序加载与烧写
    • 查看仿真器是否安装成功
      & S- M) Q' |4 c; S! B
    广州创龙配套多种版本的仿真器的工程仿真配置文件,均在光盘目录下"Demo\NonOS\TargetConfig\ccxml"里面的。
    2 [7 q: z" V# A" I如下TMS320F2837x的开发,均以TL-XDS200仿真器为例。开发板断电,连接好仿真器和开发板,并将仿真器的USB口插进电脑USB插槽,开发板上电。右击计算机图标,点击“设备->通用串行总线控制器”或者“设备->端口”,查看是否有对应的仿真器的选项出现,如有说明仿真器驱动已经正常安装,否则请先正确安装CCS。
    ) o1 Q3 J* N7 {
    1 D/ y9 ~# n$ S1 [图 1
      O3 |1 H, U) S& D# \- a) q) V2 j* ~: F! A4 A
    CCS集成开发环境自带XDS100及XDS200系列仿真器驱动。如果仿真器无法正常使用,请检查是否存在驱动冲突,XDS100系列仿真器使用FTDI芯片,请检查是否与已经安装使用FTDI的USB转串口驱动冲突,如使用XDS200仿真器,请检查计算机中是否正确安装USB转串口驱动或者尝试重新安装计算机主板芯片组驱动。
    9 c" m9 O; k% M7 M8 T; b
      F7 G1 T8 ~% Q( _, s" G- L7 P
    • 设置工程配置文件信息
      ) D+ t8 L$ _, T$ r+ n6 J
    请先按照相关软件安装文档安装CCS,然后打开CCS集成开发环境,点击菜单"File->New->Target Configuration File",如下图所示:/ H; p( M- y+ U: @6 ]+ i3 D2 b7 \% w
    - y' J$ \9 a% m
    图 2
    : A& a: W5 n0 O9 F8 n( I! J8 N: G* L2 F: \7 J  @
    在弹出的界面中输入工程配置文件名字,然后点击Finish。如下图所示:. J+ l( R# w6 Q# P+ _! i
    , p+ T3 r4 `! C$ ~: E9 _2 M
    图 3( K: h% U% f9 r# H0 w

    : o3 `/ u; [( p在弹出的对话框的"Connection"下拉框中选择对应的仿真器类型(如使用TL-XDS200仿真器请选择"Texas Instruments XDS2xx USB Onboard Debug Probe"),在"Board or Device"下拉框中选择对应的CPU型号:TMS320F2837xS,并点击保存。如果CPU是双核,请选择:TMS320F2837xD,如下图所示:
    ! O# t8 X! O! Q: b# N; L; m7 f8 g* a' l
    图 4
    " s7 Y2 o: w' t, u+ k8 Y0 L/ {8 ]9 O% D
    仿真器连接开发板,上电后,点击"Test Connection",测试仿真器是否连接成功。如下图所示:
    . Q4 |. G) ~- K" y! t
    ( M! o- x7 O/ j8 O. o图 5# T4 k# A" E0 ~# C+ K! i: w# F: c

    2 }4 E) [  z' x. ~" D6 h# o/ S) g
    • 加载GEL文件
      4 W8 w4 K9 o, F
    GEL文件主要用于在仿真调试的过程中对CPU进行初始化,如PLL、DDR等,还可以执行一些调试操作。CCS集成开发环境自带"f2837xs.gel"文件,为默认选项,可在Advanced界面配置。$ N5 U. J! `8 A& l

    ( O7 G9 D" t% V% G0 Q: Y图 6
      |  D' p7 A6 u  p& \7 B
    & i. V% L9 c; `6 v2 z) E8 ^' h+ m4 E点击CCS菜单"Run->Debug",弹出以下类似界面,可以看到C28xx核,是可以加载GEL文件和程序镜像的。: U: @4 \8 j) o" }

    ) _* t* z5 p! ]! k* I2 w图 7
      @2 F/ B9 r4 N  w6 }4 E; q$ z$ V! T) Q9 W: O
    右击对应的DSP核,在弹出的界面中选择"Open GEL Files View"选项,右下角会弹出"GEL Files(TMS320C28xx)"对话框。
    ! g# t! ?5 C7 s
    ' f: s$ `% L3 q5 ?/ b/ ?图 8: f2 ^; e$ |) z
    - z, c! O# V$ j/ ?2 Q- E- `3 n: q
    若前面没配置,可在对话框内点击右键,在弹出的界面中选择"Load GEL"。选择对应目录下的GEL文件,再点击确定,接着右下角的"GEL Files(TMS320C28xx)"对话框会出现Success提示语句,如上图。! \, w- c( j* V. a. F( ~- I0 |8 q
    / ~- o7 ]) R* Y# A9 I2 ~' f  _
    • CCS连接开发板CPU
      # J. G8 o; f' B! _1 i& g1 O* \
    右击对应的DSP核,选择"Connect Target"选项,会显示Suspended状态。这说明CCS已经和开发板CPU正常连接起来了。" {& m7 s$ P! p7 Q- a% Z! f* J
    2 Q' _; U. O8 K  v9 c" d1 N+ b
    图 9/ x% K; _; ^/ P1 y7 P9 v) G& n& [

    / g( I: J+ T1 V- k9 T5 ]备注:如果此处提示"No source****"的信息,不是错误信息,可以将其忽视。; p. e1 c  r( G, W1 f3 \% H9 h

    " ]. @; W5 u& G  ^9 q8 [
    • 加载程序镜像文件9 ^, M  y9 s+ B, _. S
    点击"Run->Load->Load Program",选择程序镜像文件(光盘"Demo"目录下有用于演示的LED.out文件,现象为底板LED灯被循环点亮),可选择并点击OK。接着点击绿色三角启动按键,程序即可正常运转起来。
      K( M: y" M. r* w7 a
    ) z* v' c6 G, k9 j图 10
    * l7 j+ a; g4 h$ C7 V5 }( {7 f2 i) m4 a3 l' ?% U% f
    / O/ _( _, x9 j* w$ C- I( J
    # I. E! p, U3 ~. n* |( J
    图 114 V0 j8 N" G7 c8 t) K4 a( W  E
    5 D# N/ K, x! P$ u6 @# \& f( D! O
    • 烧写程序到FLASH/ v( X, X$ B4 H, K0 m- P& `
    烧写单核裸机程序到FLASHCMD文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号等是如何分配到各个段,以及每个段所使用的存储空间的,通过CMD文件可以实现将编译生成的.out程序烧写到FLASH。具体烧写步骤如下:
    # E2 t, Q/ l1 P1 }添加CMD文件0 ]) I  G# Y  F/ S& k
    右键工程点击"Add Files…",在弹出的对话框中选到"2837xS_Generic_FLASH_lnk"文件,路径为光盘"Demo\F2837xS\NonOS\F2837xS_common\cmd"目录下。
    3 e' z) y. A" R% ^: }( I
    4 d+ r) t+ A$ F2 V3 t+ r图 126 }0 y; _- t/ \# T+ c; K, }
    7 Z# l! t! z0 \4 P7 r
    4 ^: p; ~; N/ g' i
    图 13
    1 ]& \% @3 ~/ c; H8 @
    / W- ^' `- d4 |8 g( X在弹出的对话框中,选择"Copy files",然后点击OK。
    ! z) s: ?9 W: N' U9 c- z
    ! q1 `% F; K& U. Z  h2 m6 Q3 y图 142 x  Q: f4 V% C: p0 u% Z

    % Y; ^" @( k/ R8 j$ i7 x编译程序镜像文件
    4 j1 v2 V  O! r1 z7 ~' r先右击工程中"2837xS_Generic_RAM_lnk"文件,点击"Exclude from Build",再右击工程,点击"Build Project",即可对当前工程编译。8 N- P( q1 i" x$ t9 l
    ( n. z6 r. W+ I: x8 C7 N
    图 152 h- O0 c0 e0 D
    . G1 ^2 W: s5 Q9 _& N8 Y, a' o
    烧写程序镜像文件5 B4 O  {' C- u3 e3 n; Y7 J
    点击"Run->Load->Load Program",选择刚生成的程序镜像文件并点击OK。加载完成即烧写完成,重新上电就可以运行程序。
    6 m$ D; x$ m5 B8 M: y' J: D' X0 ~! |  u" m5 A5 s! g, n9 i
    图 165 m& L( H% i1 _5 Q( }% E* |. j9 M

    9 J$ p, o* z5 D5 l! S) f9 k如果遇到烧写效果与仿真效果不一致,则有可能为例程中存在延迟函数,导致运行效果延迟较大(几百秒以上)或无法运行,解决办法如下:8 ~$ i% X  u) v6 {& O
    请双击工程里的main.c文件,在文件里查找是否有"DELAY_US"函数,如下图:
    5 @& a) g' C) A. E* F& |& h6 E
    5 B2 Z- d1 L+ ^, A! |+ K- s1 J图 17( C7 f# v1 B. R. L; a! F

    7 s4 _' \5 B. X6 G* _0 z# O
    8 ^: y/ r) P2 F% X. C( ^图 18
    6 F( b1 l5 C. L8 ]2 \4 X; d4 _2 f
      ~, A5 R) C# N/ @  J将其注释即可。, c+ \2 O, W8 o
    如有,请在文件里加入外部定义和复制内存地址代码,并重新烧写,添加位置如下图。* {% z6 e) J8 a: @, C/ B
    外部定义代码:3 u: ~3 [3 c% D. C# @* n; t
    extern Uint16 RamfuncsLoadStart;7 @! [- F& p1 A# f* B* m# ?- e' y
    extern Uint16 RamfuncsLoadSize;: I9 e* D/ K* l' ]) a- G( s
    extern Uint16 RamfuncsRunStart;
    3 K* ^- P  b8 Q. ?  ?复制内存地址代码:  f. L0 w/ ?* u# }" L
    mEMCpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
    0 h# g  u5 ]/ }, X6 F8 a0 f4 L, S; B* f* Z
    图 19
    / L4 _3 }$ n; H! ?7 |0 i8 ?$ J; g
    , R2 q# V' X, D0 a: f' |. ~8 q6 C+ n:如果遇到烧写不成功,请按以下流程进行操作:
    9 O8 H& U9 B. {
    • "Help->About CCS->Installation Details->Installed Software",搜索flash,点击"Debug Server Flash",Update更新即可。
    • 更新完成,提示重启CCS。  L& V3 u0 F% g2 ^3 Z+ K" E
    重启完成后,Debug Server Flash版本会变成Debug Server Flash 6.1.0.1425。
    & T' @, l- H$ @% ~$ F% W
    + E$ P' `  N: R9 O, R% v 烧写双核裸机程序到FLASHCMD文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号等是如何分配到各个段,以及每个段所使用的存储空间的,通过CMD文件可以实现将编译生成的.out程序烧写到FLASH。# E: d6 ~  ], m+ d) N3 ?$ \  |
    以双核工程led_flash为例,具体烧写步骤如下:1 |2 x! h6 J& K/ l! n- `
    按照工程文件的导入步骤,将led_flash_cpu01和led_flash_cpu02的工程,导入到CCS的Project Explorer窗口,如图所示。
    . w- e' b$ v6 P' E! u+ I5 K+ q0 A, {* v+ Z6 }
    图 20" t# P) M8 G- W+ a0 C

    6 D6 e2 ~: \5 z, v/ e打开led_flash_cpu01的工程目录,右键点击"2837xD_RAM_lnk_cpu1.cmd",左键点击"Exclude from Build"选项。7 H6 v; J9 V$ q# @) [; A( |2 }
    / k0 u8 f- v. d7 q# t
    0 R2 a+ k9 i4 V9 D
    图 21: i3 N. |' G+ d9 D1 D& m: h8 t4 Y

    " ?( }; r# s/ @% @" `: Q6 \( d* N然后,在led_flash_cpu01的工程目录下,右键点击"2837xD_FLASH_lnk_cpu1.cmd",左键点击"Exclude from Build",取消该选项。; L2 P' w8 U- l5 s5 w# U$ z/ H
    4 ^. j' |# A3 n* Y7 o3 W5 g4 Y2 N5 J* M
    图 22: R) k. Y8 B/ @
    ( Z& N8 J7 J) `4 d1 ^
    在main.c文件的定义中,添加以下代码,如图所示:
    . I, E0 r* v9 C" I4 ]/ v# ^, O#define _STANDALONE6 ]5 h/ Y! t' @" P3 u+ Q2 a
    #define _FLASH
    2 K/ Q* ^' Y6 @; J' q& u2 H$ t#ifdef _FLASH
    ) E+ Q7 }8 l% D2 V. yextern Uint16 RamfuncsLoadStart;! P/ \7 I5 j  r, G
    extern Uint16 RamfuncsLoadSize;
    5 k, d/ |8 |9 J( G; J$ k* Jextern Uint16 RamfuncsRunStart;
    , h! m. [0 c9 o6 U( I  G#endif- r5 ?. E5 h  i) M" i) U4 j2 U
    ; w7 W8 [! C3 A0 G$ f
    图 23
    6 a8 a4 Y5 y7 h6 O9 K8 H' M0 P9 ~8 K; l$ S, w8 A4 |: C
    在主函数中,添加以下代码,如图所示:
    ) z, |' N4 l. m$ X% \% k#ifdef _FLASH
    0 U+ _. Z* m. z/ G7 o! nmemcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
    & C" W' c9 R: J3 f& `/ y$ g( X+ r#endif9 w& W( V) V- B1 h

    5 m$ K# n* S' m- G#ifdef _STANDALONE6 A; j  D$ X; Q" _3 w- H8 j- }
    #ifdef _FLASH5 q# D- `5 g) z# W
    //发送 boot 命令,允许 CPU2 开始执行应用程序
    & |- {. A) j& ?, Z" |IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
    2 l+ j  m; W8 R  [2 Z5 G1 X+ l- n#else/ t  Y( i, o7 ~7 L7 C& k
    // 发送 boot 命令,允许 CPU2 开始执行应用程序( o( M9 M: `. P# Z$ c; h
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
    / \& i2 ]4 I6 q/ w#endif1 D* a3 w" Y  J) i) b
    #endif' g* d1 ]6 @! ]
    0 G& ?0 X# L2 s; r2 ]
    // 片上 Flash 初始化' o  r5 i- G! Z* \0 o. c
    #ifdef _FLASH6 I- A: S; L9 s2 b' ?
       InitFlash();6 F; U, I5 @. `: X! }0 B
    #endif, X  X9 U! y9 u6 L2 Z

    1 x5 T5 n; R+ a( Q5 a7 e图 24
    - k! A6 v2 ^4 f6 H3 {5 `
    ' G1 D- Y2 L& B& A9 D保存修改,点击"Rebuild Project"选项,重新编译工程。
    4 ^- [0 \! G, }6 |: h# U! M3 i6 @; y- j6 ]( a5 R' s
    图 257 h9 r, R8 D' ~9 g, D1 j

    ; O  ^8 \7 `+ t8 d' o打开led_flash_cpu02的工程目录,右键点击"2837xD_RAM_lnk_cpu2.cmd",左键点击"Exclude from Build"选项。
    # b/ e7 \- d' P! K  y( X; h
    $ R; R/ O# B" U) ~, |+ s* A- ?, j图 26
    # y. l) I% m5 \2 S& a, U1 C1 [. ^
    # m( Q9 i: K- F- ?然后,在led_flash_cpu02的工程目录下,右键点击"2837xD_FLASH_lnk_cpu2.cmd",左键点击"Exclude from Build",取消该选项。& g$ \" `8 M( L" v, o
    % S2 v' ?5 Q3 W, O$ g  Z5 D' D
    图 27$ M  @7 K1 u. \" ^

    : W9 Z: u3 A+ G4 g在main.c文件的定义中,添加以下代码,如图所示:
    ' F( _% a  s/ C) M. [#define _FLASH
    ! @. _* g  `9 o#ifdef _FLASH" B6 U' G' ^1 r$ G/ Q" s
    extern Uint16 RamfuncsLoadStart;
    , a* A  W  d5 C# k7 x% \  \* kextern Uint16 RamfuncsLoadSize;/ L% u/ ^1 q2 y+ ~; c
    extern Uint16 RamfuncsRunStart;
    # N( r5 l, ]* B6 ?1 D#endif
    ! q) q" ]& l, @1 m7 t
    1 E( x' a" O( D& K' r( ~图 28
    & v. g6 H% F( F* X
    " @* S# m$ ~  \6 |, E3 K& q在主函数中,添加以下代码,如图所示:
    * P$ Z# K% k; u* ~- N. F" `#ifdef _FLASH
    3 z: G5 |0 W3 t/ e+ M) Imemcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);) s, N) Z5 [$ z7 {; D6 w
    #endif' k# D; x1 [5 L# L& {3 P8 z% U; Z

    7 V0 l  B2 @9 V( o7 m  A7 z// 片上 Flash 初始化
    * z# n: k* q* D* A#ifdef _FLASH
    * d$ y# Q% ?% [' u   InitFlash();9 J* g! \- ?9 p) E# v, ~
    #endif
    * r' g; V; O8 k2 `5 h" s' t; B8 u+ U, j0 _, `# J* V0 Z
    图 29) U: _2 F1 C- t

    ; P/ s3 n- x& x8 m* m# D保存修改,点击"Rebuild Project"选项,重新编译工程。
    0 B# D+ C! e9 B' v! M7 n/ x
    - I2 c: G! C" J) i图 30
    5 r) u, D8 }6 w! K. f8 ~. {& H/ u
    5 a0 |4 U2 N% p/ x按照工程导入步骤,将生成的led_flash_cpu01.out和led_flash_cpu02.out文件,分别加载到CPU1和CPU2。$ W6 w8 r1 Z0 q- c
    开发板断电,然后重新上电,就可以正常点亮,核心板上的LED流水灯。4 r7 T3 a" x! n2 ~$ V
    烧写双核SYSBIOS程序到FLASH以SYSBIOS的LED工程为例。
    3 Y5 S+ ]  z; W' t/ h+ O1 \将光盘资料的Tools目录下的"TMS320F2837xD_BIOS.cmd"文件,拷贝到对应的工程目录下。) R: G: E' a6 G

    ) P4 ^3 i- o4 c# Z/ l: N图 31
    $ G8 u3 n: y1 i6 p
    * k9 V2 `; k! a- r! B+ x6 O! W按照工程文件的导入步骤,将光盘资料中"Demo\DSP_F2837xD\SYSBIOS\Application"路径下的LED工程,导入到CCS的Project Explorer窗口,如图所示。2 V% b6 K9 K1 h1 l. [  c# M
    " ]1 P" Q2 L) c  ]0 p
    图 325 @% `! @& z/ h  R$ N
    $ |% q9 v  h/ Z1 Z6 d" V! ]
    打开sysbios_led的工程目录,右键点击"TMS320F2837xD.cmd",左键点击"Exclude from Build"选项。
    3 W. c( d: U1 p" C# y* P8 d
    ; m' f0 [+ m, V" w  b图 333 O8 P4 p( q9 M2 A9 C; c" K
    , g+ K4 }8 q2 X3 t5 F0 T4 D
    双击工程目录下的app.cfg文件。
    ) b# X( |; K* R
    ! v& {9 f7 X. _9 v9 f图 34$ R! V% U$ H2 H9 |9 m7 B7 `

    6 k% Y, n, t- y+ _9 A8 I( I点击Boot选项。
    & t1 l) }( m' N
    3 y3 Y* X- x* B$ P# ~图 35
    2 u  k' S' [/ |  N% c3 D# K+ d- T4 `" }2 m6 {
    确认Boot配置,如图所示。
    ' i# R' D+ |4 k; [2 V8 N$ A2 c% ^5 E
    图 36
    3 M, N8 H1 k8 ~0 g$ G/ c$ u5 g. {2 r" U9 Y, N  m
    保存退出,右键工程,选择"Rebuild Project"选项,重新编译工程,如图所示。
    - B# I8 @0 f8 |$ T% N/ K0 a% v; U* j1 ~8 f! Y; L
    图 37
    " R- \9 V/ ]4 X( A
    9 o" M5 V7 w- b* B0 ~5 G6 c按照工程导入步骤加载sysbios_led.out文件,然后点击程序运行按钮。
    * i( r, ]' V1 e  R1 T开发板断电重启,烧写到FLASH的流水灯程序,即可正常运行。
    6 q# n2 o3 D8 I- X$ `7 \7 Q
    . ?$ Z. q  u8 ^! x* Z5 x

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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