Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 5 kwi 2025, o 17:07


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 29 sty 2016, o 11:11 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    Zarówno w tej nocie:
    http://www.atmel.com/images/doc1644.pdf

    jak i w artykule:
    http://ep.com.pl/files/3453.pdf

    wielokrotnie wspomniano o konieczności oczekiwania na zakończenie się instrukcji SPM:

    Cytuj:
    Bit 4 – RWWSRE: aktywowanie sekcji RWW (Read–While–Write Section Read Enable) Programowanie sekcji RWW powoduje zablokowanie jej odczytywania. Odblokowanie RWW polega na poczekaniu aż operacje programowania zostaną zakończone (SPMEN=0), następnie ustawieniu bitu RWWSRE i SPMEN oraz wykonaniu instrukcji SPM. Po poprawnym wykonaniu tych czynności, sekcja RWW jest już odblokowana.


    Cytuj:
    Nim zaczniemy operację ładowania bufora, musimy sprawdzić czy operacja zapisu pamięci EEPROM została zakończona, gdyż podczas zapisu EEPROM–a zostaje niszczona zawartość bufora tymczasowego. Robimy to przez sprawdzenie bitu EEWE w rejestrze EECR (jeśli jest wyzerowany, to znaczy że procesy zapisu się skończyły).


    Pytam o zasadność, gdyż poniższy program zapisuje strony flash bez większych problemów, mimo, że instrukcje oczekiwania na zakończenie instrukcji SPM pozostają zakomentowane.

    Obrazek

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2016, o 19:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Cytuj:
    Pytam o zasadność, gdyż poniższy program zapisuje strony flash bez większych problemów, mimo, że instrukcje oczekiwania na zakończenie instrukcji SPM pozostają zakomentowane.
    Twoje podejście jest takie samo jakbyś pytał po co czekać na zielone światło jak udaje mi się przechodzić na czerwonym i nie wpadłem jeszcze pod samochód. Ale do czasu ...
    Niezachowanie właściwej procedury może spowodować nie tylko niezaprogramowanie danej strony ale możliwość uszkodzenia innych danych w pamięci flash / eeprom. Nie mówiąc o niemożliwości poprawnego wykonania pewnych operacji (odczytu flasha).
    Dlatego wymagane jest czekanie na zakończenie programowania danej strony zanim będziesz wykonywał dalsze operacje.

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2016, o 20:07 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    Pytanie zadane było głównie z ciekawości. Zastanawiam się czy i w jaki sposób mógłbym doprowadzić (celowo - warunki testowe) do wykrzaczenia się procedury "selfprogramingu". Trochę się zdziwiłem, że dane zapisały się poprawnie, mimo, że nie czekałem na zakończenie SPM, więc pomyślałem, że można by (w razie potrzeby) zaoszczędzić kilka słów maszynowych w kodzie bootloadera). Ale to tylko ciekawość. Docelowo na pewno włączę oczekiwanie na zakończenie operacji SPM. 64 kB flash, póki co, nie ma strachu o miejsce.

    Przebrnąłem przez teorię bootloadera. Zapisuję flash z poziomu NRWW. Jest git.

    Kolejny krok, to ogarnięcie tematu CRC...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 sty 2016, o 18:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Rzuciłem jeszcze raz na Twój kod i masz tam po każdej operacji dodane
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    co powoduje odczekanie 5 ms, więc operacje się na pewno zakończą:
    Obrazek

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 sty 2016, o 18:28 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    A widzisz, zupełnie zapomniałem o tych waitms 5.
    Wywalę i z ciekawości sprawdzę bez tego w pierwszej wolnej chwili.

    Dzięki za zainteresowanie tematem :-)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 sty 2016, o 20:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Weź też pod uwagę, że jak pobierasz dane dla nowej strony flash po RS232, to przy prędkości 115200 pobranie 64 bajtów zajmuje więcej niż 5 ms....

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO