Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Stworzyć komputer na AVRku.....

01 Maj 2005 22:15 1590 12
  • Poziom 15  
    Witam!
    Ostatnio zaciekawiło mnie, co zrobić, i czy to byłobby trudne, aby odpalić normalnego DOSa 6.22 na AVRku. DOS korzysta z BIOSa, i jedyną rzecz jaką chyba trzebaby zrobić, to napisać właśnie tego BIOSa. Komputerek nie musiałby być od razu wypasiony (zamiast k.graf i monitora - wyświetlacz LCD, bez jakichśtam złącz rozszerzeń itp. bez FDD...). Nie wiem dlaczego, zawsze jak o tym moim "projekcie" pomyśle, to zawsze mi się wydaje że trudne to to nie musi być. A jakie jest wasze zdanie?
  • Specjalista PLD
    A slyszales kiedys o jezyku maszynowym ?
    Rozne procesory niestety uzywaja roznych kodow maszynowych.
    O ile mi wiadomo, to AVRy sa dosc slabo kompatybilne z kodem maszynowym procesora 8086. Bios sluzy jedynie do obslugi urzadzen We/Wy, a programy wykonywalne sa niestety w jezyku maszynowym. Nie sadze natomiast by napisanie symulatora 8086 cz 8088 na AVRze mialo jakikolwiek sens praktyczny. Kiedys napisalem taki symulator pod MC68010, ale mimo, ze dzialalo, to nie biegalo.
    Zapoznaj sie z zagadnieniem troche dokladniej, to nie bedziesz mial takich "cudownych" pomyslow.
    Pozdrawiam, yego
  • Poziom 24  
    Właśnie, kod maszynowy jest całkiem inny, a symulator to więcej kłopotów niż to warte.

    Lepiej zbudować komputer całkiem niekompatybilny. Było przecież wiele świetnych maszyn przed erą PC, i to znacznie wolniejszych od obecnych AVR.

    Przenoszenie czegokolwiek spod 8086+ do AVR a nawet do 8031+ to całkiem nieopłacalne. Łatwiej byłoby napisać "podróbkę" DOSa już bezpośrednio pod kątem AVR. To rzeczywście nie byłoby aż takie trudne...

    http://www.micromade.com.pl/dsm51s.htm
  • Poziom 14  
    Witam

    looknij w kody jakiegos RTOS np EtherNut ewentualnie avr-dos (mcselec)
    rozwiazanie napewno duzo bardziej efektywne, a przynajmniej jest ladnie rozpisane

    pozdr.
  • Poziom 15  
    dzięki za odpowiedzi!
    Hm,mm, wydawało mi się że AVRy mają kompatybilny kod maszynowy z 8086... A tu słysze że nie...
    No cóż, zapewne zrezygnuje z pomysłu, albo napisze od nowa system...
  • Poziom 36  
    NeoX napisał:
    No cóż, zapewne zrezygnuje z pomysłu, albo napisze od nowa system...


    Lepiej to drugie. W ATMegach masz możliwość pisania w pamięci programu, gdyby Ci zabrakło pamięci masowej możesz dołączyć Flash Data, a przy większych potrzebach karty pamięci. Na łączu SPI możesz dołączyć np atmega8515 z dużym RAMem, można napisać naprawdę super system RT do układu wieloprocesorowego.

    Sam bym się tym pobawił, gdybym miał więcej czasu.
  • VIP Zasłużony dla elektroda
    marek_Łódź napisał:
    Lepiej to drugie. W ATMegach masz możliwość pisania w pamięci programu, gdyby Ci zabrakło pamięci masowej możesz dołączyć Flash Data, a przy większych potrzebach karty pamięci. Na łączu SPI możesz dołączyć np atmega8515 z dużym RAMem, można napisać naprawdę super system RT do układu wieloprocesorowego.
    Wszystko OK, tylko nie zapominajmy o tym, ze AVR pracują tylko z wewnętrzną pamięcią programu, dlatego mozna dać przy dużym rozbudowaniu systemu coś byczego np. ATmega2560/1.
  • Poziom 36  
    Light'­­­­I napisał:
    Wszystko OK, tylko nie zapominajmy o tym, ze AVR pracują tylko z wewnętrzną pamięcią programu, dlatego mozna dać przy dużym rozbudowaniu systemu coś byczego np. ATmega2560/1.


    Oczywiście funkcje krytyczne czasowo muszą być dostępne na zawołanie w kodzie (z ewentualną możliwością dynamicznej rekonfiguracji powiedzmy jądra). Całą resztę można zrealizować metodą kodu pośredniego ciągniętego przez SPI z dużych zewnętrznych pamięci Flash lub SRAM. Nie przyglądałem się z bliska implementacji JAVA, niemniej z tego co widziałem jest ona zrealizowana właśnie metodą kodu pośredniego. Przy dobrym rozplanowaniu jądra tego typu podejście wcale nie musi spowodować dużych strat w prędkości.
    Nikt nie mówi, że ten system ma dawać ogniem spod opon. Ważne, żeby działał i był niezawodny.

    Przypominam, że ms dos w wersji pierwotnej mieścił się bodajże na dwóch dyskietkach po 360 K (chyba, że mam totalną sklerozę), z czego znaczna część to były programy ładowane na żądanie, natomiast BIOS w przypadku systemu rozproszonego na mikroprocesorkach powinien być również rozproszony (gdybym kiedyś pisał taki system dla AVRów, to bazą całości uczyniłbym SPI i na tym nabudowywałbym resztę).

    Swego czasu moi dwaj starsi koledzy realizowali jako dyplom na PŁ język symulacji układów dynamicznych bodajże na odrze 1013, gdzie mieli chyba coś koło 1kilosłowa RAMu z możliwością korzystania z pamięci bębnowej (kilka, czy kilkanaście kilobajtów). Język zrealizowali i był wykorzystywany w pracach badawczych i dydaktyce. Przypominam też, że HISOFT PASCAL na ZX SPECTRUM mieścił się razem z edytorem w coś koło 20KB pamięci. Jesteśmy przyzwyczajeni do potężnych w stosunku do mikrokontrolerów zasobów nawet w zwykłym PC, które często są marnotrawione albo zapełniane śmieciem.
  • Poziom 15  
    Hmm, ciekawy ten AVR-DOS... Musze się mu przyjrzeć "z bliska". A już ktoś moze próbował to stosowac?
  • Poziom 32  
    Widzę temat na czasie. Patrz numer 05/2005 EP
  • Poziom 15  
    Skąd ty masz takie dojścia, że masz już numer 5 EP??? Ja jestem prenumeratorem, i jeszcze nie mam, ale także na stronie EP widnieje stary numer....
  • Poziom 28  
    Wystarczy zajrzec do kiosku ;) Ja tez od 3 dni mam numer 05/05. Wlasnie tak naciskaja na te prenumerate robia promocje mowia ze to takie swietne ale gazeta dociera w kiepskim stanie z ponad tygodniowym opoznieniem jezeli wogole ;)
    Pozdro
    Dexter