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

StackOverflow https://stackoverflow.com/questions/1552200

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

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

是否可以将测试驱动开发技术应用到操作系统开发中?代码主要是汇编和 C。尝试试驾的主要困难是什么?关于如何做有什么建议吗?

有帮助吗?

解决方案

您当然可以TDD这个项目。首先解耦的所有访问在用简单的常规调用,例如硬件残培()和printf,那么你就可以提供简单的模拟,从而提供测试输入和输出检查。然后,您可以使用gcc,MSDEV或Xcode的电脑上写了超过90%的项目。一旦你得到了一定的信心去耦程序,你需要的硬件很少访问,然后才偶尔检查,当你希望你的嘲笑正在采取行动。

请到C,直到你找到一个特定的瓶颈,然后才求助于汇编。

其他提示

我建议开发用于经典的Amiga计算机,其具有不同版本的68000处理器的操作系统。由于在Amiga计算机是一个完整的计算机,是非常有据可查的,我认为这将是一个很好的锻炼。

有对于它称为UAE(和Win-UAE)的模拟器,这是非常确切的和 和其它功能 - 可以与不同类型的处理器(68060 68000)的配置。通常情况下,你还需要掌握ROM来,但因为你是你自己开发的操作系统,这是没有必要的。

工具,你需要或者是Cygwin的(在Windows下的开发)或Linux计算机。然后,你将需要交叉编译器。这既包括C编译器和汇编。 以下是创建一个简单的ROM,其改变屏幕的色彩和笔触功率LED的模板。它会创建一个文件“kick.rom”,其UAE然后搜索在当前目录中。

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

如果你需要演示在实际硬件上的操作系统,也有在Ebay等地销售的现代Amiga的克隆。搜索 “Minimig”。

更新: 如今 AROS 也UAE运行以及物理Amigas。

参考文献:

[UAE] 结果 [了WinUAE] 结果 [Cygwin的] 结果 [交叉编译] 结果 [68000参考] 结果

我建议 QEMU 获得m68k的仿真。

(你在QEMU希望系统模拟器“的Coldfire” - 这是飞思卡尔调用的后继m68k的架构)。

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

C 一、可重构计算机, 迷你米格, ,在开发中,已完成原型: FPGA 街机奈民.

在Easy68k http://www.easy68k.com 模拟器可以帮助你。

uClinux的项目上的m68k的板启动。他们可能有你需要的工具...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top