A91x9M0 如何超頻 CPU High Speed到 Max=48Mhz
Xtal:16Mhz開3倍頻至48Mhz的設定方式:
void EnableHS ( void )
{
/*48M*/
RADIO->CLOCKCTRL = 0x0011381F; //XRC 7
POWER->XRC_CTRL = 0x0200C041; //MCRC 2
if( (FLASH->WAIT_STATE_Item.IS_PLL_Mode) == 0 )
{
//ws_cfg(for "new ws_cfg")
//EN_PLL + ws_cfg
//IS_PLL_Mode + EN_PLL + ws_cfg
FLASH->WAIT_STATE = 0x00000003;
FLASH->WAIT_STATE = 0x00000007;
FLASH->WAIT_STATE = 0x0000002F;//b0~1:ws_cfg=3, b2:EN_PLL=1, b3:IS_PLL_Mode=1, b5:MCUSWS=1
}
}Xtal:24Mhz開2倍頻至48Mhz的設定方式:
void EnableHS ( void ){
RADIO->CLOCKCTRL = 0x0011581F;
POWER->XRC_CTRL = 0x0200C0C1;
if( (FLASH->WAIT_STATE_Item.IS_PLL_Mode) == 0 )
{
//ws_cfg(for "new ws_cfg")
//EN_PLL + ws_cfg
//IS_PLL_Mode + EN_PLL + ws_cfg
FLASH->WAIT_STATE = 0x00000003;
FLASH->WAIT_STATE = 0x00000007;
FLASH->WAIT_STATE = 0x0000002F;//b0~1:ws_cfg=3, b2:EN_PLL=1, b3:IS_PLL_Mode=1, b5:MCUSWS=1
}}void EnableCache ( void ){
// Enable the cache in auto power and auto invalidate mode (CCR[0].EN = 1), enable the statistics logic CCR[6].STATISTIC_EN = 1, enable prefetch (CCR[5].SET_PREFETCH = 1)
CACHE->CCRItem.EN = ENABLE;
CACHE->CCRItem.STATISTIC_EN = ENABLE;
CACHE->CCRItem.SET_PREFETCH = ENABLE;
// Poll till the cache is enabled (SR[1:0].CS=1)
while ( CACHE->SRItem.CS == CACHE_ENABLED );}