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

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

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

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

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

保持在C,直到找到一个特定的瓶颈,然后才使用汇编器。

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

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

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

有关68000指令集的参考信息,请参见以下链接。 请注意,不同的汇编程序可能会使用略有不同的语法和指令集。

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

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

参考文献:

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

我建议QEMU进行m68k仿真。

(你想在QEMU中使用的系统仿真器是“Coldfire” – 这就是飞思卡尔称之为m68k架构的inheritance者)。

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

C One,可重构计算机 , Minimig ,在开发中,原型完成: FPGA Arcade和Natami 。

uClinux项目开始于m68k板。 他们可能拥有你需要的工具……

Interesting Posts