您的位置:首页 > 其它

自己写操作系统MUMUOS之开发环境

2015-10-25 22:20 253 查看
从学习AVR单片机、51单片机、msp430单片机到后来的stm32,再到后来的S3c2440,再到后来的CortexA9,我接触最多的是底层硬件。后来学linux 底层驱动学会了字符驱动、输入子系统、usb驱动对linux里面的驱动框架有了一定的了解,同时也对linux的浩瀚所折服,我试着读有关linux内核方面的书籍,比较好的如《深入理解linux内核》、《unix 环境高级编程》,这些书确实写得很好,但是里面的内容很是晦涩,《深入理解linux内核》侧重讲解内核机制,如内存管理,进程调度等,对于初学linux的人来说接触这个确实是一个陡峭的阶梯,其实在学linux之前我认真地度过ucosii的源码,我自以为对操作系统有了一定的认识,但当我接触linux之后才发现,实时操作系统如一条小河,linux如汪洋大海,我很庆幸自己没有被这个庞然大物所难道,在linux的道路上一直在前进。前面说到硬件,我因为大学专业的原因加上项目的训练,使我一直在底层硬件中游离,所以我学习linux更加侧重于linux驱动,但是对于一个操作系统毕竟驱动只是一部分,更精华的是内核,所以曾经的操作系统梦又在我的脑海中萦绕,我最近看到彭东老师的《深度探索嵌入式操作系统:从零开始设计、架构和开发》,和于渊老师的《一个操作系统的实现》我发现他们在操作系统实践上已经做了很多工作,所以我抱着学习的态度开始了我的操作系统之旅。
其实学习过linux的读者,应该有一种体会就是linux的环境的配置和调试工具影响着你的学习效率,乃至学习兴趣,我曾记得自己用了一个月时间才把linux环境搭建好,能够实现电脑和虚拟机之间通信互相传输文件,安装好交叉编译工具,编译内核,编译uboot。能够实现主机和S3C2440之间的网络连接,将一个裸机程序通过tftp下载到S3C2440。呵呵,多么痛苦的学习经历,经历过这些我深知困扰人学习的不是知识本身的难度,而是初学时的一个方向的把握,和初学时经验的浅薄。所以我把自己学习写操作系统的经历一部分一部分的写在自己博客上,作为自己学习的备忘录,也可以作为他人学习的借鉴。
我看过的关于嵌入式操作系统相关书籍如下:《嵌入式实时操作系统μC/OS-2》(这本书已经出到第三版了,内核也已经支持时间片轮转了)、《深入理解计算机系统》(这本书可以帮助你了解计算机内部的运行机制)、《linux 设备驱动程序》(这本书对linux驱动的讲解相当的经典,只是该书的内核是基于2.6的不过不影响对驱动框架的理解)、《unix环境高级编程》(这本书没有具体实际的操作看内容对于内核函数使用即编程讲解得很好)、《嵌入式linux应用开发》(这本书是韦东山老师写的,当年冲着这本书买了韦老师的视频教程,呵呵打了一个广告,这本书对于嵌入式入门还是很好地)、《深入理解linux内核》(这本书实在是经典知识我目前为止都还是浅尝辄止,实在功力一般不敢轻易尝试)。
开始MUMUOS开发环境介绍:
我原来想将操作系统S3C2440上面去实现,但是我考虑到毕竟我的开发实在电脑上面,S3C2440是另外一个体系,实现过程很麻烦,估计大家都有一个体验就是我们不断在虚拟机和开发板上切换实在很烦人,所以我选择了X86计算机进行开发,后面如果系统已经初具规模可以移植到S3C2440开发板上去。
现在的我的开发环境 win7+bochs+nasm+DD.
开发环境的搭建我主要是参考了这几篇博文


http://blog.csdn.net/duliang_wu/article/details/9633251

http://blog.chinaunix.net/uid-20761674-id-74911.html

http://blog.csdn.net/chdhust/article/details/7474246

http://blog.csdn.net/iefswang/article/details/8455170

这几篇博文介绍的很详细,主要是对于三个软件的路径配置一定要注意,一般我们如果安装完成,路径也是正确的情况下,在cmd命令行能够看到如下图的结果, 还有就是Bochs 的配置文件bochsrc,一方面是这个文件的内容要正确,另一个就是文件里面的路径一定要对,不然打开bochs会出现错误,对于在linux环境的时间我会后面详细的说明。





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MUMUOS操作系统