2012-11-14 14 views
7

To pytanie wynika z problemu, który mamy tutaj, i szukamy sposobu, aby go rozwiązać. Mamy naprawdę starą maszynę (z systemem DOS 6.22), która musi komunikować się z aplikacją szeregową napisaną w Javie. Ale ani nie znaleźliśmy biblioteki rs232 opartej na zdarzeniach w C/C++, aby zaimplementować program dla maszyny DOS (jeszcze), ani już skompilowanego programu do wykonania tego zadania. Ale ponieważ mamy już działający program rs232 oparty na zdarzeniu Java, zastanawialiśmy się, czy można go skompilować i zrobić z niego .exe, aby zainstalować go na starym komputerze.Czy można uruchamiać aplikacje java w systemie DOS 6.22?

Byłoby to łatwe wyjście z problemu, jeśli to możliwe, ale jeśli tak nie jest, czy istnieją jakieś biblioteki rs232 do zbudowania programu dla naszego starego komputera? Z góry dziękuję.

+0

Znalazłem stronę internetową, wpisując "port szeregowy DOS 6.22" w Google: http://pl.wikibooks.org/wiki/Serial_Programming/DOS_Programming –

+10

Zastanawiam się, ile dyskietek trzeba zainstalować java na dos :) – irreputable

+0

Nie znaleziono tutaj: http://www.oracle.com/technetwork/java/javase/config-417990.html – PiotrNycz

Odpowiedz

3

Linux gcj jest w stanie kompilować programy java do kodu wykonywalnego, który działa bez maszyny wirtualnej. Możesz więc użyć gcj na maszynie linuksowej, aby dokonać crosscompile i utworzyć .EXE dla DOS. Zobacz http://gcc.gnu.org/java. A jeśli lista platform, które obsługuje, zobacz http://gcc.gnu.org/install/specific.html, DOS będzie siódmym elementem na liście.

To powiedziawszy, nie sądzę, że jesteś biblioteką rs232 opartą na Javie, nawet jeśli reszta programu działa, a będziesz miał wiele innych ograniczeń Java nie będzie łatwo żyć z , podobnie jak słynny limit pamięci wynoszący 640 tys., który można znaleźć w praktyce bliżej 440K w rzeczywistych systemach.

Kolejną komplikacją, którą można znaleźć przy programowaniu opartym na zdarzeniach, jest to, że DOS jest pojedynczym wątkiem. Nie można zatem łatwo korzystać z żadnej formy programowania opartego na zdarzeniach, z wyjątkiem współpracy wielozadaniowej. Nie jest to trudne, ale bądź tego świadomy.

W systemie DOS zasadniczo pisze się sterownik urządzenia szeregowego do komunikacji z portem szeregowym, np. Sterownik systemu operacyjnego, ustawianie rejestrów i inicjowanie transferów danych w taki sam sposób, w jaki mógłby to zrobić sterownik karabinu w systemie Linux. Istnieje wikibook na ten temat, który jest dość pouczający pod adresem http://en.wikibooks.org/wiki/Serial_Programming/DOS_Programming.

Powiązane problemy