Czy można dynamicznie przełączać między wewnętrznym a zewnętrznym ROM-em w C51?
C51 ROM - nietypowe
From: "Piotr C." <piotr_c_at_nospam_interia.pl>
Subject: C51 ROM - nietypowe
Date: Mon, 18 Jun 2001 18:33:09 +0200
Witam!
Mam nastepujace pytanie. W '51 mozna przy pomocy zewn. linii
aktywowac/blokowac wewnetrzny ROM, ktory gdy jest wlaczony, pokrywa fragment
przestrzeni zewnetrznego ROMu. Pytanie jest takie: czy moge w trakcie pracy
zmienic stan na tej linii? Np. procek uruchamia sie z wewnetrznego ROMu, cos
tam zrobi po czym zmienia stan jednej z linii I/O, ktora podlaczylem do
wejscia wyboru ROMu i dalej widzi juz tylko zewnetrzny ROM?
pozdrawiam
From: neo <neo_at_nospam_7bulls.com>
Subject: Re: C51 ROM - nietypowe
Date: Mon, 18 Jun 2001 19:23:17 +0000
Piotr C. wrote:
Witam!
Mam nastepujace pytanie. W '51 mozna przy pomocy zewn. linii
aktywowac/blokowac wewnetrzny ROM, ktory gdy jest wlaczony, pokrywa fragment
przestrzeni zewnetrznego ROMu. Pytanie jest takie: czy moge w trakcie pracy
zmienic stan na tej linii? Np. procek uruchamia sie z wewnetrznego ROMu, cos
tam zrobi po czym zmienia stan jednej z linii I/O, ktora podlaczylem do
wejscia wyboru ROMu i dalej widzi juz tylko zewnetrzny ROM?
pozdrawiam
Oczywiscie jest to mozliwe tylko musisz pamietac ze w momencie
przelaczenia na liniach adresowych pojawi sie adres kolejnej instrukcji
jaka bylaby wykonywana z wewnetrznego ROM'u - jezeli odbedzie sie to w
niewlasciwym momencie to wskaznik instukcji PC moze wskazac taki adres
ze procek pojdzie w "krzaki".
Najlepszym rowiazaniem byloby zastosowanie jakiegos przerzutnika
wyzwalanego przez port ktory jednoczesnie przelacza stan linii i daje
reset.Wtedy 51 startuje z poczatku zewnetrznego (EP)ROMu.
pozdrawiam.
******************************
- Grzegorz Rajtar *
- Software solutions for Linux *
- *
- grzegorz.rajtar_at_nospam_7bulls.com *
- aka *
- neo_at_nospam_7bulls.com *
******************************
Linux registered user # 192139
"I SEE A LOT OF DANGER in business models that
are predicted on some resource that was not
created or enriched by the people who exploit it"
Tim O'Reilly
From: "Marek Lewandowski" <locust_at_nospam_priv4.onet.pl>
Subject: Re: C51 ROM - nietypowe
Date: Mon, 18 Jun 2001 23:31:24 +0200
Użytkownik "neo" <neo_at_nospam_7bulls.com> napisał w wiadomości
news:3B2E5525.7000505_at_nospam_7bulls.com...
Piotr C. wrote:
Witam!
Mam nastepujace pytanie. W '51 mozna przy pomocy zewn. linii
aktywowac/blokowac wewnetrzny ROM, ktory gdy jest wlaczony, pokrywa
fragment
przestrzeni zewnetrznego ROMu. Pytanie jest takie: czy moge w trakcie
pracy
zmienic stan na tej linii? Np. procek uruchamia sie z wewnetrznego ROMu,
cos
tam zrobi po czym zmienia stan jednej z linii I/O, ktora podlaczylem do
wejscia wyboru ROMu i dalej widzi juz tylko zewnetrzny ROM?
Oczywiscie jest to mozliwe tylko musisz pamietac ze w momencie
przelaczenia na liniach adresowych pojawi sie adres kolejnej instrukcji
jaka bylaby wykonywana z wewnetrznego ROM'u - jezeli odbedzie sie to w
niewlasciwym momencie to wskaznik instukcji PC moze wskazac taki adres
ze procek pojdzie w "krzaki".
Oczywiście, że nie. Procek zatrzaskuje stan /EA w momencie resetu, potem
możesz tam nawet sygnał audio podłączyć i i tak nic to nie zmieni.
Najlepszym rowiazaniem byloby zastosowanie jakiegos przerzutnika
wyzwalanego przez port ktory jednoczesnie przelacza stan linii i daje
reset.Wtedy 51 startuje z poczatku zewnetrznego (EP)ROMu.
A to jest jak najbardziej możliwe, tak się m. in. robi emulator sprzętowy
2051 na 8031... ;-)
--
Marek Lewandowski
marek.lewandowski_at_nospam_multicon.pl UIN: 10139051
http://locust.republika.pl
"Linux is like wigwam: No Windows, no Gates, and Apache already inside"
From: "DDX" <digital_at_nospam_awe.pl>
Subject: Re: C51 ROM - nietypowe
Date: Tue, 19 Jun 2001 23:03:02 +0200
To czy jest możliwe przełączenie w trakcie pracy pomiędzy internal
ROM a external zależy od producenta, partii,
typu (wewnętrznej budowy) itd. W niektórych wersjach `51 bankowanie odbywa
się tylko podczas RESET a w innych w dowolnym momencie. W praktyce pozwala
to na odczytanie wewnętrznej pamięci mask-ROM, program startuje z EPROM,
skok do $8000, przełączenie przez linie I/O wejścia ALE i zrzut zawartości.
Ja preferuję uploading po RS`ie. Wyjście ALE musi być podłączone przez
inwerter logiczny z portem I/O (po RESET program musi wystartować z EPROM).
Z mojej praktyki wynika naszczęście, że tylko ok. 30%-%50 procesorów
pochodzących od różnych dostawców daje się zbankować podczas pracy, z tego
żaden ze znanych mi z pamięcią FLASH.
Pozdrawiam,
Robert
From: "Tomasz Gumny" <tgumny_at_nospam_idn.org.pl>
Subject: Re: C51 ROM - nietypowe
Date: Mon, 18 Jun 2001 21:13:50 +0200
Mam nastepujace pytanie. W '51 mozna przy pomocy zewn. linii
aktywowac/blokowac wewnetrzny ROM, ktory gdy jest wlaczony, pokrywa fragment
przestrzeni zewnetrznego ROMu. Pytanie jest takie: czy moge w trakcie pracy
zmienic stan na tej linii? Np. procek uruchamia sie z wewnetrznego ROMu, cos
tam zrobi po czym zmienia stan jednej z linii I/O, ktora podlaczylem do
wejscia wyboru ROMu i dalej widzi juz tylko zewnetrzny ROM?
1. Jesli masz na mysli wejscie \EA, to nic z tego. Stan tej linii jest
sprawdzany tylko w momencie zerowania procesora.
2. Jesli zamierzasz w ten sposob dobrac sie do wewnetrznego ROMu, to zapomnij -
ustawienie bitow zabezpieczajacych blokuje wykonywanie instrukcji z zewnatrz
oraz instrukcje MOVC.
TG