CCS开发环境F280049使用sysconfig配置时钟注意事项

最近准备使用TMS320F280049芯片开数字电源项目,新一代的C2000 DSP在使用库函数开发过程中比以往要方便的多,尤其是sysconfig的引入,配置底层硬件的初始化就和STM32 CubleMX一样方便。

直接导入C2000Ware安装目录下:ti\c2000\C2000Ware_5_01_00_00\driverlib\f28004x\examples\empty_projects 空的工程,在使用syscofig配置F280049的时钟时,发现貌似在.sysccfg文件中配置的时钟倍频PLL系数貌似不起作用,要手动去device.h中修改第289行代码中的宏定义 DEVICE_SETCLOCK_CFG 才管用,在此记录防止忘记。

开发环境:

a. CCS12  Version: 12.8.0.00012 

b.仿真器XDS100V2

c.C2000Ware _5_01_00_00

现象:

1.板载无源晶振为16MHz,目标主频100MHz,故在c2000.syscfg中配置如下

2.配置内部时钟输出到GPIO16引脚,时钟源选PLL 输出,8分频,保存c2000.syscfg文件,main.c中添加如下代码:

#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "c2000ware_libraries.h"

//
// Main
//
void main(void)
{

    //
    // Initialize device clock and peripherals
    //
    Device_init();

    //
    // Disable pin locks and enable internal pull-ups.
    //
    Device_initGPIO();

    //
    // Initialize PIE and clear PIE registers. Disables CPU interrupts.
    //
    Interrupt_initModule();

    //
    // Initialize the PIE vector table with pointers to the shell Interrupt
    // Service Routines (ISR).
    //
    Interrupt_initVectorTable();

    //
    // PinMux and Peripheral Initialization
    //
    Board_init();
    SysCtl_selectClockOutSource(SYSCTL_CLOCKOUT_PLLSYS);
    SysCtl_setXClk(SYSCTL_XCLKOUT_DIV_8);
    //
    // C2000Ware Library initialization
    //
    C2000Ware_libraries_init();

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

    while(1)
    {
        GPIO_togglePin(LED3);
        DEVICE_DELAY_US(1000);
        GPIO_togglePin(LED2);
    }
}

//
// End of File
//

3.示波器测试实际输出频率为10MHz,那么主频实际为80MHz,DELAY()延时函数时间偏大,不管如何修改c2000.syscfg 时钟树的PLL倍频系数,输出频率都不动。main.c中进入    Device_init();函数找到:    SysCtl_setClock(DEVICE_SETCLOCK_CFG);

 

4.跳转到宏定义  DEVICE_SETCLOCK_CFG,发现怎么修改syscfg这货都没变,只能手工配置。

5.手工修改如下后,主频和DELAY()函数正常:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值