我的学习之旅(28) 目录结构调整
来源:互联网 发布:金属杆中性笔知乎 编辑:程序博客网 时间:2024/06/06 04:20
kernel_start()函数增加对trap_init()的调用。
void kernel_start(void)
{
clear_screen(DISP_FG_WHITE + DISP_BG_BLACK);
(void)printk_init();
(void)trap_init();
return ;
}
文件越来越多,没办法了,仿照linux ,先调整文件的目录结构如下:
+boot目录+
--包含 boot.s setup.s build_boot.c build_setup.c Makefile
+include目录+
--包含 要用到的所有头文件包括io.h system.h printk.h stdarg.h
+init目录+
-- 包含 main.c 和start32.s Makefile
+drivers+
-- 保留给接下来的pcnet32 网卡驱动
+schedule+
-- 任务调度用,其他所有的.c文件,有空还要再整理后再按功能分目录.包括:printk.c vsprintf.c
+tools+
-- 工具目录,主要用来打包image,包括:build_image.c
最外层则是Makefile
内核加载后的内存分布:
0~64K start32.s 开始的内核,不包括boot.s和setup.s,此时bios的原生中断都已经不可用,并且通过调用trap_init()初始化成响应函数default_handle()了。
0x10000地址开始处除了0x90200有setup.s其余部分保留bios时的原样内容。
特别是VGA相关的地址:0xb8000开始的内容不能改动,否则打印就挂了。
- 我的学习之旅(28) 目录结构调整
- 飞秋_关于MVC项目目录结构调整的建议
- 网关服务器之结构调整
- 我的学习目录
- 数据库结构调整的进度
- 我的学习之旅(31) schedule和tools目录下的Makefile
- 中国经济结构调整的一个契机
- 我的学习之旅
- 我的gitbub的学习目录
- [Java]我的java之路目录
- 我的python的学习之旅
- 关于网民结构调整的一些思考
- 升级版本的数据库结构调整之后
- 关于前端结构调整的一次实践
- 一个web应用的诞生(7)--结构调整
- 一个web应用的诞生(7)--结构调整
- 一个web应用的诞生(7)--结构调整
- IOS代码重构(一)目录结构调整
- poj1185--炮兵阵地
- 1072: 编辑距离
- Android发送程序代码
- Linux学习之十五、基础正规表示法\延伸正规表示法
- httpclient 上传、下载文件
- 我的学习之旅(28) 目录结构调整
- iPhone网络开发之如何使用NSURLConnection
- DIV+CSS投影效果
- windows删除90天前文件
- UI设计干货:iPhone6和iPhone6 plus的iOS8设计尺寸参考指南
- UITextView及键盘隐藏
- maven中pom.xml详解
- 5款最佳正则表达式编辑调试器
- 如何解包/编辑/打包boot.img文件