下个学期,我需要写摩托罗拉68K处理器中的基本操作系统作为一门课程实验材料的一部分。
是否有一个基本的硬件设置,与处理器的Linux模拟器的? 所以,我的伙伴,我可以在我们的电脑调试的物理重新启动板之类的东西,而不是更快。
是否有可能测试驱动的开发技术应用于OS开发? 代码将主要装配和C.什么将成为主要的困难想试驾呢? 关于如何做到这一点有什么建议?
下个学期,我需要写摩托罗拉68K处理器中的基本操作系统作为一门课程实验材料的一部分。
是否有一个基本的硬件设置,与处理器的Linux模拟器的? 所以,我的伙伴,我可以在我们的电脑调试的物理重新启动板之类的东西,而不是更快。
是否有可能测试驱动的开发技术应用于OS开发? 代码将主要装配和C.什么将成为主要的困难想试驾呢? 关于如何做到这一点有什么建议?
你当然可以TDD这个项目。 首先分离所有访问与简单的常规通话,如残培()和printf的硬件,那么你就可以提供简单的模拟,从而提供测试输入和输出检查。 然后,您可以使用gcc,MSDEV或Xcode的电脑上写了超过90%的项目。 一旦你得到了一定的信心去耦程序,你需要的硬件很少访问,然后才偶尔检查,当你希望你的嘲笑行事。
保持到C,直到你找到一个特定的瓶颈,然后才求助于汇编。
我建议开发针对经典的Amiga电脑,其中有不同版本的68000处理器的操作系统。 由于在Amiga计算机是一个完整的计算机,是非常有据可查的,我认为这将是一个很好的锻炼。
还有这是非常精确的,可与不同类型的处理器(68000 - 68060)来配置仿真器为它称为阿联酋(和Win-UAE)和其他功能。 通常情况下,你还需要掌握ROM来,但因为你是你自己开发的操作系统,这是没有必要的。
工具,你需要或者是Cygwin的(在Windows下的开发)或Linux计算机。 然后,你将需要交叉编译器。 这既包括C编译器和汇编。 这里是一个模板来创建一个简单的ROM,其改变屏幕的色彩和笔触的电源指示灯。 这将创建一个文件“kick.rom”这UAE然后搜索当前目录。
68000上的指令集可以在下面的链接中找到。 要知道,不同的汇编程序可以使用稍微不同的语法和指令集。
如果你需要演示在实际硬件上的操作系统,也有在Ebay等地销售的现代Amiga的克隆。 搜索“Minimig”。
更新:现在AROS也运行在阿联酋以及物理Amigas。
参考文献:
[UAE]
[了WinUAE]
[Cygwin的]
[交叉编译]
[68000参考]
我建议QEMU的m68k的仿真。
(你在QEMU希望系统模拟器“的Coldfire” - 这是飞思卡尔调用的后继m68k的架构)。
有迹象表明,使用硬件仿真68000个CPU,在C-的一个项目,该Minimig(迷你Amiga系统)项目和Natami(本机的Amiga)项目的几个新项目 - 它们是新的68K兼容的Amiga系统。
C一根,可重新配置的电脑 , Minimig ,开发,原型做: FPGA商场和Natami 。
该Easy68k http://www.easy68k.com模拟器可以帮助你。
在uClinux的项目开始在m68k的板。 他们可能有你需要的工具...