Re: AT89C52 i pamiec S-RAM(dane/program) - czy konieczny podzial przestrzeni adresowej?



Masz problem? Zapytaj na forum elektroda.pl z bramką pl.misc.elektronika!

Poprzedni Następny
Wiadomoœć
spis treści
From: "=?iso-8859-2?Q?Marcin_Gorczy=F1ski?=" <gormar_at_nospam_priv3.onet.pl>
Subject: Re: AT89C52 i pamiec S-RAM(dane/program) - czy konieczny podzial przestrzeni adresowej?
Date: Sat, 12 Dec 1998 02:02:04 +0100


(...)
Jestem pewny, ze uC AT89S8252 bez problemu radzi sobie z 8kB wlasnego
PEROM'u +56kB(8kB niestety jesli nie wykorzysta sie jej na pamiec danych,
tak ja chce to zrobic, zmarnuje sie) zewnetrznej pamieci programu. W
notach
technicznych poswieconych temu uC z latwoscia odnalazlem fragment mowiacy
o mozliwosci zastosowania takiej konfiguracji. dokumentacja dla AT89C52
o niczym takim nie wspomniano. Oczywiscie nie znaczy to, ze taka mozliwosc
nie istnieje, wlasciwie to jestem o niej przekonany, ale zawsze lepiej sie
w
100% upewnic.

Chyba nie zrozumiałem o co Ci chodzi.

Przepraszam za ta niepotrzebna dygresje(zawierajaca duzo literowek) , ale
mialem na mysli, ze udalo mi sie znalezc odpowiedz na moje watpliwosci,
lecz w aplikacji uC AT89S5282, ale napewno jest on zgodny z AT89C52,
przynajmniej w kwestji pamieci.

Linię A16 SRAMu musisz podpiąć do któregoś portu procesora. Oczywiście
aby korzystać z bankowania kodu programu musisz posiadać linker
bankujący.
Aha, aby "stracić" jak najmniej pamięci SRAm należy zastosować
procesor z małym EPROMem lub dynamicznie zmniejszać jego wielkość
(Dallas).

Oczywiscie nie mam zamiaru tracic (faktycznie) zasobow pamieci, wlasnie po
to caly ten zachod z wykorzystaniem S-RAM(u mnie NV S-RAM) jako pamieci
danych i kodu programu, gdyz mam nadzieje, a wlasciwie jestem pewny, ze uC
nie zabroni mi zapisu do zewnetrznej pamieci pod adresy 0H-1FFFh bo niby
z jakiego powodu i w jaki sposob stwierdzi, ze to pamiec programu.

Masz rację, ale nie końca. Wszystko zależy od tego ile masz programu,
a ile danych. Często danych jest niewiele, a programu dużo i wtedy
stracisz dla programu to co jest "przykryte" pamięcią wew.

Tak masz 100% racje. Ja jeszcze nie skonczylem pisac programu i dokladnie
nie wiem ile pamieci danych wykorzystam, a juz twierdze, ze nie
zmarnuje ani bajta pamieci, a to jest niemoliwe.

A co do bankowania to niestety jestem skazany na samodzielne wybieranie
odpowiedniego banku pamieci, gdyz z powodu ograniczonej ilosci wyprowadzen
zdecydowalem sie na wykorzystanie szyny I^2C do ktorej, pomijajac kilku
calakow, podlaczony jest 8-bitowy uklad rozszerzenia szyny danych
(PCF8574),
ktorego jedno z wyprowadzen sluzy wyborowi odpowiedniej strony w pamieci.
Nie sadze, aby istnial linkier mogacy mnie wyreczyc ;).

1. No cóż, moim zdaniem pomysł z wybieraniem adresów za pomocą 8574
jest zupelnie do bani. Za długo to będzie trwało: co najmniej kilkaset
mikrosekund.

Niestety i tu masz racje, ale z takim sposobem wyboru bankow pamieci
musialem sie pogodzic. Nie mam innego wyjscia, gdyz w trakcie wykonynwania
szkicu projektu okazalo sie, ze nie pozostaly zadne wolne wyprowadzenia
poza szyna IIC, na ktorej juz wisza LCD i RTC, i musialem dokonac wyboru:
64kB albo 128kB niestety z powolna zmiana banku :(. Lecz pocieszam sie
tym, iz w zalorzeniach projektu mam iz, kazdy podprogram , bedacy swego
rodzaju caloscia, bedzie znajdowal sie w tym samym bloku pamieci wraz
ze swymi danymi. Zdaje sobie sprawe, ze takie rozwiazanie moze
spowodowac marnotrastwo pamieci ale zato mam 128kB :).
Poza tym wyboru odpowiedniego programu bedzie dokonywal czlowiek
i raczej nie zauwazy opoznienia ( chyba, ze superman ;) ).

2. Nie ma problemu ze zmianą procedury switchbank tak aby zmiana banku
była wykonywana przy pomocy I2C. Moim zdaniem MUSISZ mieć linker
bankujący.

Nie sadzilem, ze taka podmiana jest mozliwa, ale dzieki za informacje,
ale niestety nie posiadam odpowiedniego linkera asemblerowego i brak mi
forsy na zakup takiego. Ale moze znasz jakis freeware?

Pozdrawiam:
/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\
|Marcin Gorczyński <gormar_at_nospam_priv3.onet.pl>|
\::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/
P.S. Niesamowicie dlugo odpowiadalem na ten posting, gdyz wczesniej posypala
mi sie Wingroza 95 :(((( . Jakie szczescie, ze uzywam kompilatora pod DOS
'a :)



--
Serwis RUBIKON - http://rubikon.pl - 020 92 47