Goto page Previous 1, 2
jacek pozniak
Guest
Mon Jun 13, 2016 8:31 pm
Quote:
while {
if (test) USBTasks();
//Sporo innych instrukcji
//Miedzy innymi funkcje obsolugi stosu TCP/IP
}
}
Tak wyglądający program działa prawidłowo.
Wystarczy jednak, że zmienna test zostanie zdefiniowana z wartością 1, a
program się wykrzacza. Tak więc winę musi ponosić coś, co się dzieje
wewnątrz tej funkcji.
1. Optymalizator 'za bardzo' zoptymalizował RAM -spróbuj z innymi
ustawieniami.
2. Ten USBTask wali gdzieś po pamięci (błąd biblioteki)
3. Albo linker przydzielił te same obszary RAM, to można podglądać w plikach
co je linker generuje.
Spróbowałbym pierwszej opcji, na początek
jp
janusz_k
Guest
Tue Jun 14, 2016 8:56 pm
W dniu 2016-06-12 o 18:01, Atlantis pisze:
Quote:
W dniu 2016-06-12 o 16:37, platformowe głupki pisze:
a jakby tak podpiąć gotowy modulik z ENC pod SPI? będzie wiadomo, czy
wina softu czy może układu...
Wczoraj też mi to przyszło do głowy i w ten sposób udało mi się ustalić,
że problem nie jest sprzętowy.
Z pomocą jednego z kolegów z grupy (jeszcze raz dziękuję) udało mi się
ustalić, że biblioteka do obsługi Ethernetu najwyraźniej gryzie się z
biblioteką do USB MSD. Dlaczego? Jeszcze nie mam pojęcia...
Może Ci ramu brakuje? albo się pokrywają bo któraś bibloteka ma błąd.
--
Pozdr
Janusz_K
Atlantis
Guest
Thu Jun 16, 2016 9:01 am
W dniu 2016-06-14 o 22:56, janusz_k pisze:
Quote:
Może Ci ramu brakuje? albo się pokrywają bo któraś bibloteka ma błąd.
Problem okazał się dużo bardziej kuriozalny. Użyty port SPI oraz USB
współdzielą pewien pin, który może pełnić funkcję linii USBID. Ponieważ
nie korzystam z funkcjonalności USB OTG, miałem tę funkcję wyłączoną. To
znaczy wydawało mi się, że miałem.
W kodzie znalazła się jedna, mała pomyłka. Zamiast "#pragma config
FUSBIDIO = OFF" napisałem po prostu "#pragma FUSBIDOO = OFF". O dziwo
taka konstrukcja została przyjęta, nie został nawet wygenerowany żaden
warning, po prostu fusebit pozostawał w domyślnie ustawionym stanie.
W efekcie dochodziło do zakłócenia komunikacji, bo obydwa interfejsy
próbowały korzystać z tej samej linii.
Marek
Guest
Thu Jun 16, 2016 3:27 pm
On Thu, 16 Jun 2016 11:01:09 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
taka konstrukcja została przyjęta, nie został nawet wygenerowany
żaden
warning, po prostu fusebit pozostawał w domyślnie ustawionym stanie.
No hmm u mnie warning był, ustaw sobie odpowiedni poziom warningów. A
może nie szukasz warningów tam gdzie trzeba w Twoim narzędziu.
--
Marek
platformowe gĹupki
Guest
Thu Jun 16, 2016 4:12 pm
no to skoro już problem z głowy to czy możemy liczyć na wyliczenie
pliczków dokumentacji do USB w PICach i ethernetu w PICach?
Goto page Previous 1, 2