2105|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

TMS320F28377S 学习笔记3 搭建完全可移植的CCS9.3工程 [复制链接]

1. 工程文件复制
CCS新建空白工程


官方文件拷贝
库文件整理
添加F2837xS_Headers_nonBIOS.cmd
其他修改
测试代码
这是第二次写类似的文章了,忽略一些细节,更多内容可以参考:TMS320F280049C 学习笔记2 搭建完全可移植的CCS9.3工程
参考资料位于C:\ti\C2000Ware_DigitalPower_SDK_3_00_00_00\c2000ware\device_support\f2837xs\docs 的《F2837xS_FRM_EX_UG.pdf》

1. 工程文件复制
CCS新建空白工程

官方文件拷贝
将C:\ti\C2000Ware_DigitalPower_SDK_3_00_00_00\c2000ware\device_support\f2837xs\common下的source文件夹整体复制到工程文件夹。
将C:\ti\C2000Ware_DigitalPower_SDK_3_00_00_00\c2000ware\device_support\f2837xs\headers\source下的F2837xS_GlobalVariableDefs.c复制到刚才的source文件夹。
将C:\ti\C2000Ware_DigitalPower_SDK_3_00_00_00\c2000ware\device_support\f2837xs\common的include文件夹复制到工程文件夹。
将C:\ti\C2000Ware_DigitalPower_SDK_3_00_00_00\c2000ware\device_support\f2837xs\headers\include内的所有文件复制到刚才的文件夹内。
将C:\ti\C2000Ware_DigitalPower_SDK_3_00_00_00\c2000ware\device_support\f2837xs\common\cmd中的下列4个文件复制到工程文件夹在这里插入图片描述
复制库函数,这些文件都在C:\ti\C2000Ware_DigitalPower_SDK_3_00_00_00\c2000ware\driverlib\f2837xs\driverlib下,需要分别操作,具体如下:
将所有.h文件复制到include文件夹
在工程文件夹中新建C_lib文件夹,driverlib中的所有.c文件拷贝进去。
将ccs和inc两个文件夹直接复制到工程文件夹。

预定义_DUAL_HEADERS之后就可以同时使用库函数编程和寄存器编程了。

测试代码


令LaunchPad的红色Led闪烁的程序

#include "F28x_Project.h"
#include "device.h"
#include "math.h"

void main(void)
{
    // 初始化时钟和外设 Initialize device clock and peripherals
    Device_init(); // 库函数编程初始化
    // InitSysCtrl();  // 寄存器编程初始化,与上一行等效

    /*//库函数版配置
    // 初始化GPIO并设置为推挽输出 Initialize GPIO and configure the GPIO pin as a push-pull output
    Device_initGPIO();
    GPIO_setPadConfig(DEVICE_GPIO_PIN_LED1, GPIO_PIN_TYPE_STD);  // Push-pull output or floating input
    GPIO_setDirectionMode(DEVICE_GPIO_PIN_LED1, GPIO_DIR_MODE_OUT);
    */
    InitGpio();  //寄存器指令配置
    GPIO_SetupPinMux(DEVICE_GPIO_PIN_LED1, GPIO_MUX_CPU1, 0);
    GPIO_SetupPinOptions(DEVICE_GPIO_PIN_LED1, GPIO_OUTPUT, GPIO_PUSHPULL);


    // 初始化PIE并清空PIE寄存器,关闭CPU中断
    // Initialize PIE and clear PIE registers. Disables CPU interrupts.
    Interrupt_initModule();

    // 初始化PIE向量表
    // Initialize the PIE vector table with pointers to the shell Interrupt
    // Service Routines (ISR).
    Interrupt_initVectorTable();

    // Enable Global Interrupt (INTM) and realtime interrupt (DBGM)
    EINT;
    ERTM;

    float a=cos((float)3.1415926/4);  // FPU32
    float b=__sin((float)(3.14/4));   // TMU

    for(;;)
    {
        // Turn on LED
        // 硬件电路设计是GPIO输出低电平时LED亮
        GPIO_writePin(DEVICE_GPIO_PIN_LED1, 0);

        // 延迟0.5s Delay for a bit.
        DEVICE_DELAY_US(500000);

        // Turn off LED
        GPIO_writePin(DEVICE_GPIO_PIN_LED1, 1);

        // Delay for a bit.
        DEVICE_DELAY_US(500000);
    }
}

 

 

 

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表