-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!peer02.am4!peer.am4.highwinds-media.com!peer04.fr7!futter-mich.highwinds-
media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostr
ada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: programowanie i kasowanie dwu kostek flash na jednej magistrali
Newsgroups: pl.misc.elektronika
References: <o7ddno$b28$1@dont-email.me> <o7f8jr$e99$1@dont-email.me>
<o7fpd8$1ujp$1@gioia.aioe.org> <o7frjq$qa8$1@dont-email.me>
<589c92d3$0$15206$65785112@news.neostrada.pl>
<o7kk56$uoi$1@dont-email.me>
From: Piotr Dmochowski <i...@p...onet.pl>
Date: Fri, 10 Feb 2017 17:47:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101
Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <o7kk56$uoi$1@dont-email.me>
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Antivirus: Avast (VPS 170210-1, 2017-02-10), Outbound message
X-Antivirus-Status: Clean
Lines: 59
Message-ID: <589deeb4$0$647$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 31-179-111-125.dynamic.chello.pl
X-Trace: 1486745268 unt-rea-b-01.news.neostrada.pl 647 31.179.111.125:56040
X-Complaints-To: a...@n...neostrada.pl
X-Received-Body-CRC: 2560541018
X-Received-Bytes: 4235
Xref: news-archive.icm.edu.pl pl.misc.elektronika:712962
[ ukryj nagłówki ]W dniu 2017-02-10 o 15:55, Pszemol pisze:
> Piotr Dmochowski <i...@p...onet.pl> wrote:
>> W dniu 2017-02-08 o 20:31, Pszemol pisze:
>>>
>>> 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.
>>>
>>
>> while(Status1 = *pStatus, Status2 = *pStatus, (Status1 ^ Status2) & (1
>> << 2))
>> Przepraszam że zawracam głowę, ale jaki jest sens robienia XOR na
>> zmiennych pobierających wartość z tego samego adresu?
>> Tam (praktycznie) zawsze będzie false, chyba że procesor akurat trafi na
>> zmianę statusu drugiej kostki między jednym a drugim odczytem *pStatus,
>> ale z takim szczęściem to lepiej kupony wypełniać niż babrać się w kodzie ;)
>>
>
> Piotrze, świetne pytanie.
> Bo to jest ciekawy fragment procesu kasowania pamieci flash i zapisu do
> niej.
>
> Taka pamięć ma wewnątrz sterownik ktory kontroluje te procesy niejako z
> wewnątrz kostki. Obsługujesz go przez wspólną magistralę danych i adresów -
> scalak pracuje w dwu trybach: odczyt danych (wtedy działa jak klasyczny
> ROM) oraz kasowanie/zapis: wtedy uzyskujesz dostep do wewnetrznego
> sterownika umówioną sekwencję bajtôw w roli "sezamie otwórz się!" I wtedy
> możesz wydawać sterownikowi polecenia kasowania/zapisu konkretnych
> lokalizacji pamięci... A sterownik informuje Cie o postepie operacji
> kasowania i o błedach ustawiajac stan bitow szyny danych. Miedzy innymi
> zmienia on stan bitu D6 gdy operacja jest wciaz w toku. Stad w kodzie dwa
> kolejne odczyty i stad użycie sugestii "volatile" do kompilatora aby tych
> dwu odczytów nie "zoptymalizowal" myslac ze są bez sensu, tak jak Ty
> pomyślałes :-))
Widziałem deklarację z volatile, więc wiem że powinny być 2 odczyty.
Zastanawia mnie jaki jest sens odczytania danych z jednego adresu i
zrobienie na nich XORa. Jeżeli między jednym a drugim odczytem nie
będzie zmiany to wynik będzie zerowy i program nie wejdzie do pętli -
takie jest moje rozumowanie. Może w praktyce jakoś to działa, ale
zastanawiam się jaki jest margines błędu w takim rozwiązaniu.
Jak najbardziej rozumiem pobranie jednego statusu i sprawdzenie D6, bez
XOR to nie pójdzie?
Ja bym dał w pętli odczyt statusu i sprawdzenie D6. Wyjście z pętli
jeżeli D6 ma odpowiednią wartość lub liczba sprawdzeń przekroczyła np.
100 (i sygnalizacja błędu przekroczonego czasu trwania operacji).
Chyba że czegoś nie ogarniam i ten odczyt z pamięci ma jakieś dodatkowe
skutki i może spowodować zmianę odczytanej wartości, ale bez takiej
wiedzy nie do końca mi się to składa w całość.
Tak przy okazji pokazywania kodu - myślę że nawet po jednym zdaniu
komentarza przed kawałkiem kodu byłoby dobra zachętą do analizowania
przez grupowiczów, a i koledzy w pracy pewnie tez docenią jak będą
chcieli coś pozmieniać :)
--
Pozdrawiam
Piotrek
Następne wpisy z tego wątku
- 10.02.17 17:54 J.F.
- 10.02.17 19:43 Piotr Dmochowski
- 10.02.17 20:05 J.F.
- 10.02.17 20:19 Piotr Dmochowski
- 10.02.17 20:28 J.F.
- 10.02.17 21:06 Pszemol
- 10.02.17 21:06 Pszemol
- 10.02.17 21:19 Pszemol
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
Najnowsze wątki
- 2025-05-12 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-12 Warszawa => Junior Rekruter <=
- 2025-05-12 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-12 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-05-12 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-05-12 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-05-12 Warszawa => Spedytor Międzynarodowy <=
- 2025-05-12 kolizja na chodniku nie ma odszkodowania
- 2025-05-12 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-05-12 presja na aplikacje i blik
- 2025-05-12 czy znacie bardziej popierdolone sieci niż polskie?
- 2025-05-12 czy znacie bardziej popierdolone sieci niż polskie?
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 obca rejestracja budzi agresję