/******************************************************************************* * @brief main routine ******************************************************************************/ int main (void) { SIM_Init (SIM_MODULE_CONFIG_ALL_PERIPH_ON); MCG_LITE_Init (MCG_LITE_HIRC_48MHZ); __enable_irq(); while (1) { } }
/******************************************************************************* * @brief main routine ******************************************************************************/ int main (void) { SIM_Init (SIM_MODULE_FRDM_RTC_WATCH_CONFIG); MCG_LITE_Init (MCG_LITE_HIRC_48MHZ); // OSC module initialization OSC_Init(OSC_MODULE_OSCERCLK_ON_STOPMODE_ON_CONFIG(OSC_SC16P)); MCG_ExtClkType(OSC_REQST); MCG_CrystalMode(LOW_POWER_OSC); MCG_CrystalFreqRangeSel(LOW_FREQ_RANGE); MCG_WaitOscInit(); // LEDs initialization PORT_Init (PORTD, PORT_MODULE_ALT1_MODE, PIN_5, 0, NULL); GPIO_Init (GPIOD, GPIO_PIN_OUTPUT, PIN_5); GPIO_Set (GPIOD, PIN_5); PORT_Init (PORTE, PORT_MODULE_ALT1_MODE, PIN_31, 0, NULL); GPIO_Init (GPIOE, GPIO_PIN_OUTPUT, PIN_31); GPIO_Set (GPIOE, PIN_31); // VLLx, VCAPx pins disable PORT_Init(PORTC, PORT_MODULE_DISABLED_MODE, PIN_20|PIN_21|PIN_22|PIN_23, 0, NULL); // SLCD pin configuration PORT_Init(PORTE, PORT_MODULE_ALT0_MODE, PIN_20|PIN_21, 0, NULL); PORT_Init(PORTB, PORT_MODULE_ALT0_MODE, PIN_18|PIN_19, 0, NULL); PORT_Init(PORTC, PORT_MODULE_ALT0_MODE, PIN_0|PIN_4|PIN_6|PIN_7, 0, NULL); PORT_Init(PORTD, PORT_MODULE_ALT0_MODE, PIN_0|PIN_2|PIN_3|PIN_4, 0, NULL); // SLCD initialization LCD_Init (LCD_FRDM_CONFIG, \ LCD_FRONT_PLANE_PINS_FRDM_KL43, \ LCD_BACK_PLANE_PINS_FRDM_KL43, \ LCD_ASSIGN_BACK_PLANES_FRDM_KL43); LCD_Delete_Char(0); LCD_Delete_Char(1); LCD_Delete_Char(2); LCD_Delete_Char(3); // Set the time according to system clock BUILD_DATE_TIME(time); // RTC initialization RTC_Init (RTC_MODULE_FRDM_RTC_WATCH_CONFIG, RTC_MkTime (&time), 3, rtc_callback); RTC_SetAlarm (RTC_GetTime ()+alarm_interval); // Write time to the LCD lcd_settime(&time); __enable_irq(); while (1) { } }
/******************************************************************************* * @brief main routine ******************************************************************************/ int main (void) { SIM_Init (SIM_MODULE_FRDM_SLCD_CONFIG); MCG_LITE_Init (MCG_LITE_HIRC_48MHZ); // OSC module initialization OSC_Init(OSC_MODULE_OSCERCLK_ON_STOPMODE_ON_CONFIG(OSC_SC16P)); MCG_ExtClkType(OSC_REQST); MCG_CrystalMode(LOW_POWER_OSC); MCG_CrystalFreqRangeSel(LOW_FREQ_RANGE); MCG_WaitOscInit(); // VLLx, VCAPx pins disable PORT_Init(PORTC, PORT_MODULE_DISABLED_MODE, PIN_20|PIN_21|PIN_22|PIN_23, 0, NULL); // SLCD pin configuration PORT_Init(PORTE, PORT_MODULE_ALT0_MODE, PIN_20|PIN_21, 0, NULL); PORT_Init(PORTB, PORT_MODULE_ALT0_MODE, PIN_18|PIN_19, 0, NULL); PORT_Init(PORTC, PORT_MODULE_ALT0_MODE, PIN_0|PIN_4|PIN_6|PIN_7, 0, NULL); PORT_Init(PORTD, PORT_MODULE_ALT0_MODE, PIN_0|PIN_2|PIN_3|PIN_4, 0, NULL); // SLCD initialization LCD_Init (LCD_FRDM_CONFIG, \ LCD_FRONT_PLANE_PINS_FRDM_KL43, \ LCD_BACK_PLANE_PINS_FRDM_KL43, \ LCD_ASSIGN_BACK_PLANES_FRDM_KL43); //LCD_Write_Segments(LCD_ALL_SEGMENTS_OFF_FRDM_KL43); LCD_Delete_Char(0); LCD_Delete_Char(1); LCD_Delete_Char(2); LCD_Delete_Char(3); // PIT initialization - CH0 for LCD intro text running PIT_Init (PIT0, CH0, PIT_CH_TIMER_EN_CONFIG, 6000000, 1, pit_callback); __enable_irq(); while (1) { } }
/********************************************************************* * * WinMain * * --- GENERIC - No modification required for application --- * * Function description * Start of the windows program. * Does the following: * - Creates the main window * - Loads accelerator table * - Performs application specific initialization (--> _InitApp) * - Executes the message loop. */ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG Msg; HACCEL hAccelTable; HWND hWndMain; BITMAP BmpDevice; DWORD ThreadID; /* Init global data */ _hInst = hInstance; /* Register main window class */ _RegisterClass(); /* Load bitmap */ _hBmpDevice = (HBITMAP)LoadImage(_hInst, (LPCTSTR) IDB_DEVICE, IMAGE_BITMAP, 0, 0, 0); _hMenuPopup = LoadMenu(_hInst, (LPCSTR)IDC_CONTEXTMENU); _hMenuPopup = GetSubMenu(_hMenuPopup, 0); /* Create main window */ GetObject(_hBmpDevice, sizeof(BmpDevice), &BmpDevice); hWndMain = CreateWindowEx(WS_EX_TOPMOST, _sWindowClass, "embOS Simulation", WS_SYSMENU | WS_CLIPCHILDREN | WS_POPUP | WS_VISIBLE, 10, 20, BmpDevice.bmWidth, BmpDevice.bmHeight, NULL, NULL, _hInst, NULL); if (!hWndMain) { return 1; /* Error */ } /* Show main window */ ShowWindow(hWndMain, nCmdShow); /* Load accelerator table */ hAccelTable = LoadAccelerators(_hInst, (LPCTSTR)IDC_WINMAIN); /* application initialization: */ CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Thread, NULL, 0, &ThreadID); /* main message loop */ if (SIM_Init(hWndMain) == 0) { while (GetMessage(&Msg, NULL, 0, 0)) { if (!TranslateAccelerator(Msg.hwnd, hAccelTable, &Msg)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } } } return 0; }
void Peripherals_Init(void) { #ifdef NVIC_AUTOINIT NVIC_Init(); #endif /* NVIC_AUTOINIT */ #ifdef SIM_AUTOINIT SIM_Init(); #endif /* SIM_AUTOINIT */ #ifdef MCM_AUTOINIT MCM_Init(); #endif /* MCM_AUTOINIT */ #ifdef PMC_AUTOINIT PMC_Init(); #endif /* PMC_AUTOINIT */ #ifdef PORTA_AUTOINIT PORTA_Init(); #endif /* PORTA_AUTOINIT */ #ifdef PORTB_AUTOINIT PORTB_Init(); #endif /* PORTB_AUTOINIT */ #ifdef PORTC_AUTOINIT PORTC_Init(); #endif /* PORTC_AUTOINIT */ #ifdef PORTD_AUTOINIT PORTD_Init(); #endif /* PORTD_AUTOINIT */ #ifdef PORTE_AUTOINIT PORTE_Init(); #endif /* PORTE_AUTOINIT */ #ifdef ADC0_AUTOINIT ADC0_Init(); #endif /* ADC0_AUTOINIT */ #ifdef ADC1_AUTOINIT ADC1_Init(); #endif /* ADC1_AUTOINIT */ #ifdef AIPS0_AUTOINIT AIPS0_Init(); #endif /* AIPS0_AUTOINIT */ #ifdef AIPS1_AUTOINIT AIPS1_Init(); #endif /* AIPS1_AUTOINIT */ #ifdef AXBS_AUTOINIT AXBS_Init(); #endif /* AXBS_AUTOINIT */ #ifdef CAN0_AUTOINIT CAN0_Init(); #endif /* CAN0_AUTOINIT */ #ifdef CMP0_AUTOINIT CMP0_Init(); #endif /* CMP0_AUTOINIT */ #ifdef CMP1_AUTOINIT CMP1_Init(); #endif /* CMP1_AUTOINIT */ #ifdef CMP2_AUTOINIT CMP2_Init(); #endif /* CMP2_AUTOINIT */ #ifdef CMT_AUTOINIT CMT_Init(); #endif /* CMT_AUTOINIT */ #ifdef CRC_AUTOINIT CRC_Init(); #endif /* CRC_AUTOINIT */ #ifdef DAC0_AUTOINIT DAC0_Init(); #endif /* DAC0_AUTOINIT */ #ifdef DMAMUX_AUTOINIT DMAMUX_Init(); #endif /* DMAMUX_AUTOINIT */ #ifdef DMA_AUTOINIT DMA_Init(); #endif /* DMA_AUTOINIT */ #ifdef ENET_AUTOINIT ENET_Init(); #endif /* ENET_AUTOINIT */ #ifdef EWM_AUTOINIT EWM_Init(); #endif /* EWM_AUTOINIT */ #ifdef FB_AUTOINIT FB_Init(); #endif /* FB_AUTOINIT */ #ifdef FMC_AUTOINIT FMC_Init(); #endif /* FMC_AUTOINIT */ #ifdef FTFE_AUTOINIT FTFE_Init(); #endif /* FTFE_AUTOINIT */ #ifdef FTM0_AUTOINIT FTM0_Init(); #endif /* FTM0_AUTOINIT */ #ifdef FTM1_AUTOINIT FTM1_Init(); #endif /* FTM1_AUTOINIT */ #ifdef FTM2_AUTOINIT FTM2_Init(); #endif /* FTM2_AUTOINIT */ #ifdef FTM3_AUTOINIT FTM3_Init(); #endif /* FTM3_AUTOINIT */ #ifdef I2C0_AUTOINIT I2C0_Init(); #endif /* I2C0_AUTOINIT */ #ifdef I2C1_AUTOINIT I2C1_Init(); #endif /* I2C1_AUTOINIT */ #ifdef I2C2_AUTOINIT I2C2_Init(); #endif /* I2C2_AUTOINIT */ #ifdef I2S0_AUTOINIT I2S0_Init(); #endif /* I2S0_AUTOINIT */ #ifdef LLWU_AUTOINIT LLWU_Init(); #endif /* LLWU_AUTOINIT */ #ifdef LPTMR0_AUTOINIT LPTMR0_Init(); #endif /* LPTMR0_AUTOINIT */ #ifdef MPU_AUTOINIT MPU_Init(); #endif /* MPU_AUTOINIT */ #ifdef PDB0_AUTOINIT PDB0_Init(); #endif /* PDB0_AUTOINIT */ #ifdef PIT_AUTOINIT PIT_Init(); #endif /* PIT_AUTOINIT */ #ifdef PTA_AUTOINIT PTA_Init(); #endif /* PTA_AUTOINIT */ #ifdef PTB_AUTOINIT PTB_Init(); #endif /* PTB_AUTOINIT */ #ifdef PTC_AUTOINIT PTC_Init(); #endif /* PTC_AUTOINIT */ #ifdef PTD_AUTOINIT PTD_Init(); #endif /* PTD_AUTOINIT */ #ifdef PTE_AUTOINIT PTE_Init(); #endif /* PTE_AUTOINIT */ #ifdef RCM_AUTOINIT RCM_Init(); #endif /* RCM_AUTOINIT */ #ifdef RNG_AUTOINIT RNG_Init(); #endif /* RNG_AUTOINIT */ #ifdef RTC_AUTOINIT RTC_Init(); #endif /* RTC_AUTOINIT */ #ifdef SDHC_AUTOINIT SDHC_Init(); #endif /* SDHC_AUTOINIT */ #ifdef SMC_AUTOINIT SMC_Init(); #endif /* SMC_AUTOINIT */ #ifdef SPI0_AUTOINIT SPI0_Init(); #endif /* SPI0_AUTOINIT */ #ifdef SPI1_AUTOINIT SPI1_Init(); #endif /* SPI1_AUTOINIT */ #ifdef SPI2_AUTOINIT SPI2_Init(); #endif /* SPI2_AUTOINIT */ #ifdef SystemControl_AUTOINIT SystemControl_Init(); #endif /* SystemControl_AUTOINIT */ #ifdef SysTick_AUTOINIT SysTick_Init(); #endif /* SysTick_AUTOINIT */ #ifdef UART0_AUTOINIT UART0_Init(); #endif /* UART0_AUTOINIT */ #ifdef UART1_AUTOINIT UART1_Init(); #endif /* UART1_AUTOINIT */ #ifdef UART2_AUTOINIT UART2_Init(); #endif /* UART2_AUTOINIT */ #ifdef UART3_AUTOINIT UART3_Init(); #endif /* UART3_AUTOINIT */ #ifdef UART4_AUTOINIT UART4_Init(); #endif /* UART4_AUTOINIT */ #ifdef UART5_AUTOINIT UART5_Init(); #endif /* UART5_AUTOINIT */ #ifdef USB0_AUTOINIT USB0_Init(); #endif /* USB0_AUTOINIT */ #ifdef USBDCD_AUTOINIT USBDCD_Init(); #endif /* USBDCD_AUTOINIT */ #ifdef VREF_AUTOINIT VREF_Init(); #endif /* VREF_AUTOINIT */ #ifdef WDOG_AUTOINIT WDOG_Init(); #endif /* WDOG_AUTOINIT */ }
/*****************************************************************************//*! +FUNCTION---------------------------------------------------------------- * @function name: sysinit * * @brief initalize system including SIM, ICS, UART, etc * * @param none * * @return none * * @ Pass/ Fail criteria: none *****************************************************************************/ void sysinit (void) { SIM_ConfigType sSIMConfig = {{0},0}; ICS_ConfigType sICSConfig = {0}; /* initialize the Pass/Fail counts to 0 */ global_pass_count = 0; global_fail_count = 0; #if defined(TRIM_IRC) /* if not trimmed, do trim first */ ICS_Trim(ICS_TRIM_VALUE); #endif /* * Enable SWD pin, RESET pin */ /* * NOTE: please make sure other register bits are also write-once and * need add other bit mask here if needed. */ #if defined(SPI0_PINREMAP) sSIMConfig.u32PinSel |= SIM_PINSEL_SPI0PS_MASK; #endif #if defined(OUTPUT_BUSCLK) sSIMConfig.sBits.bEnableCLKOUT = 1; /* output bus clock if enabled */ #endif #if defined(DISABLE_NMI) sSIMConfig.sBits.bDisableNMI = 1; #endif #if !defined(CPU_KEA64) /* make sure clocks to peripheral modules are enabled */ sSIMConfig.u32SCGC |= SIM_SCGC_SWD_MASK | SIM_SCGC_FLASH_MASK | SIM_SCGC_UART0_MASK | SIM_SCGC_UART1_MASK | SIM_SCGC_UART2_MASK ; #else sSIMConfig.u32SCGC |= SIM_SCGC_SWD_MASK | SIM_SCGC_FLASH_MASK | SIM_SCGC_UART0_MASK ; #endif #if !defined(CPU_KEA8) /* bus clock divided by 2 */ sSIMConfig.u32CLKDIV |= SIM_CLKDIV_OUTDIV2_MASK; #endif SIM_Init(&sSIMConfig); /* initialize SIM */ #if defined(XOSC_STOP_ENABLE) sICSConfig.oscConfig.bStopEnable = 1; /* enabled in stop mode */ #endif #if defined(CRYST_HIGH_GAIN) sICSConfig.oscConfig.bGain = 1; /* high gain */ #endif #if (EXT_CLK_FREQ_KHZ >=4000) sICSConfig.oscConfig.bRange = 1; /* high range */ #endif sICSConfig.oscConfig.bEnable = 1; /* enable OSC */ sICSConfig.u32ClkFreq = EXT_CLK_FREQ_KHZ; #if defined(USE_FEE) sICSConfig.u8ClkMode = ICS_CLK_MODE_FEE; #elif defined(USE_FBE_OSC) sICSConfig.u8ClkMode = ICS_CLK_MODE_FBE_OSC; #elif defined(USE_FEE_OSC) sICSConfig.u8ClkMode = ICS_CLK_MODE_FEE_OSC; #endif ICS_Init(&sICSConfig); /* initialize ICS */ /* initialize UART for printing */ UART_InitPrint(); #if defined(PRINT_SYS_LOG) print_sys_log(); #endif }
void Peripherals_Init(void) { #ifdef NVIC_AUTOINIT NVIC_Init(); #endif /* NVIC_AUTOINIT */ #ifdef SIM_AUTOINIT SIM_Init(); #endif /* SIM_AUTOINIT */ #ifdef MCM_AUTOINIT MCM_Init(); #endif /* MCM_AUTOINIT */ #ifdef PMC_AUTOINIT PMC_Init(); #endif /* PMC_AUTOINIT */ #ifdef PORTA_AUTOINIT PORTA_Init(); #endif /* PORTA_AUTOINIT */ #ifdef PORTB_AUTOINIT PORTB_Init(); #endif /* PORTB_AUTOINIT */ #ifdef PORTC_AUTOINIT PORTC_Init(); #endif /* PORTC_AUTOINIT */ #ifdef PORTD_AUTOINIT PORTD_Init(); #endif /* PORTD_AUTOINIT */ #ifdef PORTE_AUTOINIT PORTE_Init(); #endif /* PORTE_AUTOINIT */ #ifdef ADC0_AUTOINIT ADC0_Init(); #endif /* ADC0_AUTOINIT */ #ifdef ADC1_AUTOINIT ADC1_Init(); #endif /* ADC1_AUTOINIT */ #ifdef CMP0_AUTOINIT CMP0_Init(); #endif /* CMP0_AUTOINIT */ #ifdef CMP1_AUTOINIT CMP1_Init(); #endif /* CMP1_AUTOINIT */ #ifdef CRC_AUTOINIT CRC_Init(); #endif /* CRC_AUTOINIT */ #ifdef DAC0_AUTOINIT DAC0_Init(); #endif /* DAC0_AUTOINIT */ #ifdef DMAMUX_AUTOINIT DMAMUX_Init(); #endif /* DMAMUX_AUTOINIT */ #ifdef DMA_AUTOINIT DMA_Init(); #endif /* DMA_AUTOINIT */ #ifdef EWM_AUTOINIT EWM_Init(); #endif /* EWM_AUTOINIT */ #ifdef FTFA_AUTOINIT FTFA_Init(); #endif /* FTFA_AUTOINIT */ #ifdef FTM0_AUTOINIT FTM0_Init(); #endif /* FTM0_AUTOINIT */ #ifdef FTM1_AUTOINIT FTM1_Init(); #endif /* FTM1_AUTOINIT */ #ifdef FTM2_AUTOINIT FTM2_Init(); #endif /* FTM2_AUTOINIT */ #ifdef GPIOA_AUTOINIT GPIOA_Init(); #endif /* GPIOA_AUTOINIT */ #ifdef GPIOB_AUTOINIT GPIOB_Init(); #endif /* GPIOB_AUTOINIT */ #ifdef GPIOC_AUTOINIT GPIOC_Init(); #endif /* GPIOC_AUTOINIT */ #ifdef GPIOD_AUTOINIT GPIOD_Init(); #endif /* GPIOD_AUTOINIT */ #ifdef GPIOE_AUTOINIT GPIOE_Init(); #endif /* GPIOE_AUTOINIT */ #ifdef I2C0_AUTOINIT I2C0_Init(); #endif /* I2C0_AUTOINIT */ #ifdef LLWU_AUTOINIT LLWU_Init(); #endif /* LLWU_AUTOINIT */ #ifdef LPTMR0_AUTOINIT LPTMR0_Init(); #endif /* LPTMR0_AUTOINIT */ #ifdef PDB0_AUTOINIT PDB0_Init(); #endif /* PDB0_AUTOINIT */ #ifdef RCM_AUTOINIT RCM_Init(); #endif /* RCM_AUTOINIT */ #ifdef SMC_AUTOINIT SMC_Init(); #endif /* SMC_AUTOINIT */ #ifdef SPI0_AUTOINIT SPI0_Init(); #endif /* SPI0_AUTOINIT */ #ifdef SystemControl_AUTOINIT SystemControl_Init(); #endif /* SystemControl_AUTOINIT */ #ifdef SysTick_AUTOINIT SysTick_Init(); #endif /* SysTick_AUTOINIT */ #ifdef UART0_AUTOINIT UART0_Init(); #endif /* UART0_AUTOINIT */ #ifdef UART1_AUTOINIT UART1_Init(); #endif /* UART1_AUTOINIT */ #ifdef WDOG_AUTOINIT WDOG_Init(); #endif /* WDOG_AUTOINIT */ }