創(chuàng)建并移植K10 BSP包的具體步驟和方法(二)
修改Flash時鐘頻率,默認(rèn)是24MHz,修改為25MHz。
#define CPU_FLASH_CLK_HZ_CONFIG_0 25000000UL /* FLASH時鐘頻率為25MHz*/
#define CPU_PLL_FLL_CLK_HZ_CONFIG_0 100000000UL /* PLL/FLL時鐘頻率為100MHz*/
#define CPU_OSCER_CLK_HZ_CONFIG_0 50000000UL
/*在時鐘配置0中的系統(tǒng)OSC 外部參考時鐘 */
手工書寫代碼相對繁瑣,更方便的方法是使用Freescale的Processor Expert 工具,根據(jù)硬件的需要來設(shè)置時鐘,生成的如下的代碼。通過PE工具來對CPU和各種外設(shè)進(jìn)行設(shè)置,只需了解它的原理和用法,而不用把精力花在了解寄存器的具體細(xì)節(jié)上。打開PE后,參照圖7的配置進(jìn)行設(shè)置,點(diǎn)擊Project-》Generator Processor Expert Code即可生成代碼。記住重新修改配置后需要點(diǎn)擊Project-》Clean,清掉上次生成的代碼,然后再執(zhí)行生成代碼的操作。
void __pe_initialize_hardware(void)
{
_bsp_watchdog_disable();
/* 關(guān)閉 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;
/* 系統(tǒng)時鐘初始化 */
/* SIM_SCGC5: PORTA=1 */
SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK
SIM_CLKDIV1 = SIM_CLKDIV1_OUTDIV2(0x01) | SIM_CLKDIV1_OUTDIV3(0x03) |
SIM_CLKDIV1_OUTDIV4(0x03); /* 更新系統(tǒng)預(yù)分頻器 */
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 模式*/
評論