为Motorola 68K处理器编写操作系统。我可以效仿它吗?我可以试驾OS开发吗?

时间:2009-10-12 00:29:12

标签: c tdd operating-system motorola 68000

下一学期,我需要为Motorola 68K处理器编写基本操作系统,作为课程实验材料的一部分。

是否有使用该处理器的基本硬件设置的Linux模拟器?所以我的合作伙伴和我可以在我们的计算机上更快地调试,而不是在物理上重新启动电路板和东西。

是否有可能将测试驱动的开发技术应用于OS开发?代码主要是汇编和C.尝试试驾这个主要困难是什么?关于如何做的任何建议?

6 个答案:

答案 0 :(得分:10)

我建议为经典的Amiga计算机开发一个操作系统,它有68000处理器的不同版本。由于Amiga计算机是一台完整的计算机并且记录非常好,我认为这是一个很好的练习。

有一个名为UAE(和Win-UAE)的仿真器非常精确 可配置不同类型的处理器(68000 - 68060)和其他功能。通常,您还需要获取ROM,但由于您自己开发操作系统,因此没有必要。

您需要的工具是Cygwin(用于在Windows下开发)或Linux计算机。那么你将需要交叉编译器。这包括C编译器和汇编器。 Here is a template用于创建一个简单的ROM,可以改变屏幕颜色并轻弹电源LED。它将创建一个文件'kick.rom',然后UAE将在当前目录中搜索。

68000指令集的参考可以在下面的链接中找到。请注意,不同的汇编程序可能会使用略有不同的语法和指令集。

如果您需要在真实硬件上演示操作系统,可以在Ebay和其他地方销售现代Amiga克隆。搜索“Minimig”。

更新: 如今AROS也在阿联酋和物理Amigas上运行。

参考文献:

[UAE]
[WinUAE]
[Cygwin]
[Cross Compilers]
[68000 reference]

答案 1 :(得分:6)

我建议QEMU进行m68k仿真。

(您在QEMU中想要的系统仿真器是“Coldfire” - 这就是飞思卡尔称之为m68k架构的继承者。)

答案 2 :(得分:5)

你当然可以开展这个项目。首先,通过简单的例程调用将所有对硬件的访问分离,例如, getch()和printf,然后你可以提供简单的模拟,提供测试输入和检查输出。然后,您可以使用gcc,msdev或xcode在PC上编写超过90%的项目。一旦你对解耦例程有了一些信心,你将需要很少的硬件访问权限,然后偶尔检查你的模拟是否按预期运行。

保持C直至找到特定的瓶颈,然后才使用汇编程序。

答案 3 :(得分:3)

有一些新项目使用模拟68000 cpu的硬件,C-One项目,Minimig(Mini Amiga)项目和Natami(Native Amiga)项目 - 它们是新的兼容68k的Amiga系统。

C One, reconfigurable computerMinimig,在开发中,完成原型:FPGA ArcadeNatami

答案 4 :(得分:3)

Easy68k http://www.easy68k.com模拟器可能会对您有所帮助。

答案 5 :(得分:1)

uClinux project在m68k主板上开始了。他们可能拥有您需要的工具......