-
Data: 2023-02-22 13:28:28
Temat: Re: C++ ośla łączka
Od: Piotr Gałka <p...@c...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2023-02-19 o 12:29, Marek pisze:
> On Fri, 17 Feb 2023 20:44:12 +0100, Piotr
> Gałka<p...@c...pl> wrote:
>> Moim zdaniem zbyt optymistycznie do tego podchodzisz.
>> Jak flash będzie nie do końca zaprogramowany (bo zniknęło napięcie w
>> trakcie programowania) to może w większości przypadków dobrze się
>> odczytywać ale czasem źle. Taki błąd może być bardzo trudny do
>> znalezienia.
>
> Co to znaczy "nie do końca"? Z flash jest jak z ciążą, nie można być w
> niej trochę. Jeśli crc całości (po wygraniu) się zgadza to nie
> przewiduje się by to jeszcze poprawiać. Jeśli zostało przerwane to
> flashuje się ponownie, ale to chyba oczywista oczywistość.
Ja zakładam, że jeśli programowanie flasha zostanie nagle przerwane to
znaczy że gdzieś tam za mało elektronów mogło zostać wstrzyknięte i
odczyt niektórych bitów może być niepewny (np. większość razy
prawidłowy, ale sporadycznie błędny). Odczyt bitu z flasha na pewnym tam
poziomie jest działaniem analogowym a nie cyfrowym - czy poziom ładunku
jest powyżej czy poniżej pewnego poziomu. Bit nie ma trzeciej wartości
informującej, że może 0 a może 1 aby zaalarmować, że jest niepewny. Jak
sprawdzany poziom jest w pobliżu progu to różne czynniki zewnętrzne mogą
wpływać na to co zostanie za danym razem odczytane.
Dopuszczenie do takiej sytuacji wydaje mi się błędem.
Procesor po resecie nie musi wiedzieć, że ostatnią rzeczą jaką robił
było akurat wystartowanie procesu programowania strony flasha więc nie
wie, że musi jeszcze raz flashować. Sprawdzi crc - wyjdzie ok, bo akurat
ten odczyt miał szczęście być prawidłowy i błędnie przyjmie, że jest ok.
Jak pobiera upgrade to może mieć gdzieś info, że zaczął, ale nie
skończył więc trzeba powtórzyć, ale ja zakładam używanie flasha też do
danych. Zamiast otaczać każdy zapis zapisaniem, gdzieś w EEPROMie (co
też można zacząć kwestionować) informacji, że rozpoczynam zapis strony
100 flasha i jak po resecie jest taka informacja to wie, że strona
wymaga naprawy uważam, że lepiej zagwarantować dokończenie każdego
rozpoczętego zapisu.
A jak są procesory bez EEPROMu w których robi się emulację EEPROMu we
flashu to w ogóle nie wiem jak miałby sobie zapisywać informację, że
właśnie jest w trakcie programowania flasha, aby po resecie miał szansę
wiedzieć, że flash może być niepewny.
P.G.
Następne wpisy z tego wątku
- 22.02.23 13:45 Piotr Gałka
- 22.02.23 20:35 Grzegorz Niemirowski
- 22.02.23 20:41 Marek
- 22.02.23 20:47 Piotr Gałka
- 22.02.23 20:49 Marek
- 22.02.23 20:51 Piotr Gałka
- 22.02.23 20:57 Piotr Gałka
- 22.02.23 21:00 Piotr Gałka
- 22.02.23 21:16 heby
- 22.02.23 21:31 Marek
- 22.02.23 21:37 Marek
- 22.02.23 22:15 Piotr Gałka
- 22.02.23 22:49 Marek
Najnowsze wątki z tej grupy
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-02 Realme 7 Na co zmienić?
- 2024-06-27 Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-07-02 znalazłem samochód ;)
- 2024-07-02 Pierwszeństwo łamane
- 2024-07-02 zamek
- 2024-07-02 Akumulatory VRLA
- 2024-07-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-07-03 MĂźnchen => Test Development Engineer (m/w/d) <=
- 2024-07-03 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-07-03 Warszawa => Programista Full Stack (.Net Core) <=
- 2024-07-02 Kraków => Spedytor międzynarodowy <=
- 2024-07-02 Poznań => Senior React Native Developer <=
- 2024-07-02 Rzeszów => Frontend Developer (React) <=
- 2024-07-02 Warszawa => Fullastack (Java) Developer <=
- 2024-07-02 reparacje