下一学期,我需要为Motorola 68K处理器编写基本操作系统,作为课程实验材料的一部分。
是否有使用该处理器的基本硬件设置的Linux模拟器?所以我的合作伙伴和我可以在我们的计算机上更快地调试,而不是在物理上重新启动电路板和东西。
是否有可能将测试驱动的开发技术应用于OS开发?代码主要是汇编和C.尝试试驾这个主要困难是什么?关于如何做的任何建议?
答案 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上运行。
参考文献:
答案 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 computer,Minimig,在开发中,完成原型:FPGA Arcade和Natami。
答案 4 :(得分:3)
Easy68k http://www.easy68k.com模拟器可能会对您有所帮助。
答案 5 :(得分:1)
uClinux project在m68k主板上开始了。他们可能拥有您需要的工具......