📄 main.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 + -