1. 搭建CCS开发环境并点亮LED

搭建CCS开发环境并点亮LED 学习卡片

任务说明

本案例目标是在TI C2000系列DSP(以TMS320F28379D为例)上完成CCS(Code Composer Studio)开发环境搭建,编写并烧录一个最小工程,实现开发板上LED的周期性闪烁。通过该案例,验证从工程创建、代码编写、编译烧录到硬件运行的完整工具链是否打通。

硬件连接与观测点

TMS320F28379D LaunchPad开发板 GPIO31 3.3V LED 330Ω GND XDS110仿真器 (板载) USB转PC (CCS调试) 观测点:LED以约1Hz频率闪烁 判定标准:肉眼可见亮灭交替

工程创建步骤

  1. 安装CCS 12.x及以上版本,在组件选择中勾选C2000 MCU支持。
  2. 打开CCS,选择File → New → CCS Project。
  3. Target选择TMS320F28379D,连接方式保持默认的XDS110。
  4. 工程模板选择Empty Project (with main.c),编译器版本选择TI v22.x。
  5. 工程创建完成后,在工程属性中将linker command file设置为28379D_RAM_lnk_cpu1.cmd(位于C2000Ware安装目录的device_support文件夹中)。

代码实现

以下代码直接操作GPIO寄存器,不依赖任何驱动库,便于验证底层寄存器配置是否正确。LED接在GPIO31引脚(对应LaunchPad板载LED),输出高电平点亮。

// main.c - TMS320F28379D GPIO控制LED闪烁
#include "F2837xD_device.h"  // 器件寄存器定义

// 简单软件延时函数(约500ms @ 200MHz CPU时钟)
void delay_loop(void) {
    volatile unsigned long i;
    for (i = 0; i < 5000000; i++) {
        // 空循环等待
    }
}

void main(void) {
    // 1. 禁用看门狗
    WdRegs.WDCR.all = 0x0068;

    // 2. 使能GPIO时钟(GPIO时钟默认开启,此处确保)
    CpuSysRegs.PCLKCR0.bit.GPIOINENCLK = 1;

    // 3. 配置GPIO31为输出引脚
    //    GPAMUX1寄存器控制GPIO0-15,GPBMUX1控制GPIO16-31
    //    GPIO31属于GPB组,对应GPBMUX1的bit31-30
    GpioCtrlRegs.GPBMUX1.bit.GPIO31 = 0;  // 设置为GPIO功能(非外设复用)
    GpioCtrlRegs.GPBDIR.bit.GPIO31 = 1;   // 设置为输出方向

    // 4. 初始状态:LED灭(GPIO31输出低电平)
    GpioDataRegs.GPBSET.bit.GPIO31 = 1;   // 先置高,再清除,确保初始为低
    GpioDataRegs.GPBCLEAR.bit.GPIO31 = 1;

    // 5. 主循环:LED闪烁
    while (1) {
        // 点亮LED(输出高电平)
        GpioDataRegs.GPBSET.bit.GPIO31 = 1;
        delay_loop();

        // 熄灭LED(输出低电平)
        GpioDataRegs.GPBCLEAR.bit.GPIO31 = 1;
        delay_loop();
    }
}

关键寄存器说明

寄存器位域值作用
GPBMUX1GPIO31 (bit31:30)00选择GPIO功能,非外设复用
GPBDIRGPIO31 (bit31)1配置为输出方向
GPBSETGPIO311输出高电平(点亮LED)
GPBCLEARGPIO311输出低电平(熄灭LED)

编译与烧录

  1. 点击锤子图标(Build)编译工程,确认Console窗口输出Build Finished且无错误。
  2. 用USB线连接开发板与PC,板载XDS110仿真器会被自动识别。
  3. 点击绿色甲虫图标(Debug),CCS将自动烧录程序并进入调试界面。
  4. 点击绿色运行按钮(Resume),程序开始执行。

验证方法与判定标准

验证步骤:

  1. 观察开发板上标注为LED1(连接GPIO31)的指示灯是否以约1Hz频率闪烁。
  2. 在CCS调试界面中,通过Expressions窗口添加GpioDataRegs.GPBTOG.bit.GPIO31,单步执行时可观察到该位在0和1之间切换。

判定标准:

  • LED以肉眼可见的稳定频率(约1Hz)交替亮灭,说明GPIO配置正确、主循环正常运行。
  • 若LED常亮或常灭,检查GPBMUX1和GPBDIR寄存器配置是否正确;若LED完全不亮,检查硬件连接及3.3V供电。

预期输出:程序烧录并运行后,GPIO31引脚输出方波信号,周期约1秒(高电平500ms,低电平500ms),LED呈现闪烁效果。该结果由代码逻辑直接决定,可作为功能正常的判定依据。