-
Data: 2017-02-10 15:55:13
Temat: Re: programowanie i kasowanie dwu kostek flash na jednej magistrali
Od: Pszemol <P...@P...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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 :-))
Nawiasem mówiąc zmiana testu bitu D2 na bit D6 w czasie kasowania pomogla -
nie mam juz błędów o ktorych pisałem wcześniej.
Muszę jeszcze raz się przyjrzeć tym flołczartom z dataszyta :-) i
przypomnieć sobie dlaczego pisząc ten kod uznałem że testowanie D6 będzie
dobre w czasie zapisu flash a powinienem testować D2 w czasie kasowania...
Następne wpisy z tego wątku
- 10.02.17 17:47 Piotr Dmochowski
- 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
- 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
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
- Położyłem dwa telefony obok siebie
Najnowsze wątki
- 2025-04-26 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-04-26 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-04-26 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-04-26 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-04-26 Patrole obywatelskie.
- 2025-04-26 Warszawa => Presales Engineer IT <=
- 2025-04-26 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-04-26 Rudno => IT network administrator <=
- 2025-04-26 Dęblin => Node.js / Fullstack Developer <=
- 2025-04-25 Sprawdzić czy spółka ma sprawy w sądzie
- 2025-04-25 Solarny Palnik Wodorowy
- 2025-04-25 amperomierz w plusie
- 2025-04-25 nie wyłączam silnika
- 2025-04-25 PILNE !! Stara żywność w marketach "Zgodnie z obowiązującym od stycznia 2024 r. prawem przeterminowana, ale nadal zdatna do spożycia żywność, może być sprzedawana przez maksymalnie kolejne 45 dni po dacie na opakowaniu. To legalne tylko wtedy, gdy opakowa
- 2025-04-25 Łódź => Team Lead Data Engineer (Snowflake) <=