Написание ОС для процессора Motorola 68K. Могу ли я подражать этому? И могу ли я протестировать разработку ОС? - PullRequest
10 голосов
/ 12 октября 2009

В следующем семестре мне нужно будет написать основную операционную систему для процессора Motorola 68K в качестве части лабораторного материала курса.

Есть ли эмулятор Linux базовой аппаратной настройки с этим процессором? Таким образом, мои партнеры и я можем быстрее отлаживать на наших компьютерах вместо физического перезапуска платы и прочего.

Можно ли применить методику разработки на основе тестирования к разработке ОС? Код будет в основном ассемблерным и C. Каковы основные трудности при попытке тест-драйва? Любой совет, как это сделать?

Ответы [ 6 ]

10 голосов
/ 26 октября 2009

Я бы порекомендовал разработать операционную систему для классических компьютеров Amiga, которые имели разные версии процессора 68000. Поскольку компьютер Amiga представляет собой полноценный компьютер и очень хорошо документирован, я подумал, что это будет хорошим упражнением.

Для него существует эмулятор, который называется ОАЭ (и Win-ОАЭ), который очень точен и может быть настроен с различными типами процессоров (68000 - 68060) и другими возможностями. Обычно вам также необходимо приобрести для него ПЗУ, но поскольку вы сами разрабатываете операционную систему, в этом нет необходимости.

Инструменты, которые вам понадобятся, это либо Cygwin (для разработки под Windows), либо компьютер с Linux. Тогда вам понадобятся кросс-компиляторы. Это включает в себя как компилятор C, так и ассемблер. Вот шаблон для создания простого ПЗУ, которое меняет цвет экрана и мигает индикатор питания. Он создаст файл «kick.rom», который ОАЭ затем ищет в текущем каталоге.

Ссылку на набор инструкций 68000 можно найти по ссылкам ниже. Помните, что разные программы на ассемблере могут использовать несколько различный синтаксис и набор команд.

Если вам нужно продемонстрировать операционную систему на реальном оборудовании, на Ebay и в других местах продаются современные клоны Amiga. Искать "Minimig".

Обновление: В настоящее время AROS также работает на ОАЭ и физических Амигах.

Refs:

[ОАЭ]
* * Тысяча двадцать-одина [WinUAE] * *
тысяча двадцать-два [Cygwin]
[Кросс-компиляторы]
[68000 ссылка]

6 голосов
/ 12 октября 2009

Я бы предложил QEMU для эмуляции m68k.

(Системный эмулятор, который вам нужен в QEMU - «Coldfire» - это то, что Freescale называет преемником архитектуры m68k).

5 голосов
/ 12 октября 2009

Вы, конечно, можете добавить этот проект. Прежде всего отделите все доступы к оборудованию с помощью простых рутинных вызовов, например, getch () и printf, тогда вы можете предоставить простые макеты, которые обеспечивают тестовый ввод и проверку вывода. Затем вы можете написать более 90% проекта на ПК, используя gcc, msdev или xcode. Как только вы почувствуете некоторую уверенность в процедурах разъединения, вам понадобится очень мало доступа к аппаратному обеспечению, и только после этого вы сможете периодически проверять, что ваши макеты работают так, как вы ожидаете.

Держите C, пока не найдете конкретную горловину бутылки, и только потом прибегайте к ассемблеру.

3 голосов
/ 16 января 2012

Симулятор Easy68k http://www.easy68k.com может вам помочь.

3 голосов
/ 17 марта 2010

Существует несколько новых проектов, использующих аппаратное моделирование 68000 процессоров, проект C-One, проект Minimig (Mini Amiga) и проект Natami (Native Amiga) - это новые 68k-совместимые системы Amiga.

C Один, реконфигурируемый компьютер , Minimig , в разработке, изготовлены прототипы: FPGA Arcade и Natami .

1 голос
/ 12 октября 2009

Проект uClinux запущен на плате m68k. У них могут быть инструменты, которые вам нужны ...

...