void pwr_set_clk_profile(int profile) { int i, ticks; int old; if(profile > sizeof(clk_profile)/sizeof(w99702_clk_t)) return; cyg_scheduler_lock(); //HAL_DISABLE_INTERRUPTS(old); sysDisableCache(); sysInvalidCache(); sysFlushCache(I_D_CACHE); sysEnableCache(CACHE_WRITE_BACK); //outpw(0x3FFF001C, inpw(0x3FFF001C)|0xC); //outpw(0x7FF00108, (inpw(0x7FF00108)&(~3))|0x2); pwr_set_clk(&clk_profile[profile]); current_clk_profile = profile; //HAL_RESTORE_INTERRUPTS(old); cyg_scheduler_unlock(); }
/*---------------------------------------------------------------------------------------------------------*/ int32_t main (void) { sysInitializeUART(); sysprintf("\n"); sysprintf("=========================\n"); sysprintf(" NUC970 USB VCOM \n"); sysprintf("=========================\n"); sysDisableCache(); sysInvalidCache(); sysSetMMUMappingMethod(MMU_DIRECT_MAPPING); sysEnableCache(CACHE_WRITE_BACK); sysInstallISR(HIGH_LEVEL_SENSITIVE|IRQ_LEVEL_1, USBD_IRQn, (PVOID)USBD_IRQHandler); /* enable CPSR I bit */ sysSetLocalInterrupt(ENABLE_IRQ); USBD_Open(&gsInfo, VCOM_ClassRequest, NULL); /* Endpoint configuration */ VCOM_Init(); sysEnableInterrupt(USBD_IRQn); /* Start transaction */ while(1) { if (USBD_IS_ATTACHED()) { USBD_Start(); break; } } while(1) { VCOM_TransferData(); } }