tonygryps napisał(a):
Napisałem że BOD nie jest ustawiony a to dlatego że nie korzystam z zapisu do EEPROM ani do FLASH.
Jezus Maria .... ale ok poczytaj dalej
ezgman napisał(a):
Ale jak może to wykasować zawartość FLASH, i to do tego bez uszkodzenia tego kawałka gdzie akurat jest bootloader?
Gdy napięcie spada i procek zaczyna pracować niestabilnie - może jak sam słusznie zauważyłeś:
ezgman napisał(a):
Jeśli BOD jest nieaktywny, a napięcie spadnie poniżej jakiegoś poziomu, ale będzie wciąż na tyle wysokie, żeby procesor działał, ale niestabilnie, , to....
ezgman napisał(a):
... mogą się zapisać głupoty
... to teraz troszeczkę rozszerzamy wyobraźnię ... i ... co to oznacza, że może zapisać głupoty? Jak to głupoty ? Przecież zapis do EEPROM ma przygotowane zabezpieczenia w AVR ... nie wiesz o tym ? zajrzyj do rejestru EECR procka i zobacz jak wygląda procedura zapisu do EEPROM ...
Pomijając już fakt, że ZARÓWNO zapis do EEPROM'a jak i do FLASH'a wymagają odpowiedniego napięcia aby zapis mógł być wykonany prawidłowo - i to już może być JEDEN ale WAŻNY powód dlaczego może dojść do KASZANY bez prawidłowo ustawionego BOD'a to jest jeszcze drugi powód
... przy zbyt niskim napięciu - gdy nie ma ustawionego BOD'a a procek można powiedzieć zamiera - to może zacząć tak jak i człowiek "BREDZIĆ"
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
czyli zacząć wykonywać instrukcje spod LOSOWO wybranych adresów pamięci FLASH !!! i tu zaczyna się prawdziwa BONANZA! ... aż dziw bierze, że ty ale też wiele osób nie bierze tego pod uwagę ...
a co to oznacza, że może zacząć wykonywać instrukcje z losowo wybranych komórek FLASH albo wręcz przeskakiwać po kilka oczek ???
... no może pominąć zabezpieczenia stawiane przez rejestr EECR (EEPROM Control Register)
.... ok ... pewnie nadal się zastanawiasz - no bo zastanawiasz - a co to ma wspólnego ze zniknięciem wsadu ?
ezgman napisał(a):
Ale jak może to wykasować zawartość FLASH, i to do tego bez uszkodzenia tego kawałka gdzie akurat jest bootloader?
.... żeby odpowiedzieć na to pytanie to najpierw pokażę ci w jaką pułapkę wpadasz tak samo jak wielu początkujących ... bo piszesz:
ezgman napisał(a):
No bo nagły i niespodziewany rest może uszkodzić zawartość EEPROM jeśli akurat coś się zapisuje. To jest dla mnie jasne.
jakiż to "rest" może uszkodzić zawartość EEPROM? dla mnie to nie jest jasne ...
ezgman napisał(a):
Jeśli BOD jest nieaktywny, a napięcie spadnie poniżej jakiegoś poziomu,
No widzisz tu leży klucz w niezrozumieniu - tak mi się wydaje, choć może się mylę .... "gdy napięcie spadnie..." ....
A CO JEŚLI NIE ZDĄŻY DOJŚĆ DO WŁAŚCIWEGO POZIOMU przy starcie i się utrzyma zbyt długo ? .... QURCZĘ toż przy włączaniu zasilania już mogą się ZACZYNAĆ MEGA CYRKI bez BOD'a !
Mówi wam to coś Panowie? zaczyna coś świtać ?
już nawet nie ważne czy przy włączaniu zasilania czy przy wyłączaniu - w trakcie gdy napięcie jest zbyt niskie np ok 1,6V - 1,7V ( tak nawiasem mówiąc, robiliście kiedykolwiek jakieś własne ćwiczenia jak zachowuje się wtedy procek? Pisaliście własne programy tak aby przetestować te sytuacje tzw momentu zgonu procka? bo ja tak
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
Niektóre egzemplarze procków AVR te z serii Pico Power potrafiły działać przez dłuższy czas NAWET QURCZĘ przy napięciu 1,5V czego nota PDF nie podaje i słusznie
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
bo to zbyt skrajne warunki. Nota podaje, że bezpiecznym najniższym napięciem oczywiście dla pewnych modeli procków jest 1,8V ale nie niżej ..... tymczasem "chłopaki" czyli procki - potrafią jeszcze nieźle "grać w kulki" sobie jak im się zabierze 0,1V albo i 0,2V ....
O tym co się dzieje przy 1,4V nawet nie chce mi się myśleć - ale to już pewnie wykonanie kilku ostatnich szaleństw po liczniku rozkazów i KAPUT
no dobra wracamy do pytania teraz:
ezgman napisał(a):
Ale jak może to wykasować zawartość FLASH, i to do tego bez uszkodzenia tego kawałka gdzie akurat jest bootloader?
Więc ZASTANÓW się teraz co to jest BOOTLOADER ?
Bootloader to program do zapisywania danych w pamięci FLASH ! panie ... a wymogi procka ze strony zasilania są jeszcze bardziej wysokie niż w przypadku EEPROM'a! Zatem przykładowo mamy napięcie 1,8V ... program startuje, gdy ma działać BLS to skacze do sekcji Bootloadera ... i nagle! ... TRAAACH napięcie lekko spada do 1,5V .... KAPITANA .... BOD'a nie ma na pokładzie ... no to hulaj dusza! hahahaha pijany procek szaleje i załóżmy, że przeskoczy te kilka instrukcji czy kilkanaście (licznik adresów rozkazów) ... które sprawdzały czy użytkownik przez np przez RS232 ma wgrywać dane ... a trafił akurat na sekcję .... !!!
TA-DAAAA-M ... mniam mniam - do wykasowania całej zawartości pamięci FLASH bo czasem tak się przygotowuje bootloadera, po czym dopiero się rozpoczyna zapis strona po stronie od nowa danych nadsyłanego wsadu
i co? mówi to panu coś ?
ezgman napisał(a):
i to do tego bez uszkodzenia tego kawałka gdzie akurat jest bootloader?
Tyle razy mówię - warto chociaż RAZ napisać sobie własny bootloader ... albo ...
albo POCZYTAĆ "YELLOWBOOKA" i najmniejszy w nim rozdział o zastosowaniu pamięci FLASH procka zamiast EEPROM'a - jest tam MNÓSTWO ciekawych informacji w tym zakresie i zapoznając się również z krótkim kodem źródłowym który opisuję do tego ćwiczenia - można się dużo dowiedzieć nowych rzeczy, nauczyć i zrozumieć zasady działania procka w tym zakresiew ogromnym skrócie - gdy rozpoczyna się procedura Bootloadera w prockach ATMEGA z sekcjami BLS (bo w ATtiny jest troszkę inaczej) ... to Bootloader startuje w sekcji NRWW (No Read While Write) !!! zaś wsad może być umieszczony w sekcji RWW !!!
kto to ustala ? TY SAM - ustawiając odpowiednie Fusebity do działania Bootloadera
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
... a więc TRACH ! opada kurtyna tajemnicy dlaczego to może się wykasować i wyzerować TYLKO I WYŁĄCZNIE ta część procka w której jest wsad a nie ta w której jest sam bootloader. Widać też prawdopodobnego sprawcę ZNIKNIĘCIA WSADU - to nie UFO to Bootloader pewnie zrobił kuku
no ale jeśli ktoś nie stosuje BOD'a ... to co tu poradzić ?
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
.... będzie wierzył pewnie w UFO tzn różne dziwne przypadki - ufając, że dodanie kondensatora 100nF na zasilaniu rozwiąże jego wszystkie problemy. A jeszcze gorzej miewają osoby, które w akcie desperacji dokładają ogromne pojemności przy procku bo i z takimi czasem wypowiedziami na forach można się spotkać - typu:
"odkąd dodałem przy procku kondensator elektrolityczny 4,700uF z mojego starego wzmacniacza akustycznego to problemy się skończyły"
![Śmieje się :lol:](https://forum.atnel.pl/images/smilies/icon_lol.gif)
powaga - nie zmyśliłem tej wypowiedzi ... może nie jota w jotę zacytowałem ale było tak kiedyś na elektrodzie - i przekonanie gościa, że to bardzo złe rozwiązanie spełzło na niczym - jeszcze mi i paru ludziom którzy starali się wyjaśnić - oberwało się
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
ezgman napisał(a):
Skoro napisał, że zniknął wsad z FLASH, to zapewne nie bez przyczyny.
W całym tym przydługawym moim tekście pokazuję ci możliwe przyczyny ... tylko trzeba chcieć zrozumieć
ale jak mi nie wierzysz to przynajmniej czytaj notę PDF
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
proszę bardzo:
![Obrazek](https://obrazkiforum.atnel.pl/54/dc48511987fadd0e46281d282481e7d8.png)
a tu proszę hmmmm rozwiązanie:
![Obrazek](https://obrazkiforum.atnel.pl/54/15ff3a1bfa3ca3891b0ca0d92b942c67.png)
niestety w praktyce nie jest z tym "
can easily be avoided" tak różowo ... bo na drugim miejscu są sprawy związane właśnie z fizyką czyli projektem zasilania i odnośnie schematu ale co WAŻNIEJSZE od strony PCB. Nie chcę tu nikogo oceniać - ale napisanie sobie od tak jakby strzelić palcami .... "dodałem kondensator 100nF" to znaczy, że jest dobrze - może równie dobrze oznaczać, że popełnionych zostało sto innych błędów w projekcie zasilania - i nie odnoszę tego od razu do autora wątku - żeby zaraz nie było, że zarzucam mu brak umiejętności projektowania płytek PCB .... ale ja sam jakbym zadawał takie pytanie o ZNIKNIĘCIE wsadu - kompletnie nie rozumiejąc jak mogło się to stać - to bym zwracał uwagę na wszystko i co najmniej pokazałbym fragment i schematu związanego z zasilaniem w projekcie a szczególnie fragment PCB z filtracją samego procka ...
Mam tylko nadzieję, że autor nie zrobił tego projektu np na kawałku płytki andruino jakiegoś mini, przyczepionego na jakichś kabelkach do innej płytki jak pająk z doczepionym gdzieś z boku kondkiem 100nF ... bo i takich projektów pełno w sieci widać - i ludzie się później dziwią - dlaczego mi się to ciągle wiesza? resetuje i cuda się dzieją
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
... dobra to tyle o poranku
![Śmieje się :lol:](https://forum.atnel.pl/images/smilies/icon_lol.gif)