-
Data: 2017-02-08 20:31:48
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 ]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....
Następne wpisy z tego wątku
- 08.02.17 21:33 Pszemol
- 09.02.17 12:13 Pszemol
- 09.02.17 12:58 Adam Górski
- 09.02.17 14:17 Piotrek
- 09.02.17 14:32 Adam Górski
- 09.02.17 14:56 Piotrek
- 09.02.17 17:03 Piotr Dmochowski
- 10.02.17 10:53 J.F.
- 10.02.17 15:55 Pszemol
- 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.
Najnowsze wątki z tej grupy
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
Najnowsze wątki
- 2025-04-07 Nagie zdjęcia nauczycieli
- 2025-04-07 czy też tak macie w swoich Wrocławiach?
- 2025-04-07 Czeladź => Specjalista ds. public relations <=
- 2025-04-07 Adam Bodnar przekracza kolejną granicę absurdu. Powoli się szykuje do nowej fuchy w TSUE
- 2025-04-07 Warszawa => Sales Executive / KAM <=
- 2025-04-07 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-04-07 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-04-07 Warszawa => Software Solution Architect <=
- 2025-04-07 China-Kraków => Key Account Manager IT <=
- 2025-04-07 Kraków => NMS System Administrator <=
- 2025-04-07 szczepionkowo
- 2025-04-07 Warszawa => Manual tester <=
- 2025-04-07 Warszawa => Administrator Systemów OSS <=
- 2025-04-07 Warszawa => Node.js / Fullstack Developer <=
- 2025-04-07 Położyłem dwa telefony obok siebie