c - 为摩托罗拉 68K 处理器编写操作系统。我可以效仿吗?我可以试驾操作系统开发吗?

标签 c tdd operating-system motorola 68000

下学期,我需要为摩托罗拉 68K 处理器编写一个基本操作系统,作为类(class)实验 Material 的一部分。

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

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

最佳答案

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

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

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

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

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

更新: 如今AROS也可以在 UAE 和物理 Amigas 上运行。

引用:

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

关于c - 为摩托罗拉 68K 处理器编写操作系统。我可以效仿吗?我可以试驾操作系统开发吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1552200/

相关文章:

c - 如何打印出 8 字节变量的所有 8 字节以及如何对它们应用 `&&` 位运算符?

ios - 使用 TDD 在 Swift 中进行性能测试

android - 执行 os 命令 python 后获取打印值

operating-system - 线程的互函数

ruby - 执行脚本的访问权限

c - 如何一次打印结构中的所有值?

c - sscanf 是否需要以空字符结尾的字符串作为输入?

iphone - 将 std::complex 与 iPhone 的 vDSP 函数一起使用

javascript - Jasmine 无法触发点击事件

tdd - mock 一个实体?