2009-10-12 2 views
10

다음 학기에 코스 랩 자료의 일부로 Motorola 68K 프로세서 용 기본 운영체제를 작성해야합니다.Motorola 68K 프로세서 용 OS 작성. 그것을 에뮬레이션 할 수 있습니까? OS 개발을 테스트 할 수 있습니까?

해당 프로세서의 기본 하드웨어 설정에 대한 Linux 에뮬레이터가 있습니까? 그래서 파트너와 나는 보드와 물건을 물리적으로 다시 시작하는 대신 컴퓨터에서 더 빨리 디버깅 할 수 있습니다.

테스트 기반 개발 기술을 OS 개발에 적용 할 수 있습니까? 코드는 대부분 어셈블리와 C가 될 것입니다. 이것을 시험 할 때 가장 큰 어려움은 무엇입니까? 그것을하는 방법에 대한 조언?

답변

5

당신은 분명히이 프로젝트를 할 수 있습니다. 먼저 간단한 루틴 호출을 사용하여 하드웨어에 대한 모든 액세스를 분리합니다. getch() 및 printf를 사용하면 테스트 입력 및 체크 출력을 제공하는 간단한 모의 객체를 제공 할 수 있습니다. 그런 다음 gcc, msdev 또는 xcode를 사용하여 PC에서 프로젝트의 90 % 이상을 작성할 수 있습니다. 디커플링 루틴에 대한 확신을 갖게되면 하드웨어에 대한 액세스가 거의 필요하지 않으며 가끔씩 모의 동작이 예상대로 작동하는지 때때로 확인하십시오.

특정 병 목을 찾을 때까지 C를 유지하고 어셈블러에만 의지하십시오.

+1

나는 마지막 문장에 동의하지 않습니다. OS를 작성하는 경우 C에서 할 수없는 많은 일이있다. 최소한 asm을 유지하는 것이 좋으며, 필요한 asm을 C 코드에서 인라인 어셈블리로 수행하는 것이 좋다. 그러나 당신은 여전히 ​​어셈블리가 아닌 파일이 필요할 것입니다. 엔트리를 살펴 보자. 리눅스의 예를 들어 보자. 인라인 asm과 같은 종류의 물건은 의미가 없다. – asveikau

+2

'getch'와'printf'는 O/S 레벨 함수가 호출 할 때 아무런 의미가 없습니다. MS-DOS를 다시 작성하지 않는 한 ... – Alnitak

6

m68k 에뮬레이션에 대해 QEMU을 제안합니다.

(QEMU에서 원하는 시스템 에뮬레이터는 "Coldfire"입니다. 이것이 Freescale이 m68k 아키텍처의 후속 모델이라고 부릅니다).

+0

QMEU 사이트를 보면 M68K에 대한 지원이 표시되지 않습니다. PowerPC (M68K의 자손)는 PearPC를 제안합니다. PearPC는 활성화되지 않은 것으로 보입니다 (마지막 업데이트는 2005 년 9 월으로 보입니다). –

+0

그런데 QEMU를 언급 한 M68K 테스트에 대한 외부 사이트를 찾았습니다. http://gwenole.beauchesne.info/en/blog/2007/07/08/m68k_emulator_testsuite –

+0

Jonathan : "Coldfire"라고 불리며 m68k의 후계자, 여기를보십시오 : http://www.qemu.org/qemu-doc.html#SEC66 – caf

1

uClinux project은 m68k 보드에서 시작되었습니다. 그들은 당신이 필요로하는 도구를 가지고 있습니다 ...

9

다른 버전의 68000 프로세서를 사용하는 고전적인 아미가 (Amiga) 컴퓨터 용 운영 체제를 개발하는 것이 좋습니다. Amiga 컴퓨터는 완전한 컴퓨터이고 매우 잘 문서화되어 있기 때문에 좋은 연습이 될 것이라고 생각했습니다.

매우 정확한 UAE (및 Win-UAE)라는 에뮬레이터가 있으며 은 다양한 종류의 프로세서 (68000 - 68060) 및 기타 기능으로 구성 할 수 있습니다. 일반적으로 ROM을 구입해야하지만 운영 체제를 직접 개발하고 있으므로 필요하지 않습니다.

도구는 Cygwin (Windows에서 개발 용) 또는 Linux 컴퓨터 중 하나입니다. 그런 다음 크로스 컴파일러가 필요합니다. 여기에는 C 컴파일러와 어셈블러가 모두 포함됩니다. Here is a template은 화면 색상을 변경하고 전원 LED를 훑어 보는 간단한 ROM을 작성합니다. UAE가 현재 디렉토리에서 검색하는 'kick.rom'파일을 만듭니다.

68000 명령어 세트에 대한 참조는 아래 링크에서 찾을 수 있습니다. 다른 어셈블러 프로그램에서는 약간 다른 구문과 명령어 세트를 사용할 수 있습니다.

실제 하드웨어에서 운영 체제를 시연해야하는 경우 Ebay 및 기타 장소에서 판매되는 최신 Amiga 클론이 있습니다. "Minimig"를 검색하십시오.

업데이트 : 요즘은 AROS도 UAE와 물리 아미가에서 실행됩니다.

참고 문헌 :

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

+0

전원 LED를 깜박이는 화면 색상을 변경하기위한 ROM 템플릿이 포함 된 하이퍼 링크는 무엇입니까? – mwcz

+1

http://vmlinux.org/jakov/jumpstart/ @mwcz에 "여기 템플릿이 있습니다"링크가 추가되었습니다. –

3

하드웨어 시뮬레이션 68000 개 CPU를 사용하는 몇 가지 새로운 프로젝트가있다,는 C-한 프로젝트의 Minimig (Mini Amiga) 프로젝트와 Natami (Native Amiga) 프로젝트 - 새로운 68k 호환 Amiga 시스템입니다.

C One, reconfigurable computer, Minimig, 개발 중, 프로토 타입 완료 : FPGA ArcadeNatami.

관련 문제