⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 自己正在开发的一个ARM9的操作系统。详细信息请访问www.another-prj.com
💻 C
字号:
/* *	ApOS (Another Project software for s3c2410) *	 *	This program is free software; you can redistribute it and/or modify *	it under the terms of the GNU General Public License version 2 as *	published by the Free Software Foundation. *			 *						Copyright caiyuqing * */#include <string.h>#include "../include/s3c2410/lcd.h"#include "../include/s3c2410/timer.h"#include "../include/s3c2410/nand_flash.h"#include "../include/s3c2410/clock.h"#include "../include/s3c2410/cpu.h"#include "../include/s3c2410/dma.h"#include "../include/s3c2410/s3c2410.h"#include "../include/kernel/sched.h"#include "../include/kernel/gui.h"#include "../include/kernel/irq.h"#include "../include/kernel/task.h"extern struct lcd_control_obj 		lcd_control_obj;extern struct io_control_obj 		io_control_obj;extern struct irq_ctrl_object 		irq_ctrl_object;extern struct timer_ctrl_object 	timer_ctrl_object;extern struct touchsrc_ctrl_object 	touchsrc_ctrl_object;extern struct dma_ctrl_object 		dma_ctrl_object;extern struct sdi_control_obj 		sdi_control_obj;extern struct iis_control_obj 		iis_control_obj;extern struct elf_loader_obj 		elf_loader_obj;extern struct memory_ctrl_object 	memory_ctrl_object;extern struct usb_host_ctrl_object 	usb_host_ctrl_object;void device_object_init(){	//lcd_control_obj_init(struct lcd_control_obj* ) define in ../device/lcd.c	lcd_control_obj_init(&lcd_control_obj);	//io_control_obj_init(struct io_control_obj* ) define in ../device/io.c	io_control_obj_init(&io_control_obj);	//irq_ctrl_obj_init(struct irq_ctrl_object* ) define in ../device/io.c	irq_ctrl_obj_init(&irq_ctrl_object);	//timer_ctrl_obj_init(struct timer_ctrl_object* ) define in ../device/timer.c	timer_ctrl_obj_init(&timer_ctrl_object);	//touchscreen_ctrl_obj_init(struct touchsrc_ctrl_object* ) define in ../device/touchscreen.c	touchscreen_ctrl_obj_init(&touchsrc_ctrl_object);	//dma_ctrl_obj_init(struct dma_ctrl_object* ) define in ../device/dma.c	dma_ctrl_obj_init(&dma_ctrl_object);	//sdi_ctrl_obj_init(struct sdi_control_obj* ) define in ../device/sdi.c	sdi_ctrl_obj_init(&sdi_control_obj);	//iis_ctrl_obj_init(struct iis_control_obj* ) define in ../device/iis.c	iis_ctrl_obj_init(&iis_control_obj);	//memory_ctrl_obj_init(struct memory_ctrl_object* ) define in ../device/memory.c	memory_ctrl_obj_init(&memory_ctrl_object);	usb_host_obj_init(&usb_host_ctrl_object);	}void dump_info(){	set_con_font_color(RGB(0,255,255));	printk("ApOS (Another Project software for s3c2410)\n"); 	printk("This program is free software, you can redistribute\n"); 	printk("it and/or modify it under the terms of the GNU \n"); 	printk("General Public License published by the Free Software\n");	printk("Foundation.\n\n");  	printk("				Copyright caiyuqing\n\n\n\n");  	  	set_con_font_color(RGB(255,255,255));  	printk("Hardware information:\n\n");	printk("System clock: %dMHz\n\n\n",get_system_clock());}int main(void){	//初始化所有设备控制对象	device_object_init();	/* 	set_system_clock(unsignd int) define in ../device/clock.c	 *		 *	system clock advance in APOS:	 *					vMPLLCON_202MHz	 *					vMPLLCON_170MHz	 *					vMPLLCON_90MHz	 *					vMPLLCON_50MHz	 */	set_system_clock(vMPLLCON_202MHz);	//io_config() define in ../device/io.c	io_config();	//lcd_on(struct lcd_control_obj* ) define in ../device/lcd.c			lcd_on();	//console_init() define in console.c	console_init();//	dump_info();	//touchsrc_con_init() define in ../device/touch_screen.c.c	touchsrc_con_init();	//irq_enable() define in irq.c	irq_enable();	//init_ram() define in ../mm/memory.c	ram_init();	//init sdi,define in ../device/sdi.c	sdi_init();		//init iis,define in ../device/iis.c	iis_test();		tasks_init();		while(1);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -