这篇教程C++ stdio_init函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中stdio_init函数的典型用法代码示例。如果您正苦于以下问题:C++ stdio_init函数的具体用法?C++ stdio_init怎么用?C++ stdio_init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了stdio_init函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: _startvoid _start(void){ int i; unsigned int *src, *dst; // Copy .data from flash to RAM for ( i = 0, dst = __load_info.data.base, src = __load_info.data_reloc; i < __load_info.data.len; i += sizeof(unsigned long) ) *dst++ = *src++; // Zero BSS for ( i = 0, dst = __load_info.bss.base; i < __load_info.bss.len; i += sizeof(unsigned long) ) *dst++ = 0; SysCtlClockSet( SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN ); stdio_init(); main(); __abort();}
开发者ID:duskwuff,项目名称:lm-project0,代码行数:29,
示例2: k_startup/*! * First kernel function (after boot loader loads it to memory) */void k_startup (){ extern console_t K_INITIAL_STDOUT, K_STDOUT; extern console_t *k_stdout; /* console for kernel messages */ /* set initial stdout */ k_stdout = &K_INITIAL_STDOUT; k_stdout->init (0); /*! start with regular initialization */ /* switch to default 'stdout' for kernel */ k_stdout = &K_STDOUT; k_stdout->init (0); kprintf ( "%s/n", system_info ); stdio_init (); /* initialize standard output devices */ /* start desired program(s) */ hello_world ();#if ( TURN_OFF == 0 ) kprintf ( "/nSystem halted!/n" ); halt ();#else /* power off (if supported, or just stop if not) */ kprintf ( "Powering off/n/n" ); power_off ();#endif}
开发者ID:bkolobara,项目名称:Benu-pi,代码行数:34,
示例3: mod_init/*---------------------------------------------------------------------------*/usys mod_init (void){ usys stat = GOOD ;#ifdef INCLUDE_STDIO if (stdio_init () != GOOD) { printf ("ERR: initStdio() Failed !!!/n") ; stat = BAD ; }#endif#ifdef INCLUDE_CLI if (cli_init () != GOOD) { printf ("ERR: cli_init() Failed !!!/n") ; stat = BAD ; }#endif#ifdef INCLUDE_TESTS if (test_init () != GOOD) { printf ("ERR: test_init() Failed !!!/n") ; stat = BAD ; }#endif#ifdef INCLUDE_NETWORK if (net_init () != GOOD) { printf ("ERR: net_init() Failed !!!/n") ; stat = BAD ; }#endif return stat ;} /* End of function mod_init () */
开发者ID:dasadahanayaka,项目名称:Akalon,代码行数:36,
示例4: mainint main(int argc, char ** argv){ /* Calibrate the the uDelay loop */ cm3_udelay_calibrate(); /* Initialize the stdin, stdout and stderr */ stdio_init(); /* Print a useful information message */ printf("/n"); printf("---------------------------------------------------------/n"); printf(" ThinkOS - Semaphore example/n"); printf("---------------------------------------------------------/n"); printf("/n"); /* Initialize the ThinkOS kernel */ thinkos_init(THINKOS_OPT_PRIORITY(0) | THINKOS_OPT_ID(0)); /* Run the test */ semaphore_test(); thinkos_sleep(10000); return 0;}
开发者ID:bobmittmann,项目名称:thinkos,代码行数:25,
示例5: mainint main(int argc, char ** argv){ struct board_cfg * cfg = (struct board_cfg *)(CFG_ADDR); uint8_t addr = 1; int i; if (cfg->magic == CFG_MAGIC) addr = cfg->mstp_addr; else addr = 0; stdio_init(); supervisor_init(); INF("Starting RS485 test"); net_start(addr); net_probe(true); for (i = 0;; ++i) { (void)i; thinkos_sleep(100); net_send(0, "U U U U ", 8); } return 0;}
开发者ID:bobmittmann,项目名称:thinkos,代码行数:28,
示例6: mainint main(int argc, char ** argv){ usb_cdc_class_t * cdc; DCC_LOG_INIT(); DCC_LOG_CONNECT(); DCC_LOG(LOG_TRACE, "1. cm3_udelay_calibrate()"); cm3_udelay_calibrate(); DCC_LOG(LOG_TRACE, "2. thinkos_init()"); thinkos_init(THINKOS_OPT_PRIORITY(8) | THINKOS_OPT_ID(7)); DCC_LOG(LOG_TRACE, "3. io_init()"); io_init(); DCC_LOG(LOG_TRACE, "4. external_bus_init()"); external_bus_init(); DCC_LOG(LOG_TRACE, "5. stdio_init()"); stdio_init(); printf("/n---/n"); DCC_LOG(LOG_TRACE, "6. trace_init()"); trace_init(); DCC_LOG(LOG_TRACE, "7. env_init()"); env_init(); /* create some threads */ DCC_LOG(LOG_TRACE, "8. monitor_init()"); monitor_init(); DCC_LOG(LOG_TRACE, "9. watchdog_init()"); watchdog_init(); DCC_LOG(LOG_TRACE, "10. net_init()"); net_init(); DCC_LOG(LOG_TRACE, "11. pkt_xmt_init()"); pkt_xmt_init(); net_pkt_mode(true); DCC_LOG(LOG_TRACE, "12. console_shell_init()"); console_shell_init(); DCC_LOG(LOG_TRACE, "13. usb_cdc_init()"); usb_cdc_sn_set(*((uint64_t *)STM32F_UID)); cdc = usb_cdc_init(&stm32f_otg_fs_dev, cdc_acm_def_str, cdc_acm_def_strcnt); DCC_LOG(LOG_TRACE, "14. usb_shell()"); for (;;) { usb_shell(cdc); }}
开发者ID:powertang,项目名称:yard-ice,代码行数:57,
示例7: mainint main(int argc, char ** argv){ uint32_t * uid = STM32F_UID; int i = 0; DCC_LOG_INIT(); DCC_LOG_CONNECT(); /* calibrate usecond delay loop */ cm3_udelay_calibrate(); DCC_LOG(LOG_TRACE, "1. io_init()"); io_init(); DCC_LOG(LOG_TRACE, "2. leds_init()"); leds_init(); DCC_LOG(LOG_TRACE, "3. stdio_init()"); stdio_init(); printf("/n/n"); printf("-----------------------------------------/n"); printf(" RS485 token ring network test/n"); printf("-----------------------------------------/n"); printf("/n"); DCC_LOG(LOG_TRACE, "4. thinkos_init()"); thinkos_init(THINKOS_OPT_PRIORITY(0) | THINKOS_OPT_ID(32)); DCC_LOG(LOG_TRACE, "5. net_init()"); net_init(); thinkos_thread_create((void *)supervisor_task, (void *)NULL, supervisor_stack, sizeof(supervisor_stack), THINKOS_OPT_PRIORITY(0) | THINKOS_OPT_ID(0)); thinkos_thread_create((void *)tx_task, (void *)NULL, tx_stack, sizeof(tx_stack), THINKOS_OPT_PRIORITY(1) | THINKOS_OPT_ID(1)); thinkos_thread_create((void *)rx_task, (void *)NULL, rx_stack, sizeof(rx_stack), THINKOS_OPT_PRIORITY(2) | THINKOS_OPT_ID(2)); printf("UID=%08x:%08x:%08x/n", uid[2], uid[1], uid[0]); DCC_LOG3(LOG_TRACE, "UID=%08x:%08x:%08x", uid[2], uid[1], uid[0]); for (i = 0; ; ++i) { thinkos_sleep(1000); } return 0;}
开发者ID:bobmittmann,项目名称:thinkos,代码行数:54,
示例8: lib_os_initvoid lib_os_init(){ kernel_init(); #ifdef _MESSAGES_F_H messages_init(); #endif #ifdef _STDIO_H_ stdio_init(); #endif}
开发者ID:richese,项目名称:aeris,代码行数:12,
示例9: prog_init/*! Initialize user process environment */void prog_init ( void *args ){ /* open stdin & stdout */ stdio_init (); /* initialize dynamic memory */ pi.mpool = mem_init ( pi.heap, pi.heap_size ); /* call starting function */ ( (void (*) ( void * ) ) pi.entry ) ( args ); pthread_exit ( NULL );}
开发者ID:bkolobara,项目名称:Benu-pi,代码行数:14,
示例10: board_initvoid board_init(void){ msp430_cpu_init(); msb_ports_init(); /* initialize CPU clock */ unsigned state = irq_disable(); msp430_init_cpuclk(CLOCK_MODE); irq_restore(state); /* initialize STDIO over UART */ stdio_init();}
开发者ID:A-Paul,项目名称:RIOT,代码行数:13,
示例11: k_startup/*! * First kernel function (after boot loader loads it to memory) */void k_startup (){ extern console_t K_INITIAL_STDOUT, K_STDOUT; extern console_t *k_stdout; /* console for kernel messages */ /* set initial stdout */ k_stdout = &K_INITIAL_STDOUT; k_stdout->init (0); /* initialize memory subsystem (needed for boot) */ k_memory_init (); /*! start with regular initialization */ /* interrupts */ arch_init_interrupts (); /* detect memory faults (qemu do not detect segment violations!) */ arch_register_interrupt_handler ( INT_MEM_FAULT, k_memory_fault ); arch_register_interrupt_handler ( INT_UNDEF_FAULT, k_memory_fault ); /* switch to default 'stdout' for kernel */ k_stdout = &K_STDOUT; k_stdout->init (0); kprintf ( "%s/n", system_info ); /* enable interrupts */ enable_interrupts (); stdio_init (); /* initialize standard output devices */ /* start desired program(s) */ hello_world (); segm_fault ();#if ( TURN_OFF == 0 ) kprintf ( "/nSystem halted!/n" );#ifdef PL190 /* testing uart (arm) interrupts */ void uart0_echo_test_start (); uart0_echo_test_start (); suspend();#endif halt ();#else /* power off (if supported, or just stop if not) */ kprintf ( "Powering off/n/n" ); power_off ();#endif}
开发者ID:checkraiser,项目名称:Benu,代码行数:54,
示例12: k_startup/*! * First kernel function (after boot loader loads it to memory) */void k_startup (){ extern void *k_stdout; /* console for kernel messages */ /* set initial stdout */ kdevice_set_initial_stdout (); /* initialize memory subsystem (needed for boot) */ k_memory_init (); /*! start with regular initialization */ /* interrupts */ arch_init_interrupts (); /* detect memory faults (qemu do not detect segment violations!) */ arch_register_interrupt_handler ( INT_MEM_FAULT, k_memory_fault, NULL ); arch_register_interrupt_handler ( INT_UNDEF_FAULT, k_memory_fault, NULL ); /* timer subsystem */ k_time_init (); /* devices */ k_devices_init (); /* switch to default 'stdout' for kernel */ k_stdout = k_device_open ( K_STDOUT, O_WRONLY ); kprintf ( "%s/n", system_info ); /* enable interrupts */ enable_interrupts (); stdio_init (); /* initialize standard input & output devices */ /* start desired program(s) */ hello_world (); keyboard (); timer (); /* segm_fault (); */#if ( TURN_OFF == 0 ) kprintf ( "/nSystem halted!/n" ); halt ();#else /* power off (if supported, or just stop if not) */ kprintf ( "Powering off/n/n" ); power_off ();#endif}
开发者ID:kavefish,项目名称:Benu,代码行数:53,
示例13: Keyboard__initvoidKeyboard__init(){ stdio_init(); init_cols(); kb.default_keymap = (KeyMap) pgm_read_word(&default_keymap); kb.selected_keymap = kb.default_keymap; kb.active_keymap = NULL; kb.prev_keymap = kb.default_keymap; BlockedKeys__init(); ReportQueue__init(); reset();}
开发者ID:maugsburger,项目名称:hh-keyb-firmware,代码行数:15,
示例14: mainint main(int argc, char ** argv){ struct board_cfg * cfg = (struct board_cfg *)(CFG_ADDR); struct mstp_lnk * mstp; int mstp_addr; if (cfg->magic == CFG_MAGIC) mstp_addr = cfg->mstp_addr; else mstp_addr = 2; io_init(); stdio_init(); motd(); lattice_ice40_configure(ice40lp384_bin, sizeof_ice40lp384_bin); supervisor_init(); INF("Starting MS/TP network (addr=%d)", mstp_addr); if ((mstp = mstp_start(mstp_addr)) == NULL) { thinkos_sleep(1000); return 1; } INF("Starting MS/TP test"); mstp_test_start(mstp); for (;;) { int c = fgetc(stdin); switch (c) { case '0' ... '9': test_mode = c - '0'; printf("/ntest mode %d/n", test_mode); break; default: show_menu(); } } return 0;}
开发者ID:bobmittmann,项目名称:thinkos,代码行数:47,
示例15: initinit(void){ int secs; mem_init(); trap_init(); kstdio_init(); stdio_init(); tty_init(); timer_init(); kern_init(); enable_intrs();#ifdef MV134_TIMER_TEST /* for testing only, XXX */ timer_test_init();#endif /* gdb_init(); XXX if enabled never returns */ shell_init();}
开发者ID:poofyleek,项目名称:free,代码行数:19,
示例16: mainint main(int argc, char ** argv){ cm3_udelay_calibrate(); stdio_init(); printf("/n"); printf("---------------------------------------------------------/n"); printf(" ThinkOS (Cortex-M RTOS Profiling Test)/n"); printf("---------------------------------------------------------/n"); printf("/n"); fflush(stdout); thinkos_init(THINKOS_OPT_PRIORITY(0) | THINKOS_OPT_ID(0)); busy_test(); delay(10); return 0;}
开发者ID:bobmittmann,项目名称:thinkos,代码行数:21,
示例17: mainint main(int argc, char ** argv){ cm3_udelay_calibrate(); stdio_init(); printf("/n"); printf("---------------------------------------------------------/n"); printf(" ThinkOS (Cortex-M RTOS Basic Test)/n"); printf("---------------------------------------------------------/n"); printf("/n"); delay(1); thinkos_init(THINKOS_OPT_PRIORITY(0) | THINKOS_OPT_ID(0)); sched_speed_test(); busy_test();// sleep_test(); delay(10); return 0;}
开发者ID:powertang,项目名称:yard-ice,代码行数:23,
示例18: mainint main(UNUSED(int argc), UNUSED(char** argv)){ uint32_t tso = rdtsc32(); stdio_mode(STDIO_MODE_CANON); // initialize mraa and software SPI mraa_init(); printf("MRAA paltform %s, version %s/n", mraa_get_platform_name(), mraa_get_version()); mraa_spi_sw_context spi = sw_spi_init(MRAA_SCK, MRAA_MOSI, MRAA_MISO); // initialize RFM12BS rfm12_t rfm; memset(&rfm, 0, sizeof(rfm)); rfm12_init_spi(&rfm, spi, MRAA_CS1, MRAA_GP047); rfm12_init(&rfm, 0xD4, RFM12_BAND_868, 868.0, RFM12_BPS_9600); rfm12_set_mode(&rfm, RFM_MODE_RX); printf("started up in %u msec/n", millis(tso)); // default application configuration cfg.flags |= APPF_ECHO_DAN; cfg.rfm = &rfm; // initialize command line interface console_io_t cli; memset(&cli, 0, sizeof(cli)); cli.prompt = '>'; cli.data = &cfg; stdio_init(&cli, stdio_cmd_handler); stdio_mode(STDIO_MODE_RAW); dnode_t node; while(!cli.stop) { cli.interact(&cli, cli_cmd); if (rfm12_receive_data(&rfm, &node, sizeof(node), cfg.flags & RFM_RX_DEBUG) == sizeof(node)) { rfm12_set_mode(&rfm, RFM_MODE_RX); if (node.nid == NODE_TSYNC) { tso = rdtsc32(); ts_unpack(&node); cfg.rtc_hour = node.hour; cfg.rtc_min = node.min; cfg.rtc_sec = node.sec; } if (cfg.flags & APPF_ECHO_DAN) print_node(&cli, &node); } if (millis(tso) >= 1000) { tso = rdtsc32(); if (++cfg.rtc_sec == 60) { cfg.rtc_sec = 0; if (++cfg.rtc_min == 60) { cfg.rtc_min = 0; if (++cfg.rtc_hour == 24) cfg.rtc_hour = 0; } } } usleep(1); // be nice } stdio_mode(STDIO_MODE_CANON); rfm12_close_spi(&rfm); sw_spi_close(spi); mraa_deinit();}
开发者ID:achilikin,项目名称:edradio,代码行数:70,
示例19: board_init_f//.........这里部分代码省略......... bd->bi_flashsize = 0; bd->bi_flashstart = 0; bd->bi_flashoffset = 0;#endif /* !CONFIG_SYS_NO_FLASH */#ifdef CONFIG_SPI# if !defined(CONFIG_ENV_IS_IN_EEPROM) spi_init_f();# endif spi_init_r();#endif /* relocate environment function pointers etc. */ env_relocate();#if defined(CONFIG_BOARD_LATE_INIT) board_late_init();#endif#ifdef CONFIG_ID_EEPROM mac_read_from_eeprom();#endif /* IP Address */ bd->bi_ip_addr = getenv_IPaddr("ipaddr");#if defined(CONFIG_PCI) /* * Do pci configuration */ pci_init();#endif /* Initialize stdio devices */ stdio_init(); /* Initialize the jump table for applications */ jumptable_init(); /* Initialize the console (after the relocation and devices init) */ console_init_r();#ifdef CONFIG_SERIAL_SOFTWARE_FIFO serial_buffered_init();#endif#ifdef CONFIG_STATUS_LED status_led_set(STATUS_LED_BOOT, STATUS_LED_BLINKING);#endif udelay(20); set_timer(0); /* Initialize from environment */ if ((s = getenv("loadaddr")) != NULL) { load_addr = simple_strtoul(s, NULL, 16); }#if defined(CONFIG_CMD_NET) if ((s = getenv("bootfile")) != NULL) { copy_filename(BootFile, s, sizeof(BootFile)); }#endif /* CONFIG_CMD_NET */ WATCHDOG_RESET();#if defined(CONFIG_CMD_DOC)
开发者ID:Jayjack0116,项目名称:u-boot,代码行数:67,
示例20: board_init_r//.........这里部分代码省略......... puts("NAND: "); nand_init(); /* go init the NAND */#endif#if defined(CONFIG_CMD_ONENAND) onenand_init();#endif#ifdef CONFIG_GENERIC_MMC puts("MMC: "); mmc_initialize(gd->bd);#endif#ifdef CONFIG_CMD_SCSI puts("SCSI: "); scsi_init();#endif#ifdef CONFIG_HAS_DATAFLASH AT91F_DataflashInit(); dataflash_print_info();#endif /* initialize environment */ if (should_load_env()) env_relocate(); else set_default_env(NULL);#if defined(CONFIG_CMD_PCI) || defined(CONFIG_PCI) arm_pci_init();#endif stdio_init(); /* get the devices list going. */ jumptable_init();#if defined(CONFIG_API) /* Initialize API */ api_init();#endif console_init_r(); /* fully init console as a device */#ifdef CONFIG_DISPLAY_BOARDINFO_LATE# ifdef CONFIG_OF_CONTROL /* Put this here so it appears on the LCD, now it is ready */ display_fdt_model(gd->fdt_blob);# else checkboard();# endif#endif#if defined(CONFIG_ARCH_MISC_INIT) /* miscellaneous arch dependent initialisations */ arch_misc_init();#endif#if defined(CONFIG_MISC_INIT_R) /* miscellaneous platform dependent initialisations */ misc_init_r();#endif /* set up exceptions */ interrupt_init(); /* enable exceptions */ enable_interrupts();
开发者ID:BeanGu,项目名称:U-boot,代码行数:67,
示例21: start_armboot//.........这里部分代码省略.........#endif#ifdef CONFIG_GENERIC_MMC puts ("MMC: "); mmc_exist = mmc_initialize (gd->bd); if (mmc_exist != 0) { puts ("0 MB/n"); }#endif#ifdef CONFIG_HAS_DATAFLASH AT91F_DataflashInit(); dataflash_print_info();#endif /* initialize environment */ env_relocate ();#ifdef CONFIG_VFD /* must do this after the framebuffer is allocated */ drv_vfd_init();#endif /* CONFIG_VFD */#ifdef CONFIG_SERIAL_MULTI serial_initialize();#endif /* IP Address */ gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr"); stdio_init (); /* get the devices list going. */ jumptable_init ();#if defined(CONFIG_API) /* Initialize API */ api_init ();#endif console_init_r (); /* fully init console as a device */#if defined(CONFIG_ARCH_MISC_INIT) /* miscellaneous arch dependent initialisations */ arch_misc_init ();#endif#if defined(CONFIG_MISC_INIT_R) /* miscellaneous platform dependent initialisations */ misc_init_r ();#endif /* enable exceptions */ enable_interrupts (); /* Perform network card initialisation if necessary */#ifdef CONFIG_DRIVER_TI_EMAC /* XXX: this needs to be moved to board init */extern void davinci_eth_set_mac_addr (const u_int8_t *addr); if (getenv ("ethaddr")) { uchar enetaddr[6]; eth_getenv_enetaddr("ethaddr", enetaddr); davinci_eth_set_mac_addr(enetaddr); }#endif
开发者ID:jinsookim1,项目名称:uboot_test,代码行数:67,
示例22: board_init_rvoid board_init_r(gd_t *id, ulong dest_addr){ char *s; bd_t *bd; ulong malloc_start;#if !defined(CONFIG_SYS_NO_FLASH) ulong flash_size;#endif gd = id; bd = gd->bd; gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ monitor_flash_len = _end_ofs; /* * Enable D$: * I$, if needed, must be already enabled in start.S */ dcache_enable(); debug("monitor flash len: %08lX/n", monitor_flash_len); board_init(); /* Setup chipselects */#ifdef CONFIG_SERIAL_MULTI serial_initialize();#endif debug("Now running in RAM - U-Boot at: %08lx/n", dest_addr);#ifdef CONFIG_LOGBUFFER logbuff_init_ptrs();#endif#ifdef CONFIG_POST post_output_backlog();#endif /* The Malloc area is immediately below the monitor copy in DRAM */ malloc_start = dest_addr - TOTAL_MALLOC_LEN; mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN);#if !defined(CONFIG_SYS_NO_FLASH) puts("Flash: "); flash_size = flash_init(); if (flash_size > 0) {# ifdef CONFIG_SYS_FLASH_CHECKSUM print_size(flash_size, ""); /* * Compute and print flash CRC if flashchecksum is set to 'y' * * NOTE: Maybe we should add some WATCHDOG_RESET()? XXX */ s = getenv("flashchecksum"); if (s && (*s == 'y')) { printf(" CRC: %08X", crc32(0, (const unsigned char *) CONFIG_SYS_FLASH_BASE, flash_size)); } putc('/n');# else /* !CONFIG_SYS_FLASH_CHECKSUM */ print_size(flash_size, "/n");# endif /* CONFIG_SYS_FLASH_CHECKSUM */ } else { puts(failed); hang(); }#endif#if defined(CONFIG_CMD_NAND) puts("NAND: "); nand_init(); /* go init the NAND */#endif#if defined(CONFIG_CMD_ONENAND) onenand_init();#endif#ifdef CONFIG_GENERIC_MMC puts("MMC: "); mmc_initialize(bd);#endif#ifdef CONFIG_HAS_DATAFLASH AT91F_DataflashInit(); dataflash_print_info();#endif /* initialize environment */ env_relocate();#if defined(CONFIG_CMD_PCI) || defined(CONFIG_PCI) arm_pci_init();#endif /* IP Address */ gd->bd->bi_ip_addr = getenv_IPaddr("ipaddr"); stdio_init(); /* get the devices list going. *///.........这里部分代码省略.........
开发者ID:e3c,项目名称:u-boot-pugboard,代码行数:101,
示例23: mainint main(int argc, char ** argv){ struct acc_info acc; uint32_t cnt = 0; int dt; int x; int y; int i; /* calibrate usecond delay loop */ cm3_udelay_calibrate(); __leds_io_init(); __leds_all_on(); udelay(100000); __leds_all_off(); udelay(100000); /* Initialize the stdin, stdout and stderr */ stdio_init(); __leds_all_on(); udelay(100000); /* Print a useful information message */ printf("/n"); __leds_all_off(); printf("---------------------------------------------------------/n"); printf(" STM32F4 Discovery example/n"); printf("---------------------------------------------------------/n"); printf("/n");// while (1) {// __leds_all_on();// udelay(100000);// __leds_all_off();// udelay(100000);// } thinkos_init(THINKOS_OPT_PRIORITY(4) | THINKOS_OPT_ID(4)); leds_init(); btn_init();#if 0 for (i = 0; ; ++i) { led_off((i - 2) & 0x7); led_on(i & 0x7); dt = i & 255; if (dt > 127) dt = 255 - dt; thinkos_sleep(dt); }#endif acc.sem = thinkos_sem_alloc(0); printf("%s(): acc.sem=%d./n", __func__, acc.sem); thinkos_thread_create((void *)accelerometer_task, (void *)&acc, accelerometer_stack, sizeof(accelerometer_stack) | THINKOS_OPT_PRIORITY(1)); for (i = 0; ; ++i) { thinkos_sem_wait(acc.sem); if (btn_event_get() == BTN_PRESSED) { /* request calibration */ acc.cal_req = true; } /* Scale */ x = acc.x * 64 / 512; y = acc.y * 64 / 512; if ((++cnt & 0x03) == 0) { printf("%5d,%5d/r", x, y); } if (x == 0) { led_on(1); led_on(3); } else if (x < 0) { led_blink(3, -x); led_off(1); } else { led_blink(1, x); led_off(3); } if (y == 0) { led_on(0); led_on(2); } else if (y < 0) { led_off(0); led_blink(2, -y);//.........这里部分代码省略.........
开发者ID:bobmittmann,项目名称:thinkos,代码行数:101,
示例24: board_init_r//.........这里部分代码省略.........#endif#ifdef CONFIG_CMD_NET /* kept around for legacy kernels only ... ignore the next section */ eth_getenv_enetaddr("ethaddr", bd->bi_enetaddr);#ifdef CONFIG_HAS_ETH1 eth_getenv_enetaddr("eth1addr", bd->bi_enet1addr);#endif#ifdef CONFIG_HAS_ETH2 eth_getenv_enetaddr("eth2addr", bd->bi_enet2addr);#endif#ifdef CONFIG_HAS_ETH3 eth_getenv_enetaddr("eth3addr", bd->bi_enet3addr);#endif#ifdef CONFIG_HAS_ETH4 eth_getenv_enetaddr("eth4addr", bd->bi_enet4addr);#endif#ifdef CONFIG_HAS_ETH5 eth_getenv_enetaddr("eth5addr", bd->bi_enet5addr);#endif#endif /* CONFIG_CMD_NET */ WATCHDOG_RESET();#if defined(CONFIG_PCI) && !defined(CONFIG_SYS_EARLY_PCI_INIT) /* * Do pci configuration */ pci_init();#endif/** leave this here (after malloc(), environment and PCI are working) **/ /* Initialize stdio devices */ stdio_init(); /* Initialize the jump table for applications */ jumptable_init();#if defined(CONFIG_API) /* Initialize API */ api_init();#endif /* Initialize the console (after the relocation and devices init) */ console_init_r();#if defined(CONFIG_MISC_INIT_R) /* miscellaneous platform dependent initialisations */ misc_init_r();#endif#if defined(CONFIG_CMD_KGDB) WATCHDOG_RESET(); puts("KGDB: "); kgdb_init();#endif debug("U-Boot relocated to %08lx/n", dest_addr); /* * Enable Interrupts */ interrupt_init();#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT) status_led_set(STATUS_LED_BOOT, STATUS_LED_BLINKING);
开发者ID:KunYi,项目名称:uboot-samx6i,代码行数:67,
示例25: runprogram/* * Load program "progname" and start running it in usermode. * Does not return except on error. * * Calls vfs_open on progname and thus may destroy it. */intrunprogram(char *progname, char **args, int argc){ struct vnode *v; vaddr_t entrypoint, stackptr; int result; // Variables for argument passing int i, pad; size_t offset, get; userptr_t userdest; size_t got[argc]; userptr_t user_argv[argc]; // Count length of each arg i = 0; for (i=0; i<argc; i++){ got[i] = strlen(args[i]) + 1; // Need +1 to account for /0 } /* We enforce that the kernel is only allowed to start ONE user process * directly through runprogram with PID_MIN as its pid. Thereafter any * new user process needs to be forked from existing ones. */ KASSERT(process_table[PID_MIN] == NULL); curthread->pid = PID_MIN; stdio_init(); /* Open the file. */ result = vfs_open(progname, O_RDONLY, 0, &v); if (result) { return result; } /* We should be a new thread. */ KASSERT(curthread->t_addrspace == NULL); /* Create a new address space. */ curthread->t_addrspace = as_create(); if (curthread->t_addrspace==NULL) { vfs_close(v); return ENOMEM; } /* Activate it. */ as_activate(curthread->t_addrspace); /* Load the executable. */ result = load_elf(v, &entrypoint); if (result) { /* thread_exit destroys curthread->t_addrspace */ vfs_close(v); return result; } /* Done with the file now. */ vfs_close(v); /* Define the user stack in the address space */ result = as_define_stack(curthread->t_addrspace, &stackptr); if (result) { /* thread_exit destroys curthread->t_addrspace */ return result; } // Copy args to new addrspace offset = 0; for (i=argc-1; i>-1; i--){ pad = (4 - (got[i]%4) ) % 4; // Word align offset += pad; offset += got[i]; user_argv[i] = (userptr_t)(stackptr - offset); result = copyoutstr((const char*)args[i], user_argv[i], got[i], &get); if (result){ return result; } } // Copy pointers to argv userdest = user_argv[0] - 4 * (argc+1); stackptr = (vaddr_t)userdest; // Set stack pointer for (i=0; i<argc; i++){ result = copyout((const void *)&user_argv[i], userdest, 4); if (result){ return result; } userdest += 4; } /* Warp to user mode. *///.........这里部分代码省略.........
开发者ID:MagicZou,项目名称:petrel-os,代码行数:101,
示例26: board_initvoid board_init (void){ bd_t *bd; init_fnc_t **init_fnc_ptr; gd = (gd_t *) (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET); bd = (bd_t *) (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET / - GENERATED_BD_INFO_SIZE); char *s;#if defined(CONFIG_CMD_FLASH) ulong flash_size = 0;#endif asm ("nop"); /* FIXME gd is not initialize - wait */ memset ((void *)gd, 0, GENERATED_GBL_DATA_SIZE); memset ((void *)bd, 0, GENERATED_BD_INFO_SIZE); gd->bd = bd; gd->baudrate = CONFIG_BAUDRATE; bd->bi_baudrate = CONFIG_BAUDRATE; bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ /* * The Malloc area is immediately below the monitor copy in DRAM * aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off * as our monitory code is run from SDRAM */ mem_malloc_init (CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN); for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { WATCHDOG_RESET (); if ((*init_fnc_ptr) () != 0) { hang (); } } puts ("SDRAM :/n"); printf ("/t/tIcache:%s/n", icache_status() ? "ON" : "OFF"); printf ("/t/tDcache:%s/n", dcache_status() ? "ON" : "OFF"); printf ("/tU-Boot Start:0x%08x/n", CONFIG_SYS_TEXT_BASE);#if defined(CONFIG_CMD_FLASH) puts ("FLASH: "); bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; if (0 < (flash_size = flash_init ())) { bd->bi_flashsize = flash_size; bd->bi_flashoffset = CONFIG_SYS_FLASH_BASE + flash_size;# ifdef CONFIG_SYS_FLASH_CHECKSUM print_size (flash_size, ""); /* * Compute and print flash CRC if flashchecksum is set to 'y' * * NOTE: Maybe we should add some WATCHDOG_RESET()? XXX */ s = getenv ("flashchecksum"); if (s && (*s == 'y')) { printf (" CRC: %08X", crc32 (0, (const unsigned char *) CONFIG_SYS_FLASH_BASE, flash_size) ); } putc ('/n');# else /* !CONFIG_SYS_FLASH_CHECKSUM */ print_size (flash_size, "/n");# endif /* CONFIG_SYS_FLASH_CHECKSUM */ } else { puts ("Flash init FAILED"); bd->bi_flashstart = 0; bd->bi_flashsize = 0; bd->bi_flashoffset = 0; }#endif /* relocate environment function pointers etc. */ env_relocate (); /* Initialize stdio devices */ stdio_init (); if ((s = getenv ("loadaddr")) != NULL) { load_addr = simple_strtoul (s, NULL, 16); }#if defined(CONFIG_CMD_NET) /* IP Address */ bd->bi_ip_addr = getenv_IPaddr("ipaddr"); printf("Net: "); eth_initialize(gd->bd); uchar enetaddr[6]; eth_getenv_enetaddr("ethaddr", enetaddr); printf("MAC: %pM/n", enetaddr);#endif /* main_loop */ for (;;) { WATCHDOG_RESET (); main_loop (); }}
开发者ID:jiangjx,项目名称:u-boot,代码行数:99,
示例27: board_init_rvoid board_init_r(gd_t *new_gd, ulong dest_addr){ extern void malloc_bin_reloc (void);#ifndef CONFIG_ENV_IS_NOWHERE extern char * env_name_spec;#endif char *s; bd_t *bd; gd = new_gd; bd = gd->bd; gd->flags |= GD_FLG_RELOC; gd->reloc_off = dest_addr - CONFIG_SYS_MONITOR_BASE; /* Enable the MMU so that we can keep u-boot simple */ mmu_init_r(dest_addr); board_early_init_r(); monitor_flash_len = _edata - _text;#if defined(CONFIG_NEEDS_MANUAL_RELOC) /* * We have to relocate the command table manually */ fixup_cmdtable(&__u_boot_cmd_start, (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start));#endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */ /* there are some other pointer constants we must deal with */#ifndef CONFIG_ENV_IS_NOWHERE env_name_spec += gd->reloc_off;#endif timer_init(); /* The malloc area is right below the monitor image in RAM */ mem_malloc_init(CONFIG_SYS_MONITOR_BASE + gd->reloc_off - CONFIG_SYS_MALLOC_LEN, CONFIG_SYS_MALLOC_LEN); malloc_bin_reloc(); dma_alloc_init(); enable_interrupts(); bd->bi_flashstart = 0; bd->bi_flashsize = 0; bd->bi_flashoffset = 0;#ifndef CONFIG_SYS_NO_FLASH bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; bd->bi_flashsize = flash_init(); bd->bi_flashoffset = (unsigned long)_edata - (unsigned long)_text; if (bd->bi_flashsize) display_flash_config();#endif if (bd->bi_dram[0].size) display_dram_config(); gd->bd->bi_boot_params = malloc(CONFIG_SYS_BOOTPARAMS_LEN); if (!gd->bd->bi_boot_params) puts("WARNING: Cannot allocate space for boot parameters/n"); /* initialize environment */ env_relocate(); bd->bi_ip_addr = getenv_IPaddr ("ipaddr"); stdio_init(); jumptable_init(); console_init_r(); /* Initialize from environment */ load_addr = getenv_ulong("loadaddr", 16, load_addr);#ifdef CONFIG_BITBANGMII bb_miiphy_init();#endif#if defined(CONFIG_CMD_NET) s = getenv("bootfile"); if (s) copy_filename(BootFile, s, sizeof(BootFile)); puts("Net: "); eth_initialize(gd->bd);#endif#ifdef CONFIG_GENERIC_ATMEL_MCI mmc_initialize(gd->bd);#endif for (;;) { main_loop(); }}
开发者ID:FREEWING-JP,项目名称:u-boot,代码行数:95,
示例28: board_initvoid board_init(void){ bd_t *bd; int i; gd = (gd_t *)CONFIG_SYS_GBL_DATA_ADDR; memset((void *)gd, 0, GENERATED_GBL_DATA_SIZE); gd->bd = (bd_t *)(gd+1); /* At end of global data */ gd->baudrate = CONFIG_BAUDRATE; gd->cpu_clk = CONFIG_SYS_CLK_FREQ; bd = gd->bd; bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;#ifndef CONFIG_SYS_NO_FLASH bd->bi_flashstart = CONFIG_SYS_FLASH_BASE;#endif#if defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE) bd->bi_sramstart = CONFIG_SYS_SRAM_BASE; bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;#endif bd->bi_baudrate = CONFIG_BAUDRATE; for (i = 0; i < ARRAY_SIZE(init_sequence); i++) { WATCHDOG_RESET(); if (init_sequence[i]()) hang(); } WATCHDOG_RESET(); /* The Malloc area is immediately below the monitor copy in RAM */ mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);#ifndef CONFIG_SYS_NO_FLASH WATCHDOG_RESET(); bd->bi_flashsize = flash_init();#endif#ifdef CONFIG_CMD_NAND puts("NAND: "); nand_init();#endif#ifdef CONFIG_GENERIC_MMC puts("MMC: "); mmc_initialize(bd);#endif WATCHDOG_RESET(); env_relocate(); WATCHDOG_RESET(); stdio_init(); jumptable_init(); console_init_r(); WATCHDOG_RESET(); interrupt_init();#if defined(CONFIG_BOARD_LATE_INIT) board_late_init();#endif#if defined(CONFIG_CMD_NET) puts("NET: "); eth_initialize(bd);#endif /* main_loop */ for (;;) { WATCHDOG_RESET(); main_loop(); }}
开发者ID:Adrizcorp,项目名称:ARM_SOC_FPGA,代码行数:77,
示例29: board_init_rvoid board_init_r(gd_t *id, ulong dest_addr){ if (id) gd = id; gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */#ifdef CONFIG_SERIAL_MULTI serial_initialize();#endif#ifdef CONFIG_POST post_output_backlog();#endif /* The Malloc area is at the top of simulated DRAM */ mem_malloc_init((ulong)gd->ram_buf + gd->ram_size - TOTAL_MALLOC_LEN, TOTAL_MALLOC_LEN); /* initialize environment */ env_relocate(); /* IP Address */ gd->bd->bi_ip_addr = getenv_IPaddr("ipaddr"); stdio_init(); /* get the devices list going. */ jumptable_init(); console_init_r(); /* fully init console as a device */#if defined(CONFIG_DISPLAY_BOARDINFO_LATE) checkboard();#endif#if defined(CONFIG_ARCH_MISC_INIT) /* miscellaneous arch dependent initialisations */ arch_misc_init();#endif#if defined(CONFIG_MISC_INIT_R) /* miscellaneous platform dependent initialisations */ misc_init_r();#endif /* set up exceptions */ interrupt_init(); /* enable exceptions */ enable_interrupts();#ifdef CONFIG_BOARD_LATE_INIT board_late_init();#endif#ifdef CONFIG_POST post_run(NULL, POST_RAM | post_bootmode_get(0));#endif sandbox_main_loop_init(); /* * For now, run the main loop. Later we might let this be done * in the main program. */ while (1) main_loop(); /* NOTREACHED - no way out of command loop except booting */}
开发者ID:FREEWING-JP,项目名称:u-boot,代码行数:69,
示例30: board_initvoid board_init (void){ bd_t *bd; init_fnc_t **init_fnc_ptr; static gd_t gd_data; static bd_t bd_data; /* Pointer is writable since we allocated a register for it. */ gd = &gd_data; /* compiler optimization barrier needed for GCC >= 3.4 */ __asm__ __volatile__("": : :"memory"); gd->bd = &bd_data; gd->baudrate = CONFIG_BAUDRATE; gd->cpu_clk = CONFIG_SYS_CLK_FREQ; bd = gd->bd; bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;#ifndef CONFIG_SYS_NO_FLASH bd->bi_flashstart = CONFIG_SYS_FLASH_BASE;#endif#if defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE) bd->bi_sramstart= CONFIG_SYS_SRAM_BASE; bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;#endif bd->bi_baudrate = CONFIG_BAUDRATE; for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { WATCHDOG_RESET (); if ((*init_fnc_ptr) () != 0) { hang (); } } WATCHDOG_RESET (); /* The Malloc area is immediately below the monitor copy in RAM */ mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);#ifndef CONFIG_SYS_NO_FLASH WATCHDOG_RESET (); bd->bi_flashsize = flash_init();#endif#ifdef CONFIG_CMD_NAND puts("NAND: "); nand_init();#endif#ifdef CONFIG_GENERIC_MMC puts("MMC: "); mmc_initialize(bd);#endif WATCHDOG_RESET (); env_relocate(); WATCHDOG_RESET (); stdio_init(); jumptable_init(); console_init_r(); WATCHDOG_RESET (); interrupt_init ();#if defined(CONFIG_BOARD_LATE_INIT) board_late_init ();#endif#if defined(CONFIG_CMD_NET) puts ("Net: "); eth_initialize (bd);#endif /* main_loop */ for (;;) { WATCHDOG_RESET (); main_loop (); }}
开发者ID:Adrizcorp,项目名称:ARM_SOC_FPGA,代码行数:81,
注:本文中的stdio_init函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ stdio_serial_init函数代码示例 C++ stderror函数代码示例 |