Czy można dynamicznie przełączać między wewnętrznym a zewnętrznym ROM-em w C51?

C51 ROM - nietypowe





Poprzedni Następny
Wiadomość
Spis treści
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





Poprzedni Następny
Wiadomość
Spis treści
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.


******************************
******************************
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


Poprzedni Następny
Wiadomość
Spis treści
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"




Poprzedni Następny
Wiadomość
Spis treści
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





Poprzedni Następny
Wiadomość
Spis treści
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