2012-03-02 1 views
1

저는 실시간 제어 소프트웨어를 개발하기 위해 델파이를 사용하고 있습니다. 지난 몇 년 동안 마이크로 소프트의 VirtualPC에서 구형 Windows 설치를 실행 한 적이 있었고 '순수한 소프트웨어 개발'을 위해 잘 작동합니다. 외부 세계). 이러한 도구는 네트워크 연결로 작동 할 수 있지만 병렬 포트를 통해 I/O를 수행하는 소프트웨어는 장치 드라이버를 통해 유지 관리해야합니다. 우리는 또한 USB I/O를 사용합니다. 과거에는 새로운 운영 체제를 설치하는 데 시간이 걸리고 (제 경우) 개발 지원을 제공하기 위해 델파이와 수많은 라이브러리와 구성 요소를 설치하기 때문에 Microsoft의 가상 도구를 좋아했습니다. 이러한 상황에서 나는 저수준 I/O 포트에 대한 액세스가 부족하여 너무 신경 쓰지 않았습니다.레지스터 수준에서 하드웨어 포트 (COM, LPT 등)를 공유하는 데 가장 적합한 가상 시스템 소프트웨어는 무엇입니까?

나는 내 게임을하고 싶습니다. 좋은 가상화 도구에 대해 돈을 내고 싶습니다. 외부 세계에 액세스 할 수 있다면 가능합니다. 즉, 내 컴퓨터의 병렬 액세스를 허용하도록 구성 할 수 있습니다. 포트 및 COM 포트가 기본적으로 실행되는 것과 같은 방식으로 실행됩니다. 이 액세스는 레지스터 용어로 병렬 포트를 노출 할 수 있어야합니다. 예를 들어, 주소 $ 03f8의 포트를 '보고'(적절한 커널 액세스를 통해) Windows 7 64로 해당 레지스터의 I/O 작업을 지원할 수 있어야합니다 비트 설치가 할 수 있습니다.

지금까지 수많은 가상화 솔루션이 있지만 꽤 낮은 수준에서 각각의 기능을 수행하는 것은 매우 어렵다는 것을 알았습니다. 누구든지이 분야에서 어떤 경험이나 지식을 가지고 있습니까?

+2

Windows는 진정한 실시간 OS가 아닙니다. 귀하의 경우에는 아마도 충분하지만 중요한 실시간 작업에는 더 나은 대안이 있습니다. 이러한 대안에 대해서는 [rtos-32] (http://www.on-time.com/rtos-32.htm)을 참조하십시오. Delphi는 컴파일러로 지원되며 가상화 가능성도 있습니다. 하지만 저렴하지는 않습니다. –

+0

실제로 VM 내에서 사용하기위한 것은 아니지만 "네트워크 COM 포트 공유"소프트웨어 프로그램도 이러한 목적에 효과적입니다. 귀하의 경우에는 VMWare Workstation을 사용할 수 있지만 두 개의 개별 PC에서 네트워크를 통해 공유 COM 포트에 액세스해야 할 때 네트워크 공유를 수행하는 Virtual Com Port 소프트웨어를 구입했습니다. http://www.advancedvirtualcomport.com/ –

답변

5

VMware 제품이 가장 적합합니다. 가상 직렬 포트 및 병렬 포트를 추가하여 호스트의 물리적 포트 또는 파일 또는 명명 된 파이프로 전달할 수 있습니다.

호스트 시스템에 연결된 모든 USB 장치에 연결할 수도 있습니다.

이것은 VMware Workstation과 작동하지만 무료 VMware player도 사용할 수 있습니다.

+0

Chris에게 감사드립니다.이 실제 포트에 대한 매핑은 레지스터 레벨에 있습니까? - 단순히 'LPT1'또는 'COM3'이 아닌가? –

+0

가상 컴퓨터의 운영 체제 내부에서 낮은 수준의 액세스 (예 : 주소 사용)를 사용하여 포트에 액세스 할 수 있습니다. 가상 포트를 추가하면 물리적 호스트에 대한 매핑은 예를 들어 다음과 같이 수행됩니다. 'COM3'. 그러나 이것은 VM에서 실행중인 응용 프로그램에 대해 투명해야합니다. – Chris

+1

병렬 포트 (LPT1), JTAG wiggler를 사용합니다. 저는 XP VM에 설치된 Rowley Crossworks 개발 환경을 사용합니다 (실제로는 오래된 Dell Optiplex의 완전한 복제본). VM은 Vista 64 호스트의 VMware 워크 스테이션에서 실행됩니다. 병렬 포트 디버깅은 여전히 ​​잘 작동합니다! –

관련 문제