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



Teraz jest 29 gru 2024, o 02:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 21 sty 2021, o 07:38 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 82
Pomógł: 3

Szczerze? Jeśli to są jakieś warunki domowe i możesz najzwyczajniej w świecie podmienić procka to go podmień i do przodu. Nie wiem czy jest sens takich dywagacji, nawet w formie zajawki, zakładam, że wiele ludzi nawet za bardzo z takim czymś się nie spotkało, a dodatkowo nikt nie widział tego softu Twojego.
Najprościej możesz sprawdzić czy to błąd hardware czy firmware przez wgranie na nową kość i zobaczenie czy występuje to samo (o ile możesz sobie pozwolić na uziemienie kolejnego).

Skoro mówisz, że wszystko działa ale po pewnym czasie pada to możesz sobie wgrać jakiś najprostszy Hello World i złapać debugerem na jakiej instrukcji się wykłada, prawda?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2021, o 21:04 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 82
Pomógł: 3

A skąd wiesz, że on "wisi" może wykonuje instrukcje, ale nie wiesz jakie.

W każdym razie inne pytanie, czy testowałeś to na 2 prockach?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2021, o 22:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 310
Pomógł: 18

Witam!
Taka moja propozycja, Byś skorzystał z mkAVRCalkulatora i wgrał wsad z opcją -e(kasowanie AVR).
Miałem przypadek, że na wyświetlaczu śiedmio segmentowym niespodziewanie pojawił się napis APAP - kasowanie AVR pomogło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2021, o 00:10 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

Zanim zaczniesz wyciągać pochopne wnioski (typu błąd w kompilatorze, w rdzeniu procka itp. ) to wstaw
porządnie zdjęcia jak masz to wszystko połączone, załącz kody źródłowe, pokaż fusebity, wklej co Tobie
programator w konsoli wypluwa (może wydaje Ci się, że dobrze poszło programowanie a tak naprawdę wyłożyło
się na jakimś obszarze pamięci i program wgrywa się częściowo). Od tego zaczyna się konkretne przedstawianie problemu.
W zdecydowanej większości przypadków okazuje się bowiem, że problem wcale nie leży w kompilatorze lub rdzeniu :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2021, o 09:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 lis 2019
Posty: 145
Pomógł: 37

MarekSz napisał(a):
Eksperymentowałem z flagami i w ramach tego wyłączyłem kasowanie. Zauważyłem, że pominięcie tejże opcji powoduje, że uda się 2-3x wgrać soft (w sensie kolejnych wersji), a potem już koniec zabawy.

Dziwne, że w ogóle. EEPROM domyślnie jest kasowany automatycznie, ale FLASH trzeba skasować. Zprogramować poprawnie bez kasowania uda się wyłącznie w przypadku gdy w późniejszym wsadzie nie ma bitów 1 w miejsach gdzie we wcześniejszym były 0. Jeśli jesteś w bardzo eksperymentalnym nastroju możesz to sprawdzić na dwóch wsadach w formie binarnej - XOR dwóch plików potem AND wyniku i pliku późniejszego, jedynki w wyniku wskazują na niedozwoloną zmianę. Wyliczasz adresy gdzie to nastąpiło, plik lss z kompilacji w garsć i patrzysz który to obiekt. Jeśli to nie kod tylko jakaś dana to co najwyżej wyjdzie Ci APAP na wyświetlaczu. Jeśli to drugorzędny kod wykonywany rzadko, to może się wydawać ze program działa prawidłowo.

_________________
Think for yourself and question authority.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2021, o 13:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 310
Pomógł: 18

MarekSz napisał(a):
Wirnick napisał(a):
Witam!
Taka moja propozycja, Byś skorzystał z mkAVRCalkulatora i wgrał wsad z opcją -e(kasowanie AVR).

Tak czynię zawsze. Eksperymentowałem z flagami i w ramach tego wyłączyłem kasowanie. Zauważyłem, że pominięcie tejże opcji powoduje, że uda się 2-3x wgrać soft (w sensie kolejnych wersji), a potem już koniec zabawy.

A to mnie zaciekawiło! Ja to robię sporadycznie i tylko wtedy gdy mam tylko pliki *.HEX, *.EEP. Jeśli mam projekt to wgrywam program prosto z Eclipse. W Eclipse już jest wstępnie sprawdzony i ewentualnie czyszczony(clean) projekt. Unikam zbędnych bibliotek, zbędnych danych, zbędnych funkcji - są jako komentarz w kodzie i czekają na ich użycie.



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

Dołączył(a): 29 lis 2019
Posty: 145
Pomógł: 37

Wirnick napisał(a):
Unikam zbędnych bibliotek, zbędnych danych, zbędnych funkcji - są jako komentarz w kodzie i czekają na ich użycie.

Włączyć garbage collection i można sobie darować. Kompilator sam pominie nieużywane funkcje i zmienne. Clean jest potrzebne gdy zmieni się definicję jakiegoś symbolu (typowy przykład: F_CPU). Powyższe nie ma nic wspólnego z opcją -e AVRDUDE

_________________
Think for yourself and question authority.



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: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 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