创建并移植K10 BSP包的具体步骤和方法(三)

2013-09-30 11:23:45来源: 互联网 关键字:K10  BSP包

while((MCG_S & MCG_S_IREFST_MASK) != 0x00U) {

  /* 判断FLL参考源是否为外部参考时钟 */

  }

  while((MCG_S & 0x0CU) != 0x08U) { //等待,直到外部参考时钟作为MCG的输出

  }

  /* 切换到 PBE 模式*/

  OSC_CR = OSC_CR_ERCLKEN_MASK;

  SIM_SOPT2 &= (uint32_t)~(uint32_t)(SIM_SOPT2_MCGCLKSEL_MASK);

  MCG_C1 = (MCG_C1_CLKS(0x02) | MCG_C1_FRDIV(0x05) | MCG_C1_IRCLKEN_MASK);

  MCG_C2 = (MCG_C2_RANGE(0x02) | MCG_C2_EREFS_MASK);

  MCG_C5 = MCG_C5_PRDIV(0x07);

  MCG_C6 = (MCG_C6_PLLS_MASK | MCG_C6_VDIV(0x08));

  while((MCG_S & 0x0CU) != 0x08U) { /*等待,直到外部参考时钟作为MCG输出*/

  }

  while((MCG_S & MCG_S_LOCK_MASK) == 0x00U) { /* 等待直到锁住*/

  }

  /* 切换到 PEE模式 */

  OSC_CR = OSC_CR_ERCLKEN_MASK;

  SIM_SOPT2 &= (uint32_t)~(uint32_t)(SIM_SOPT2_MCGCLKSEL_MASK);

  MCG_C1 = (MCG_C1_FRDIV(0x05) | MCG_C1_IRCLKEN_MASK);

  MCG_C2 = (MCG_C2_RANGE(0x02) | MCG_C2_EREFS_MASK);

  MCG_C5 = MCG_C5_PRDIV(0x07);

  MCG_C6 = (MCG_C6_PLLS_MASK | MCG_C6_VDIV(0x08));

  while((MCG_S & 0x0CU) != 0x0CU) { /* 等待,直到PLL输出*/

  }

  }

  

  图7. PE设置

  MQX4.0中PE的时钟初始化代码在bsp_cm.c文件的void __pe_initialize_hardware(void)函数中。可以将上述PE生成的代码直接粘贴在该文件中。调试可能会出现系统时钟配置错误。当出现此类错误时,程序可能会停在图8所示的dispatch.s文件中的等待中断的语句cpsid.n i处。这种错误往往是由于只修改了部分的时钟寄存器设置或者是直接使用其他系列的Kinetis的BSP包中的时钟配置,而没有做相应的修改所造成的。例如,直接使用K60 BSP包的默认时钟部分代码,在K10的25Mhz外部时钟环境中进行调试就会出现上述错误。这里不建议手工书写代码或者直接拷贝其他Kinetis系列的不同时钟配置的代码,建议使用PE来配置生成时钟代码,对于有错误的部分PE中会有相关的红色提示符标示出来,因此不用担心那些时钟寄存器配置错误或被遗漏了。

  

  图8. dispatch.s代码

  一般地,在user_config.h配置中,RTC是默认使能的,也就是外部的32.768Khz晶振是需要外接的,如果不外接,可以将配置文件user_config.h中的宏定义语句:

  #define BSPCFG_ENABLE_RTCDEV 1 修改为

  #define BSPCFG_ENABLE_RTCDEV 0

  另外由于K10中不包含USB和以太网的代码,所以需要将相关的USB,Ethernet的文件删除,并将user_config.h头文件中的宏定义修改为:

  #define RTCSCFG_ENABLE_ICMP 0

  #define RTCSCFG_ENABLE_UDP 0

  #define RTCSCFG_ENABLE_TCP 0

  #define RTCSCFG_ENABLE_STATS 0

  #define RTCSCFG_ENABLE_GATEWAYS 0

  #define FTPDCFG_USES_MFS 0

  #define RTCSCFG_ENABLE_SNMP 0

  #define TELNETDCFG_NOWAIT FALSE

  #define HTTPDCFG_POLL_MODE 0

  #define HTTPDCFG_STATIC_TASKS 0

  #define HTTPDCFG_DYNAMIC_TASKS 0

关键字:K10  BSP包

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2013/0930/article_19622.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:创建并移植K10 BSP包的具体步骤和方法(二)
下一篇:创建并移植K10 BSP包的具体步骤和方法(四)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
K10
BSP包

小广播

独家专题更多

2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved