C281x C/C++头文件和外设例程的快速入门
闭吕庆 玉林师范学院电子科技创新实践基地
目 录
1. 芯片支持 ................................................................................................................................................................. 2 2. 简介 ......................................................................................................................................................................... 2
2.1 回顾历史 ..................................................................................................................................................... 2 2.2 文件的放置(目录结构) ......................................................................................................................... 2 3. Bit-Field(位-域)结构方法的理解 .................................................................................................................... 3 4. 外设例程项目 ......................................................................................................................................................... 3
4.1 开始 ............................................................................................................................................................. 3
4.1.1 在CCS3.x中开始 ............................................................................................................................... 3 4.2 在CCS V4中开始 ..................................................................................................................................... 5 4.3 例程结构 ..................................................................................................................................................... 6
4.3.1 包含的文件 ..................................................................................................................................... 6 4.3.2 源代码 ............................................................................................................................................. 7 4.3.3 Linker Command Files 连接器命令文件 ................................................................................... 7 4.4 例程程序流程 ............................................................................................................................................. 8 4.5 包含的例程 ............................................................................................................................................... 10 4.6 在Flash中执行例程 ............................................................................................................................... 10 5. 合并头文件到例程代码的步骤 ........................................................................................................................... 12
5.1 开始前的准备 ........................................................................................................................................... 13 5.2 把DSP281x外设头文件包含进来 ........................................................................................................... 13 5.3 包含共享例程代码 ................................................................................................................................... 14 6. 故障解决报告和常见问题回答 ........................................................................................................................... 15
V1.20快速入门教程 德州仪器
1. 芯片支持
本软件包支持281x系列芯片。包括如下:TMS320F2812、TMS320F28112、TMS320F2810、TMS320C2812、TMS320C2811、TMS320C2810、TMS320R2812、TMS320R2811。 文档中TMS320F2812、TMS320F28112、TMS320F2810、TMS320C2812、TMS320C2811、TMS320C2810、TMS320R2812、TMS320R2811相应的简称为F2812、F2811、F2810、C2812、C2811、C2810、R2812、R2811.
2. 简介
DSP281x 外部头文件和SPRC097中的例程减轻了德州仪器‘281x 系列DSP’的C/C++代码编写工作。这些代码可作为学习工具,或者当前用户开发平台的基础。 ? 学习工具
本下载包包含了几个针对281x 开发平台的CCS例程项目。其中的一个平台是数字系列的F2812 USB评估开发板。 这些例程像我们展示了器件的初始化和片上外设的使用所必须的步骤。所提供的例程可复制和修改作为用户平台的一部分,以加快携带有不同外设配置的实验的进程。 这些项目经过简单修改连接器命令文件的存储器分配后,可移植到其他芯片上。 ? 开发平台
外部头文件能够容易的加入到一个新的或者已经存在的项目里,成为它们的一部分,以支持这些平台利用C/C++代码访问片上外设。此外,用户可以从提供的例程里挑选出一些函数作为使用,或者把剩下的删除。
开始前,先了解本文档所提供的信息,如下所示:
? DSP281x C/C++C外部头文件中使用的位-域结构方法的概述 ? 包括的外部例程概述
? 把外部头文件加入到一个新的或者已经存在的项目的步骤 ? 终端故障的解决和常见问题的回答
? 用户从早前发布的V.58转到V1.00或者更新版本的终端移植
最后,本文档不提供C代码编写、CCS使用或者C28x 编译和汇编的指导。假设读者已经拥有一个281x硬件平台,并已经设置和连接到一个安装有CCS软件的主机上。用户应该具有使用CCS从JTAG下载代码和平台基本调试操作的基础。 V1.20版做了一些小的修正和在头文件和例程中安排了一些注释,也增加了几个例程文件夹,DSP280x_examples_ccsv4,带有一些CCS V4支持的例程。
(其他省略)
2.1 回顾历史
2.2 文件的放置(目录结构)
在安装时,C281x C/C++头文件和SPRC097外部例程被分段在一个已经定义好的目录结构里。默认时,源文件被安装在c:\\tidcs\\c28\\DSP281x\\
2
德州仪器 C281x C/C++头文件和外设例程的快速入门
表1. DSP281x 的主目录结构
描述
表2 DSP281x 的子目录结构
子目录 描述 DSP281x_headers\\cmd 分配bit-field(位-域)结构的连接器命令文件,见第3节 DSP281x_headers\\source 把头文件添加到新的或者已经存在的项目时要求的源文件 DSP281x_headers\\include 每个281x片上外设的头文件 DSP281x_common\\cmd 在281x芯片上分配内存的内存命令文件例程 DSP281x_common\\include 被DSP281x外设例程使用的共享头文件 DSP281x_common\\source 被DSP281x外设例程使用的共享源文件 目录 3. Bit-Field(位-域)结构方法的理解
DSP281x头文件和外设例程使用了Bit-Field(位-域)结构方法来映射和访问TI ‘281x 系列 DSPs的外部寄存器。这个技术使用的更多信息,可参考笔记Programming TMS32028xxand 28xxxPeripherals in C/C++ (SPRAA85)。
这个应用笔记探索了使C/C++代码更容易执行的硬件抽象层。
4. 外设例程项目
在DSP281x_examples目录下的C281x C/C++头文件和外设例程(在SPRC097中)中,有几个例程项目使用了DSP281x头文件来配置片上外设。
4.1 开始
4.1.1 在CCS3.x中开始
为了开始,我们需按照以下的步骤来装载DSP281x CPU-Timer 例程。其他例程的设置步骤也相似。 1. 把硬件平台连接到一个按照有CCS软件的主机上。 2. 装载例程的GEL文件(.gel)或者项目文件(.pjt)
3
V1.20快速入门教程 德州仪器
每个例程都包含有一个CCS Gel文件来自动下载项目、编译项目和打开观察窗口。作为选择,项目本身也可以被直接装载,而代替使用包含的GEL文件来装载。 装载CPU-Timer例程的Gel文件步骤如下:
1) 在CCS软件中,点击菜单:File-----Load Gel
2) 浏览CPU Timer例程目录:DSP281x_examples\\cpu_timer 3) 选中Example_281xCpuTimer.gel
4) 点击CCS软件的GEL菜单,选择DSP281x CpuTimerExample-> Load_and_Build_Project 经过以上步骤后,项目将并编译建立和下载。 3. 编辑DSP28_Device.h
编辑include目录下的DSP28_Device.h文件,以使得项目的器件符合实际目标板。默认是2812.
/******************************************************************** * DSP281x_headers\\include\\DSP281x_Device.h
********************************************************************/ #define TARGET 1
//--------------------------------------------------------------------------- // User To Select Target Device: #define DSP28_F2812 TARGET #define DSP28_F2811 0 #define DSP28_F2810 0
4. 编辑DSP281x_Examples.h
编辑DSP281x_Examples.h文件,设定SYSCLKOUT周期(默认为150MHz),设计程序可参考下方程序:
/******************************************************************** * DSP281x_common\\include\\DSP281x_Examples.h
********************************************************************/ ……
#define CPU_RATE 6.667L // for a 150MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 7.143L // for a 140MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 8.333L // for a 120MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 10.000L // for a 100MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 13.330L // for a 75MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 20.000L // for a 50MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 33.333L // for a 30MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 41.667L // for a 24MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 50.000L // for a 20MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 66.667L // for a 15MHz CPU clock speed (SYSCLKOUT)
//#define CPU_RATE 100.000L // for a 10MHz CPU clock speed (SYSCLKOUT)//-----------
5. 检查主要的源文件Example_281xCpuTimer.c顶部的注释
例程的简单描述和所有例程中的假设条件,以及所有的外设要求都列在主源文件顶部的注释上。 6. 完成例程要求的所有硬件的设置
完成主源文件注释指出的所有硬件的设置。DSP281xCPU-Timer例程只要求硬件被设置成“从H0中引导”。其他的例程可能会有额外的硬件设置要求,例如把几个管脚连接在一起,或者把管脚上拉或下拉。表3列出了引导模式管脚的设置,以供参考。
4
德州仪器 C281x C/C++头文件和外设例程的快速入门
GPIOF4 1 0 0 0 0 0 表3 281x引导模式的设置
GPIOF12 GPIOF3 GPIOF2 Mode Boot to flash 0x3F7FF6 X X X Call SPI boot loader 1 X X Call SCI boot loader 0 1 1 Boot to H0 SARAM 0x3F8000 0 1 0 Boot to OTP 0x3D7800 0 0 1 Call parallel boot loader 0 0 0 7. 装载代码
一旦完成所有的硬件配置,点中CCS的GEL菜单,选择DSP281x CpuTimerExample-> Load_Code。这将装载.out文件到28x器件中,感兴趣的变量也被移入观察窗口watch window,器件复位,执行主函数起始处的代码。每次器件复位时,GEL文件都被设置用来装载代码,因此,如果不想要这种操作(复位时装载代码),可在这时把GEL文件删除了。在名字上点击右键,选择删除,即可把GEL文件删除。
8. 运行例程,添加变量到观察窗口上,或者检查存储器的内容。 9. 实验、修改、重建例程。
如果你想修改例程,我们建议把整个要修改的头文件包做一个备份,或者至少首先创建一个原始文件的备份。Ti 公司提供的新例程里,都已经假设用户已经拥有了基本的文件。 更多的例程结构和流程细节见4.2、4.3节。
10. 完成上述步骤后,从CCS中删除项目和例程里的GEl文件。
在它的名字上点击右键,选择删除,即可删除GEl文件。
例程使用DSP2802x_headers目录里的头文件和共享DSP2802x_common目录里的源文件。只是,特定例程里的特有文件放置在example目录下。
注意:下载包里的大多数例程代码使用bit- field结构来访问寄存器。这有利于用户学习如何使用外设和器件。使用bit- field有利于代码的生成,使得用户更加容易阅读和修改。这种方法相比.all方式,将导致一些头部代码。此外,例程项目关闭了优化编译。如果想打开优化器,用户可以改变这个编译设置。
4.2 在CCS V4中开始
为了开始,下列步骤用来装载32位的CPU-Timer例程。其他例程是设置步骤类似。 1. 2. 3. 4. 5. 6.
7. 建立和装载代码
一旦所有硬件配置完成后,在CCS V4版本中,进入菜单Target->Debug Active Project。
在CCS V4里,这将打开Debug框图,建立项目,装载.out文件进28x芯片中,复位,到主函数的起始处执行代码。默认情况下,在CCS V4里,每次当Debug Active Project被选中时,代码都自动的被建立,而.out文件被装载入28x器件中。
8. 运行例程,添加变量到观察窗口上,或者检查存储器的内容。
在代码顶部的扇区注释里,这里应该有一个变量观察的表格。通过选中和右键,可以把这些变量添加到观察窗口上。然后选择‘添加观察表达式’。现在,我们感兴趣的变量都已经被添加到观察窗口上
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库DSP281X头文件的快速入门(中文版)在线全文阅读。
相关推荐: