/* * Kernel C code entry point. * Initializes kernel subsystems, mounts filesystems, * and spawns init process. */ void Main(struct Boot_Info* bootInfo) { Init_BSS(); Init_Screen(); Init_Mem(bootInfo); Init_CRC32(); Init_TSS(); Init_Interrupts(); Init_Scheduler(); Init_Traps(); Init_Timer(); Init_Keyboard(); Init_DMA(); Init_Floppy(); Init_IDE(); Init_PFAT(); Mount_Root_Filesystem(); Set_Current_Attr(ATTRIB(BLACK, GREEN|BRIGHT)); Print("Welcome to GeekOS!\n"); Set_Current_Attr(ATTRIB(BLACK, GRAY)); Spawn_Init_Process(); /* Now this thread is done. */ Exit(0); }
void IRsensor1_Init(IRsensor * IRsensor){ if(IRsensor!=NULL) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 , ENABLE); IRsensor->state1=1; Init_ADC_Common(); Init_DMA(); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; GPIO_Init(GPIOC, &GPIO_InitStructure); ADC_Init(ADC1, &ADC_InitStructure); ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); ADC_DMACmd(ADC1, ENABLE); ADC_Cmd(ADC1, ENABLE); ADC_SoftwareStartConv(ADC1); } }
int video_init(void *dst) { #ifdef CONFIG_MK_BF527_EZKIT_REV_2_1 lq035q1_control(LQ035_SHUT_CTL, LQ035_ON); lq035q1_control(LQ035_DRIVER_OUTPUT_CTL, (CONFIG_LQ035Q1_LCD_MODE & LQ035_DRIVER_OUTPUT_MASK) | LQ035_DRIVER_OUTPUT_DEFAULT); #endif Init_Ports(); Init_DMA(dst); EnableDMA(); InitTIMER0(); InitTIMER1(); Init_PPI(); EnablePPI(); #ifdef CONFIG_MK_BF527_EZKIT_REV_2_1 EnableTIMER12(); #else /* Frame sync 2 (VS) needs to start at least one PPI clk earlier */ EnableTIMER1(); /* Add Some Delay ... */ SSYNC(); SSYNC(); SSYNC(); SSYNC(); /* now start frame sync 1 */ EnableTIMER0(); #endif return 0; }
void Main(struct Boot_Info *bootInfo) { Init_BSS(); Init_Screen(); Init_Mem(bootInfo); Init_CRC32(); Init_TSS(); lockKernel(); Init_Interrupts(0); Init_SMP(); TODO_P(PROJECT_VIRTUAL_MEMORY_A, "initialize virtual memory page tables."); Init_Scheduler(0, (void *)KERN_STACK); Init_Traps(); Init_Local_APIC(0); Init_Timer(); Init_Keyboard(); Init_DMA(); /* Init_Floppy(); *//* floppy initialization hangs on virtualbox */ Init_IDE(); Init_PFAT(); Init_GFS2(); Init_GOSFS(); Init_CFS(); Init_Alarm(); Release_SMP(); /* Initialize Networking */ Init_Network_Devices(); Init_ARP_Protocol(); Init_IP(); Init_Routing(); Init_Sockets(); Init_RIP(); /* End networking subsystem init */ /* Initialize Sound */ Init_Sound_Devices(); /* End sound init */ Mount_Root_Filesystem(); TODO_P(PROJECT_VIRTUAL_MEMORY_A, "initialize page file."); Set_Current_Attr(ATTRIB(BLACK, GREEN | BRIGHT)); Print("Welcome to GeekOS!\n"); Set_Current_Attr(ATTRIB(BLACK, GRAY)); TODO_P(PROJECT_SOUND, "play startup sound"); Spawn_Init_Process(); /* it's time to shutdown the system */ Hardware_Shutdown(); /* we should not get here */ }
int video_init(void *dst) { Init_Ports(); Init_DMA(dst); EnableDMA(); Init_PPI(); EnablePPI(); return 0; }
//--------------------------------------------------------------------------// // Function: main // // // // Description: After calling a few initalization routines, main() just // // waits in a loop forever. The code to process the incoming // // data can be placed in the function Process_Data() in the // // file "Process_Data.c". // //--------------------------------------------------------------------------// void main(void) { Init_Flags(); Audio_Reset(); Init_Sport0(); Init_DMA(); Init_Interrupts(); Enable_DMA_Sport0(); while(1); }
bool AsgbaInit(AsgbaEvtHdlr hdlr, uint8_t *bios, uint8_t *rom, uint32_t romsz) { PhyMemInit(bios, rom, romsz); InitCpu(); Init_DMA(); Init_INTR(); Init_Display(); Init_Timer(); g_funcOutEvtHdlr = hdlr; return true; }
/* * Kernel C code entry point. * Initializes kernel subsystems, mounts filesystems, * and spawns init process. */ void Main(struct Boot_Info *bootInfo) { Init_BSS(); Init_Screen(); Init_Mem(bootInfo); Init_CRC32(); Init_TSS(); Init_Interrupts(); Init_Scheduler(); Init_Traps(); Init_Timer(); Init_Keyboard(); Init_DMA(); Init_Floppy(); Init_IDE(); Init_PFAT(); Init_GFS2(); Init_GOSFS(); Init_Alarm(); /* Initialize Networking */ Init_Network_Devices(); Init_ARP_Protocol(); Init_IP(); Init_Routing(); Init_Sockets(); Init_RIP(); /* End networking subsystem init */ Mount_Root_Filesystem(); Set_Current_Attr(ATTRIB(BLACK, GREEN | BRIGHT)); Print("Welcome to GeekOS!\n"); Set_Current_Attr(ATTRIB(BLACK, GRAY)); Spawn_Init_Process(); /* Now this thread is done. */ Exit(0); }
int video_init(void *dst) { Init_Ports(); Init_DMA(dst); EnableDMA(); InitTIMER0(); InitTIMER1(); Init_PPI(); EnablePPI(); /* Frame sync 2 (VS) needs to start at least one PPI clk earlier */ EnableTIMER1(); /* Add Some Delay ... */ SSYNC(); SSYNC(); SSYNC(); SSYNC(); /* now start frame sync 1 */ EnableTIMER0(); return 0; }
void Main(struct Boot_Info *bootInfo) { Init_BSS(); Init_Screen(); Init_Mem(bootInfo); Init_CRC32(); TODO_P(PROJECT_PERCPU, "Initialize PERCPU"); Init_TSS(); /* by modifying begin_int_atomic to autolock if not locked when interrupts are disabled, this lockKernel() became duplicative */ /* lockKernel(); */ Init_Interrupts(0); Print("Init_SMP\n"); Init_SMP(); Print("/Init_SMP\n"); TODO_P(PROJECT_VIRTUAL_MEMORY_A, "initialize virtual memory page tables."); Init_Scheduler(0, (void *)KERN_STACK); Init_Traps(); Init_Local_APIC(0); Init_Timer(); Init_Keyboard(); Init_DMA(); /* Init_Floppy(); *//* floppy initialization hangs on virtualbox */ Init_IDE(); Init_PFAT(); if(Init_GFS2) Init_GFS2(); if(Init_GFS3) Init_GFS3(); Init_GOSFS(); Init_CFS(); Init_Alarm(); Init_Serial(); Print("the global lock is %sheld.\n", Kernel_Is_Locked()? "" : "not "); Release_SMP(); /* Initialize Networking */ /* Init_Network_Devices(); Init_ARP_Protocol(); Init_IP(); Init_Routing(); Init_Sockets(); Init_RIP(); */ /* End networking subsystem init */ /* Initialize Sound */ Init_Sound_Devices(); /* End sound init */ Mount_Root_Filesystem(); TODO_P(PROJECT_VIRTUAL_MEMORY_A, "initialize page file."); Set_Current_Attr(ATTRIB(BLACK, GREEN | BRIGHT)); Print("Welcome to GeekOS!\n"); Set_Current_Attr(ATTRIB(BLACK, GRAY)); TODO_P(PROJECT_SOUND, "play startup sound"); TODO_P(PROJECT_SERIAL, "Initialize the serial console and start the shell."); Spawn_Init_Process(); /* it's time to shutdown the system because Init exited. */ Hardware_Shutdown(); /* we should not get here */ }