Stron: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Pokazuje kolega przykladowy ekran i pisze ze lcd pod LTDC dziala. Ten przyklad jest niekompletny, brakuje w nim plikow.
Dlaczego w programie nie ma inicjowania pamieci SDRAM?
Dla jakiego zegara stm32f429 jest ta konfiguracja?
dla 180 MHz
sdram jest inicjowany w pliku system_init są funkcje które są wywoływane przez startup tam jest inicjalizacja sdram i zegara
Dzieki za wyjasnienia, nie moglem tego zlokalizowac w programie.
Zrobilem z tego projekt pod Em, dadalem pliki i teraz poprawnie sie kompiluje.
Hyba cos jest zle w inicjowaniu sdramu bo po kilku zapisach do ramki obrazu wiesza stma. Za malo wiem o oblsudze pamieci dynamicznych aby to namierzyc.
Czy udalo sie komus uruchmic ten kod i moze zapisywac do sdramu ?
Nie widze rowniez zadnych zmian na LCD przy zapisie do ramki obrazu.
while (1)
{
//zielona dioda LED
for (count = 0; count < count_max; count++); // delay
LED_bb = 1;
for (count = 0; count < count_max; count++); // delay
LED_bb = 0;
*((uint32_t *)ptr++) = 0xFFFFFFFF; //pixel do ramki obrazu
}
Tu masz błąd. Ta pętla w końcu zaczyna zapisywać w rejony poza ramem.
To nie to, przy tych opoznieniach na diodzie to duzo czasu musi minac aby wypelnic ramke. Dioda mruga 8 razy i mam STOP, komunikat zdebugera blad dostepu do memory. A u Ciebie to pracuje ?
Witam,
Kod:
*((uint32_t *)ptr++) = 0xFFFFFFFF; //pixel do ramki obrazu
No ok, ale gdzie tu masz jakąś kontrolę ilości zapisywanych danych do ramki obrazu ?
W takiej formie
pętla będzie się kręcić w nieskończoność, i wartość 0xFFFFFFFF będzie zapisywana do kolejnych komórek pamięci.
A stm się wiesza, bo pętla zaczyna zapisywać tam gdzie nie powinna..
I jeszcze jedna mała uwaga !!!!
Pamiętajcie, że ten ( i nie tylko ten) model stm-a ma mały obszar PAMIĘCI JEDNOKROTNEGO ZAPISU !!!!!!
Więc uważajcie z takimi "kocimi" wynalazkami w kodzie !!!!
Nie wiem jakie masz błędy. Pokaż logi.
Macie racje, ze brakuje ograniczenia ale ten zapis dalem tylko tak testowo.
ptr jest ustawiany na poczatek ramki, dioda mruga wolno wiec nie ma ryzyka wyjscia poza sdram. Dobra, wyrzucilem ten zapis w petli i dalem zerowanie ramki obrazu przed petla. Efek taki sam, stm wisi. Co jest nie tak ?
Nie wiem o jakie logi pytasz, kod nie wystarczy ?
Co to jest pamiec jednokrotnego zapisu, to takie OTP jak w starych procesorach?
Nie wiem co używasz do debugowania. Zazwyczaj jest jakiś terminal co wypluwa błędy i informacje. Poza tym nie jestem pewien ale chyba procek twój chodzi na 168MHz a mój przykład jest na 180. Trzeba podbić mu napięcie (w rejestrach) i wykręcić na maksa. Poza tym nie wiem jaki chcesz efekt jak 0xFFFFFFFF to jest biały obraz czyli taki sam jak tło. Daj 0xFF000000 to powinien zrobić się czarny.
Kolego BUBAMUBA od kiku dni probuje uruchomic Twoj przykladowy kod.Ten kod pratycznie niczym sie nie rozni od tego co zamieciles dlatego pytalem czy u Ciebie dziala.
Co ma kolor do wieszania sie procesora ? Kilka razy juz pisalem ze procesor wisi przy probie zapisu do sdramu. Zegar ustawilem na 180mhz, targed voltage 3,3V.
Stron: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18