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



Teraz jest 15 lis 2024, o 02: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 ]
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 2 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO