eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaprogramowanie i kasowanie dwu kostek flash na jednej magistraliRe: programowanie i kasowanie dwu kostek flash na jednej magistrali
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september
    .org!.POSTED!not-for-mail
    From: Pszemol <P...@P...com>
    Newsgroups: pl.misc.elektronika
    Subject: Re: programowanie i kasowanie dwu kostek flash na jednej magistrali
    Date: Wed, 8 Feb 2017 13:31:48 -0600
    Organization: A noiseless patient Spider
    Lines: 29
    Message-ID: <o7frjq$qa8$1@dont-email.me>
    References: <o7ddno$b28$1@dont-email.me> <o7f8jr$e99$1@dont-email.me>
    <o7fpd8$1ujp$1@gioia.aioe.org>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    Injection-Info: mx02.eternal-september.org;
    posting-host="086a22bdb5dc3a93f15b154eed0fcbdf";
    logging-data="26952";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1/KrjTaEmNCLfbPCxOBPnOQ"
    User-Agent: NewsTap/5.2.2 (iPhone/iPod Touch)
    Cancel-Lock: sha1:Z2EqdPMtBCfdWBut5HAcB2DdEO8= sha1:ghow6fGXcl3pyJAEYLIkpGvoXDs=
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:712882
    [ ukryj nagłówki ]

    Janusz_k <J...@o...pl> wrote:
    > W dniu 2017-02-08 o 15:07, Pszemol pisze:
    >> while(Status1 = *pStatus, Status2 = *pStatus,
    > --------------------^^^^---------------^^^^
    > Status zapisu sprawdzasz tylko z jednej pamięci, bo skąd kompilator ma
    > wiedzieś który "*pStatus" jest od której paMIĘCI? podstawia dwa razy to
    > samo. Jedna się wyrobi, druga nie i są błędy.

    Zerknij proszę jeszcze raz na deklarację wskaźnika pStatus oraz zmiennych
    Status1 i Status2.
    To są obiekty 32-bitowe a więc obie kostki pamięci odpowiedzialne są za ich
    zapis.

    Pamietaj że jedna kostka pamięci podłączona jest do jednej połowy szyny
    danych (D0..D15) a druga do drugiej połowy (D16..D31). Procesor jest
    ustawiony aby wszystkie cykle robił 32-bitowe z 4-bajtowym "alignem"
    adresow... (jak się to po polsku mówi?)

    Dwa kolejne odczyty tego samego adresu są robione w pętli aby sprawdzić czy
    pamięć jest zajęta.

    Lecę więc po kolei, zakładając że kostki mogą mieć rózne potrzeby czasu na
    zapis/kasowanie: najpierw w pętli jednej, czekam aż jedna kostka skończy
    kasowac testujac bit D2 potem wskakuję w drugą pętle i sprawdzam czy druga
    kostka też skończyła testujac bit 2+16 czyli D18 a na końcu, dla pewności,
    sprawdzam czy skasowana lokacja odczytuje się 0x FFFF FFFF czyli czy obie
    kostki są skasowane. I tu najczęściej się program wywala w debuggerze: test
    pokazuje odczyt np 0x FFFF 0087. Czyli jedna kostka skasowana a druga ma
    stara zawartosc....

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: