12-08-2016, 20:18
Hey
Jakoś ostatnio mało czasu mam na hobby i nie mam czasu opakować wszystkiego w ładną całość wstawię wam to w kawałkach z instrukcją montażu. Jakiś czas temu umieściłem już na elektrodzie paczkę z plikami do obsługi LCD. Paczka ta była modyfikacją do przykładowego projektu freddiego chopina (użytkownik elektrody).
link do przykładu:
http://www.freddiechopin.info/pl/downloa...-przyklady
Jest to przykład działający na "czystym eclipsie" bez arm plugin czy cocooxa. Dodane są tylko plugny (zylin, gdb) do debugu oraz wskazany kompilator. Jako że bazuje on na makefile myślę że niema najmniejszego problemu przenieś przykład na dowolne środowisko, ja jednak do tej pory pracuje na tym. Na jego stronie jest już troche przestarzała instrukcja jak zrobić to środowisko. Jeśli ktoś ma ochotę to mogę pomóc je złożyć.
Po zaimportowaniu tego środowiska należy rozpakować moją paczkę i podmienić/dodać pliki.
I tyle po skompilowaniu ekran będzie się świecił na biało(w moim przypadku wychodzi ten przeklęty lekki turkus).
Aby zacząć malować wystarczy dodać/skonfigurować warstwę po skonfigurowaniu LCD:
LTDC_Layer1->WHPCR = 30 | (269 <<16);
LTDC_Layer1->WVPCR = 4 | (323 <<16);
LTDC_Layer1->PFCR = 0b0;
LTDC_Layer1->CFBAR = 0xD0000000;
LTDC_Layer1->CFBLR = 963 | (960 <<16);
LTDC_Layer1->CFBLNR = 320;
LTDC_Layer1->CR |= LTDC_LxCR_LEN;
LTDC_Layer1->CACR = 0xFF;
LTDC->SRCR = LTDC_SRCR_IMR;
LTDC->GCR |= LTDC_GCR_LTDCEN;
I od tej pory ramka rozpoczyna się od adresu:
0xD0000000;
każdy piksel to 32 bity format ARGB8888.
Umieszczam to abyście mogli zacząć się temu przyglądać/wzorować się na tym. Nie wykluczam błędów. U mnie to działa ale możliwe że dokonałem modyfikacji których w tej paczce nie umieściłem. Jednak muszę znaleźć więcej czasu bo nie chce dodawać wersji która jest zlepkiem różnych eksperymentów, a tak właśnie wygląda najaktualniejszy kod źródłowy na którym pracuje. Musze zacząć od nowego projektu, poskładać to co jest potrzebne i po sprawdzeniu wam to udostępnię.
Jakoś ostatnio mało czasu mam na hobby i nie mam czasu opakować wszystkiego w ładną całość wstawię wam to w kawałkach z instrukcją montażu. Jakiś czas temu umieściłem już na elektrodzie paczkę z plikami do obsługi LCD. Paczka ta była modyfikacją do przykładowego projektu freddiego chopina (użytkownik elektrody).
link do przykładu:
http://www.freddiechopin.info/pl/downloa...-przyklady
Jest to przykład działający na "czystym eclipsie" bez arm plugin czy cocooxa. Dodane są tylko plugny (zylin, gdb) do debugu oraz wskazany kompilator. Jako że bazuje on na makefile myślę że niema najmniejszego problemu przenieś przykład na dowolne środowisko, ja jednak do tej pory pracuje na tym. Na jego stronie jest już troche przestarzała instrukcja jak zrobić to środowisko. Jeśli ktoś ma ochotę to mogę pomóc je złożyć.
Po zaimportowaniu tego środowiska należy rozpakować moją paczkę i podmienić/dodać pliki.
I tyle po skompilowaniu ekran będzie się świecił na biało(w moim przypadku wychodzi ten przeklęty lekki turkus).
Aby zacząć malować wystarczy dodać/skonfigurować warstwę po skonfigurowaniu LCD:
LTDC_Layer1->WHPCR = 30 | (269 <<16);
LTDC_Layer1->WVPCR = 4 | (323 <<16);
LTDC_Layer1->PFCR = 0b0;
LTDC_Layer1->CFBAR = 0xD0000000;
LTDC_Layer1->CFBLR = 963 | (960 <<16);
LTDC_Layer1->CFBLNR = 320;
LTDC_Layer1->CR |= LTDC_LxCR_LEN;
LTDC_Layer1->CACR = 0xFF;
LTDC->SRCR = LTDC_SRCR_IMR;
LTDC->GCR |= LTDC_GCR_LTDCEN;
I od tej pory ramka rozpoczyna się od adresu:
0xD0000000;
każdy piksel to 32 bity format ARGB8888.
Umieszczam to abyście mogli zacząć się temu przyglądać/wzorować się na tym. Nie wykluczam błędów. U mnie to działa ale możliwe że dokonałem modyfikacji których w tej paczce nie umieściłem. Jednak muszę znaleźć więcej czasu bo nie chce dodawać wersji która jest zlepkiem różnych eksperymentów, a tak właśnie wygląda najaktualniejszy kod źródłowy na którym pracuje. Musze zacząć od nowego projektu, poskładać to co jest potrzebne i po sprawdzeniu wam to udostępnię.

