下学期,我需要为摩托罗拉 68K 处理器编写一个基本操作系统,作为课程实验室材料的一部分。
是否有带有该处理器的基本硬件设置的 Linux 模拟器?因此,我和我的合作伙伴可以在我们的计算机上更快地进行调试,而不是重新启动电路板和其他东西。
是否可以将测试驱动开发技术应用于操作系统开发?代码将主要是汇编和 C。尝试试驾的主要困难是什么?关于如何做的任何建议?
下学期,我需要为摩托罗拉 68K 处理器编写一个基本操作系统,作为课程实验室材料的一部分。
是否有带有该处理器的基本硬件设置的 Linux 模拟器?因此,我和我的合作伙伴可以在我们的计算机上更快地进行调试,而不是重新启动电路板和其他东西。
是否可以将测试驱动开发技术应用于操作系统开发?代码将主要是汇编和 C。尝试试驾的主要困难是什么?关于如何做的任何建议?
我建议为经典的 Amiga 计算机开发一个操作系统,它有不同版本的 68000 处理器。由于 Amiga 计算机是一台完整的计算机,并且文档非常完善,我认为这将是一个很好的练习。
它有一个名为UAE(和Win-UAE)的模拟器,它非常精确,可以配置不同类型的处理器(68000 - 68060)和其他功能。通常,您还需要为其获取 ROM,但由于您正在自己开发操作系统,因此没有必要这样做。
您需要的工具是 Cygwin(用于在 Windows 下开发)或 Linux 计算机。然后你将需要交叉编译器。这包括 C 编译器和汇编器。这是一个用于创建简单 ROM的模板,它可以更改屏幕颜色并闪烁电源 LED。它将创建一个文件“kick.rom”,然后阿联酋会在当前目录中搜索该文件。
可以在下面的链接中找到有关 68000 指令集的参考。请注意,不同的汇编程序可能使用稍有不同的语法和指令集。
如果您需要在真实硬件上演示操作系统,可以在 Ebay 和其他地方出售现代 Amiga 克隆。搜索“Minimig”。
更新:现在AROS也可以在阿联酋和实体 Amigas 上运行。
参考:
我建议将QEMU用于 m68k 仿真。
(您在 QEMU 中想要的系统仿真器是“Coldfire”——这就是飞思卡尔所说的 m68k 架构的继任者)。
你当然可以 tdd 这个项目。首先通过简单的例程调用(例如 getch() 和 printf)解耦对硬件的所有访问,然后您可以提供简单的模拟来提供测试输入和检查输出。然后,您可以使用 gcc、msdev 或 xcode 在 PC 上编写超过 90% 的项目。一旦您对解耦例程有了一定的信心,您将需要很少访问硬件,然后才偶尔检查您的模拟是否按预期运行。
保持 C 直到找到一个特定的瓶颈,然后才求助于汇编程序。
有几个新项目使用硬件模拟 68000 cpu,C-One 项目、Minimig (Mini Amiga) 项目和 Natami (Native Amiga) 项目——它们是新的 68k 兼容 Amiga 系统。
C 一、可重构计算机Minimig正在开发中,原型已完成:FPGA Arcade和Natami。
Easy68k http://www.easy68k.com模拟器可能会对您有所帮助。
uClinux 项目在m68k 板上启动。他们可能有你需要的工具...