garfield

【原创】ccs下建立一个c语言工程

0
阅读(4075)

Code Composer Studio(CCS 是用于 TI DSP、微处理器和应用处理器的集成开发环境)。 Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工 具。 它包含适用于每个 TI 器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。 Code Composer Studio IDE 提供了 单个用户界面,可帮助您完成应用开发流程的每个步骤。 借助于精密的高效工具,用户能够利用熟悉的工具和界面快速上手并将功能添加至他们的应用。

TI的ccs是一个功能很强的开发环境,可是另很多工程师不爽的是在ccs下建立一个最简单的可以运行的工程并不简单。本博文将介绍一个在ccs开发环境下建立一个c语言工程的方法。

 

1、dsp2407寄存器定义头文件 2407c.h

        本部分定义TMS320LF2407处理器的所有寄存器,以用于程序的访问。本部分内容较多不详细列出,用户在建立工程的时候只需将下面文件加入工程,并在其他文件中加入如下语句:

         #include "2407c.h" 

         9854356956150.rar

2、中断向量表

       中断是大多数程序都需要的,TMS320LF2407的中断处理机制类似于8051,只比8051稍微复杂一点,思路类似。它的中断向量表其实是一个汇编程序文件,该文件里有一系列跳转语句。vector.asm的内容如下:

  .ref _gptime1,_c_int0
  .sect     ".vectors"
RSVECT   B _c_int0   ; Reset Vector
INT1   B PHANTOM   ; Interrupt Level 1
INT2   B _gptime1; Interrupt Level 2
INT3   B GISR3   ; Interrupt Level 3
INT4   B GISR4   ; Interrupt Level 4
INT5   B GISR5   ; Interrupt Level 5
INT6   B GISR6   ; Interrupt Level 6
RESERVED  B PHANTOM ; Reserved
SW_INT8  B PHANTOM ; Software Interrupt
SW_INT9  B PHANTOM ; Software Interrupt
SW_INT10 B PHANTOM ; Software Interrupt
SW_INT11  B PHANTOM ; Software Interrupt
SW_INT12  B PHANTOM ; Software Interrupt
SW_INT13  B PHANTOM ; Software Interrupt
SW_INT14  B PHANTOM ; Software Interrupt
SW_INT15  B PHANTOM ; Software Interrupt
SW_INT16  B PHANTOM ; Software Interrupt
TRAP   B PHANTOM ; Trap vector
NMI   B NMI    ; Nonmaskable Interrupt
EMU_TRAP  B PHANTOM ; Emulator Trap
SW_INT20  B PHANTOM ; Software Interrupt
SW_INT21  B PHANTOM ; Software Interrupt
SW_INT22  B PHANTOM ; Software Interrupt
SW_INT23  B PHANTOM ; Software Interrupt
SW_INT24  B PHANTOM ; Software Interrupt
SW_INT25  B PHANTOM ; Software Interrupt
SW_INT26  B PHANTOM ; Software Interrupt
SW_INT27  B PHANTOM ; Software Interrupt
SW_INT28  B PHANTOM ; Software Interrupt
SW_INT29  B PHANTOM ; Software Interrupt
SW_INT30  B PHANTOM ; Software Interrupt
SW_INT31  B PHANTOM ; Software Interrupt
GISR1
GISR2
GISR3
GISR4
GISR5
GISR6  
PHANTOM

3、cmd文件,个人理解为存储配置文件。不多讲了,一种典型的配置如下

-w
-stack 100
-heap  100
-l rts2xx.lib
MEMORY
{
 PAGE 0:
  VECS :o=0,l=40h
  PRCT :o=40h,l=4
  PROG :o=44h,l=2000h
 PAGE 1:
     IDATA1:o=300h,l=100h
     IDATA2:o=0c00h,l=400h
     REG_MEM: o=7000h , l=1000h
     DATA :o=8000h,l=8000h                  
                         
}
SECTIONS
{
 .vectors:>VECS PAGE 0
 .prct :>PRCT PAGE 0
 .text :>PROG PAGE 0
 .cinit  :>PROG PAGE 0
 .data   :>PROG PAGE 0
 .stack  :>IDATA1 PAGE 1
 .bss    :>IDATA2 PAGE 1    
 .reg240x    :{} > REG_MEM PAGE 1
}

4、最后是用户程序文件,这个由用户自己编写,但是切记程序以main函数开始。

 这样一个简单的工程就建好了,下面就是你自己的工作了,你就可以开始你的应用了。