-
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
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
Najnowsze wątki
- 2025-09-18 pierwszy tel kupiłem za 1250zł
- 2025-09-17 jak się kupuje elektryczny?
- 2025-09-17 Kod zniżkowy w TME do 26.09.2025
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Warszawa => Dyrektor pionu IT <=
- 2025-09-17 Rzeszów => International Freight Forwarder <=
- 2025-09-16 China => Production Coordinator / Representant Product Dev <=
- 2025-09-16 Warszawa => Project Manager (AI and innovation) <=
- 2025-09-15 "Jeden telefon z Waszyngtonu i nasze samoloty nie wystartują" - czyli to co każdy koder wie
- 2025-09-15 UE chce uruchomić SI "Chat Control" na kompach wszystkich euroPejczyków
- 2025-09-15 Sejm odrzucił zakaz idelogii banderyzmu
- 2025-09-15 Nieprawidłowe parkowanie
- 2025-09-15 Poznań => Konsultant SAP HCM <=
- 2025-09-15 Warszawa => Specjalista rekrutacji IT <=