C6678根据自己板卡修改官方平台配置

修改platform平台配置

我正在配置的代码有部分是引用于pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l
这个包是含在了bios_mcsdk_02_01_02_06_setupwin32里面
在我新建的sysbios工程之中使用了evmc6678l的库,这个库对应的板卡使用的是100mhz的晶振。相当于板级支持包吧。你还可以修改DDR,spi等相关的外设。
在这里插入图片描述

修改时钟配置

当你的板卡时钟不是100mhz时,就需要修改时钟的配置。
首先将工程载入进来,主要是platform_lib
板卡的时钟配置是在platform_internal.h中
其中包含了
1.PLATFORM_BASE_CLK_RATE_MHZ(晶振频率)
2.PLATFORM_PLL_PREDIV_val
2.PLATFORM_PLL_POSTDIV_val
3.PLATFORM_PLL1_PLLM_val
计算公式:主频=PLATFORM_BASE_CLK_RATE_MHZ/PLATFORM_PLL_PREDIV_val(PLATFORM_PLL1_PLLM_val/PLATFORM_PLL_POSTDIV_val)
最后的计算公式是:
1Ghz=PLATFORM_BASE_CLK_RATE_MHZ / PLATFORM_PLL_PREDIV_val
(PLATFORM_PLL_POSTDIV_val / 2)
如果大家不想使用1Ghz运行板卡的话,就需要自己去修改参数,包括但不限于以上的三个宏定义哦

应用时钟配置

现在大家的库已经编译好了,可以在自己的工程中进行应用了。
需要使用的函数是platform_init。
这是我的初始化函数:
需要使用init_flags.pll = 1;将时钟配置打开才可以将刚才设定的默认参数给应用上。

    platform_init_flags init_flags;
    platform_init_config init_config;

    // plaform initialize
    memset(&init_flags, 0, sizeof(platform_init_flags));
    init_flags.phy = 0;
    memset(&init_config, 0, sizeof(platform_init_config));

    init_flags.pll = 1; /* PLLs for clocking    */
    init_flags.ddr  = 0; /* External memory         */
    init_flags.tcsl = 1; /* Time stamp counter  */
    init_flags.phy  = 0; /* Ethernet            */
    init_flags.ecc  = 0; /* Memory ECC          */

    Platform_STATUS st=platform_init(&init_flags, &init_config);
posted @ 2025-06-03 16:47  东风点点吹  阅读(40)  评论(0)    收藏  举报