TMS320F2837x开发例程使用手册(2)
CCS工程新建、编译和导入
为了减少视觉疲劳,建议选择Yahei Consolas Hybrid字体,这是一种合成字体,由微软雅黑的中文字体和微软专为程序员开发的Consolas的英文字体合成的,特别适合中英文的编程开发和代码编写。先将光盘tools目录下的YaHei.Consolas.1.12.ttf文件复制到计算机"C:\Windows\Fonts"目录下。
打开CCS,点击CCS菜单栏下"Window->Preferences",如下图所示:
图 38
分别点击"General->Appearance->Colors and Fonts->Basic->Text Font"和"General->Appearance->Colors and Fonts->C/C++->EDITOR->C/C++ Editor Text Font",再点击"Edit…",在弹出的界面中选择12号常规"Yahei Consolas Hybrid"字体。
图 39
图 40
本平台所有例程均使用TI v6.4.2及以上版本编译工具,请先按照相关软件安装文档安装对应的编译工具。如果出现提示编译工具版本不一致警告信息,但例程可以直接编译和使用,修改编译工具版本配置可以去掉警告信息。步骤如下:
- 右击工程,选择"Properties"设置,如下图所示:
图 41
- 在弹出的对话框中选择"General->Compiler version-> TI v6.4.2",如下图所示:
图 42
裸机工程新建
第一次启动CCS的时候会让你选择一个Workspace,Workspace就是你的工作空间也就是项目文件所在的目录,路径随意不能够包含非ASCII字符(例如:中文)。还有一点需要注意的是,Windows系统对文件路径是不区分大小写的,但是如果你使用的是基于Linux版本的CCS需要注意路径的大小写。
图 43
新建工程
点击CCS菜单的"File->New->Project-> CCS Project"。如下图所示,
图 44
接着弹出如下界面:
图 45
Project name:myled,CCS工程名字,称里面不能够包含非ASCII字符;
Location:工程存放路径,可以自定义;
Output type:Executable,输出文件类型,可以选择可执行文件或者静态库,选择Executable编译出来的程序是可以被DSP直接运行的,选择"Static Library"可以供其它应用程序调用的静态库。
Variant:TMS320F2837xS,CPU型号;
Connection:Texas Instruments XDS2xx USB Onboard Debug Probe,仿真器类型;
在"Empty Projects"下方选择"Empty Project(with main.c)"。如下图所示:
图 46
点击Finish就可以完成工程新建了,弹出如下界面:
图 47
添加工程文件
右键工程点击"Add Files…",选择的源文件包括如下:
- "NonOS\NonOS\Application\LED"目录下
- F2837xS_CodeStartBranch.asm
- F2837xS_DefaultISR.c
- F2837xS_GlobalVariableDefs.c
- F2837xS_Gpio.c
- F2837xS_Headers_nonBIOS.cmd
- F2837xS_PieCtrl.c
- F2837xS_PieVect.c
- F2837xS_SysCtrl.c
- F2837xS_usDelay.asm
- Sci.c
- SciStdio.c
- SciStdio.h
图 48
添加完文件后弹出如下窗口,选择"Copy files"。
图 49
添加完毕后如下图所示:
图 50
配置工程属性
右键myled工程,点击Properties,在弹出的对话框中添加相应的头文件路径,如下:
- "${CG_TOOL_ROOT}/include"
- "../../../F2837xS_common/include"
- "../../../F2837xS_common/inc"
- "../../../F2837xS_headers/include"
图 51
添加库文件如下图所示:
图 52
编写程序
编辑main.c文件,增加用户需要实现的功能代码,如下图所示:
图 53
代码如下:
#include "F28x_Project.h"
#include "SciStdio.h"
void delay_loop(void);
void Gpio_select(void);
void main(void)
{
InitSysCtrl();
// GPIO初始化
Gpio_select();
// 关中断
DINT;
// 初始化Pie控制寄存器
InitPieCtrl();
// 不使能中断,清中断标志
IER = 0x0000;
IFR = 0x0000;
// 初始化中断向量表
InitPieVectTable();
// 初始化串口
SCIStdioInit();
SCIPuts("\r\n ============Test Start===========.\r\n", -1);
SCIPuts("Welcome to TL2837x LED Demo application.\r\n\r\n", -1);
while(1)
{
// GPIO 翻转
GpioDataRegs.GPDTOGGLE.bit.GPIO115 = 1;
// 延时 500ms
DELAY_US(500000);
GpioDataRegs.GPDTOGGLE.bit.GPIO116 = 1;
DELAY_US(500000);
GpioDataRegs.GPDTOGGLE.bit.GPIO111 = 1;
DELAY_US(500000);
GpioDataRegs.GPDTOGGLE.bit.GPIO112 = 1;
DELAY_US(500000);
GpioDataRegs.GPDTOGGLE.bit.GPIO113 = 1;
DELAY_US(500000);
GpioDataRegs.GPDTOGGLE.bit.GPIO114 = 1;
DELAY_US(500000);
}
}
void Gpio_select(void)
{
EALLOW;
// 管脚复用设置为 GPIO功能
GpioCtrlRegs.GPDMUX2.bit.GPIO115 = 0; // led1
// GPIO 方向设置为输出
GpioCtrlRegs.GPDDIR.bit.GPIO115 = 1;
GpioCtrlRegs.GPDMUX2.bit.GPIO116 = 0; // led2
GpioCtrlRegs.GPDDIR.bit.GPIO116 = 1;
GpioCtrlRegs.GPDMUX1.bit.GPIO111 = 0; // led1
GpioCtrlRegs.GPDDIR.bit.GPIO111 = 1;
GpioCtrlRegs.GPDMUX2.bit.GPIO112 = 0; // led2
GpioCtrlRegs.GPDDIR.bit.GPIO112 = 1;
GpioCtrlRegs.GPDMUX2.bit.GPIO113 = 0; // led3
GpioCtrlRegs.GPDDIR.bit.GPIO113 = 1;
GpioCtrlRegs.GPDMUX2.bit.GPIO114 = 0; // led4
GpioCtrlRegs.GPDDIR.bit.GPIO114 = 1;
EDIS;
}
编译和运行程序
右击工程,在弹出来的对话框中点击"Build Project",即可对当前工程编译并产生可执行.out文件,最后再按照前面章节步骤进行加载,就可以运行编译好的.out文件。
图 54
通过以上步骤,用户可以学习如何新建工程和在CCS下运行程序了。
SYS/BIOS工程新建
新建工程
选择"Project"目录下的"New CCS Project…"
图 55
接着弹出如下界面:
图 56
确认各项选择无误后,点击Next,开始配置工程属性。
配置工程属性
选择对应的XDCtools版本和Platform,点击Finish,完成工程的新建。
图 57
编译和运行程序
新建工程的目录,如图所示:
图 58
右键点击工程文件,选择"Build Project"
图 59
成功编译后,控制台打印信息如图所示。
图 60
最后按照前面章节步骤进行加载,就可以运行编译好的.out文件,控制台打印信息如图所示。
图 61