Example #1
0
int openbios(void)
{
#ifdef CONFIG_DEBUG_CONSOLE
#ifdef CONFIG_DEBUG_CONSOLE_SERIAL
	uart_init(CONFIG_SERIAL_PORT, CONFIG_SERIAL_SPEED);
#endif
	/* Clear the screen.  */
	cls();
#endif

        collect_sys_info(&sys_info);

        dict = (unsigned char *)sys_info.dict_start;
        dicthead = (cell)sys_info.dict_end;
        last = sys_info.dict_last;
        dictlimit = sys_info.dict_limit;

	forth_init();

	relocate(&sys_info);

#ifdef CONFIG_DEBUG_CONSOLE_VGA
	video_init();
#endif
#ifdef CONFIG_DEBUG_BOOT
	printk("forth started.\n");
	printk("initializing memory...");
#endif

	init_memory();

#ifdef CONFIG_DEBUG_BOOT
	printk("done\n");
#endif

	PUSH_xt( bind_noname_func(arch_init) );
	fword("PREPOST-initializer");

	PC = (ucell)findword("initialize-of");

	if (!PC) {
		printk("panic: no dictionary entry point.\n");
		return -1;
	}
#ifdef CONFIG_DEBUG_DICTIONARY
	printk("done (%d bytes).\n", dicthead);
	printk("Jumping to dictionary...\n");
#endif

	enterforth((xt_t)PC);

	return 0;
}
Example #2
0
int main(void)
{
//    char *s = NULL;
//    char *sp = NULL;
//    char *result_values = NULL;
    char *tmp = NULL;
//    char val[1024] = "::cp:::co";
//    result_values = (char *)calloc(1024, sizeof(char));
//    s = (char *)calloc(40, sizeof(char));
//    sp = (char *)calloc(20, sizeof(char));
//    memncpy(s, val, 0, strlen(val));
//   printf("\nresult:\t%s\n", s);
//    split(sp, s, ':', 1);
//    printf("\nsplit result:%s\n", sp);
//    fetch_value(sp, s);
//    printf("result:%s\n",  sp);
//    simple_va_fun("chengfei", 1, 2, 5.2356);
//    fetch_vaules_from_file(result_values, "/proc/cpuinfo", 4, "model name", "cache size", "physical id", "vendor_id");
//    printf("fetch:%s\n", result_values);
    tmp  = collect_sys_info();
    free(tmp);
    return 0;
}