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()函数正常:

<think>好的,我现在需要帮助用户查找MSPM0G3507相关的项目资料、新手教程或示例代码。首先,我得回顾用户提供的引用内容,看看有哪些资源可用。用户提到了五个引用,其中引用1、3、4、5都涉及MSPM0G3507的代码资源和开发指南。引用1和5提到了示例代码,特别是超声波测距的例子,这可能对用户有帮助。引用3和4详细介绍了新建工程和环境搭建的步骤,这对新手来说很重要。引用2虽然提到开发环境搭建,但可能和引用3、4的内容有所重复,但需要确认是否提供额外信息。 接下来,我需要整理这些资源,分门别类地呈现给用户。用户是新手,可能需要从环境搭建开始,然后是创建工程,接着是示例代码的学习,最后是更深入的应用和优化。因此,回答的结构应该按照这个逻辑展开。需要注意引用中的项目地址,确保链接正确,并且引导用户下载。同时,要提醒用户根据硬件配置调整代码,特别是示例代码可能有简化,需要补充实际内容。此外,引用中的注意事项也要提到,比如错误处理和优化。可能还需要预判用户后续的问题,比如如何调试或者如何扩展功能,但用户要求生成相关问题,所以最后要列出几个相关问题,帮助用户深入学习。 最后,检查是否符合格式要求,比如使用中文、行内公式正确(虽然这个问题可能不涉及数学公式,但系统指令需要遵守),独立公式不用,但确保没有遗漏。回答要结构清晰,分步骤,引用标识正确添加在段落末尾。</think>根据您的需求,我整理了以下MSPM0G3507开发资源指南,包含新手教程和示例代码的详细说明: ### 一、开发环境搭建(新手必看) 1. **Code Composer Studio安装** 需先安装TI官方IDE(Code Composer Studio v12+),支持代码编辑、编译和调试三合一功能[^2][^4] 2. **开发板驱动配置** 在CCS中安装MSPM0G3507器件支持包,包含外设库文件(如ti_msp_dl_config.h)和示例模板[^4] 3. **环境验证方法** 通过新建工程向导创建空白项目,编译通过后即可开始开发[^3] ### 二、核心代码资源 #### 基础工程模板 ```c // main.c基础框架 #include "ti_msp_dl_config.h" int main(void) { // 系统时钟初始化(参考SysConfig工具生成) DL_SystemInit(); while(1) { // 主循环代码 } } ``` [^3]新建工程指南中提供了完整的文件夹结构模板,包含启动文件、链接脚本等关键配置 #### 超声波测距示例 ```c // ultrasonic.c 简化实现(需配合定时器外设) void HC_SR04_Trigger(void) { DL_GPIO_clearPins(GPIO_PORT_A, GPIO_PIN_3); // 发送10us脉冲 delay_us(2); DL_GPIO_setPins(GPIO_PORT_A, GPIO_PIN_3); delay_us(10); DL_GPIO_clearPins(GPIO_PORT_A, GPIO_PIN_3); } ``` [^5]该示例需要配合定时器捕获模块实现精确时间测量 ### 三、进阶开发指引 1. **外设配置技巧** 使用SysConfig图形化工具配置GPIO、UART、ADC等外设参数,自动生成初始化代码[^4] 2. **调试方法** - 通过JTAG调试器设置断点 - 利用CCS的实时变量监视窗口 - 使用UART输出调试日志[^4] 3. **代码优化建议** - 启用编译器优化等级-O2 - 使用DMA传输减少CPU负载 - 合理配置低功耗模式[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值