微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 创建并移植K10 BSP包的具体步骤和方法(二)

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

时间:09-30 来源:互联网 点击:

0000000UL

  /*在时钟配置0中的系统OSC 外部参考时钟 */

  手工书写代码相对繁琐,更方便的方法是使用Freescale的Processor Expert 工具,根据硬件的需要来设置时钟,生成的如下的代码。通过PE工具来对CPU和各种外设进行设置,只需了解它的原理和用法,而不用把精力花在了解寄存器的具体细节上。打开PE后,参照图7的配置进行设置,点击Project-》Generator Processor Expert Code即可生成代码。记住重新修改配置后需要点击Project-》Clean,清掉上次生成的代码,然后再执行生成代码的操作。

  void __pe_initialize_hardware(void)

  {

  _bsp_watchdog_disable();

  /* 关闭 WDOG 模块 */

  WDOG_UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xC520);

  WDOG_UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xD928);

  WDOG_STCTRLH = WDOG_STCTRLH_STNDBYEN_MASK | WDOG_STCTRLH_WAITEN_MASK | WDOG_STCTRLH_STOPEN_MASK | WDOG_STCTRLH_ALLOWUPDATE_MASK | WDOG_STCTRLH_CLKSRC_MASK;

  /* 系统时钟初始化 */

  /* SIM_SCGC5: PORTA=1 */

  SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK

  SIM_CLKdiv1 = SIM_CLKdiv1_OUTdiv2(0x01) | SIM_CLKdiv1_OUTdiv3(0x03) |

  SIM_CLKdiv1_OUTdiv4(0x03); /* 更新系统预分频器 */

  SIM_SOPT1 = (uint32_t)~(uint32_t)(SIM_SOPT1_OSC32KSEL_MASK);

  PORTA_PCR18 = (uint32_t)~(uint32_t)((PORT_PCR_ISF_MASK | PORT_PCR_MUX(0x07)));

  PORTA_PCR19 = (uint32_t)~(uint32_t)((PORT_PCR_ISF_MASK | PORT_PCR_MUX(0x07)));

  /*切换到FBE 模式*/

  OSC_CR = OSC_CR_ERCLKEN_MASK;

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

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

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

  MCG_C4 = (uint8_t)~(uint8_t)((MCG_C4_DMX32_MASK | MCG_C4_DRST_DRS(0x03)));

  MCG_C5 = MCG_C5_PRdiv(0x07);

  MCG_C6 = MCG_C6_Vdiv(0x08);

  while((MCG_S MCG_S_OSCINIT_MASK) == 0x00U) { /*判断晶振是否运行?*/

  }

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top