Ankieta: Jaki system operacyjnym preferujesz
Ankieta jest zamknięta.
Windows 60.78% 31 60.78%
Linux 31.37% 16 31.37%
MAC/OS 7.84% 4 7.84%
Inny 0% 0 0%
Razem 51 głosów 100%
*) odpowiedź wybrana przez Ciebie [Wyniki ankiety]

Odpowiedz 
 
Ocena wątku:
  • 1 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie ARM, nauka, środowiska programistyczne IDE
SP6LUN Offline
Andrzej
****

Liczba postów: 254
Dołączył: 01-09-2014
Post: #161
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
(19-08-2016 17:28)SQ8MVY napisał(a):  Witaj,

Ustawienia GAMMA do czego służą w ILI9341 ?

Wyobraźmy sobie piksele o stopniowo rosnącej jasności.
Na ekranie jednak stopniowanie jasności nie jest równomierne.
Na przykład najjaśniejsze pixele są nierozróżnialne (jednakowo jasne)
Korekcja gamma polega na takiej zmianie jasności pixeli aby ich jasność
rosła równomiernie.
Przy wyświetlaniu liczb i prostych grafik korekcja gamma niekoniecznie będzie potrzebna...


.zip  lcd_ltdc_a.zip (Rozmiar: 251.25 KB / Pobrań: 561) W oparciu o program ltdc_lcd napisałem prosty test ekranu lcd.
Przy świecącej diodzie ustawienia gamma są oryginalne,
przy zgaszonej - trochę "popsute" - zmieniam 2 parametry

Martwi mnie jednak nieprawidłowe działanie koloru czerwonego i niebieskiego
Wygląda na odcięte/uszkodzone linie R6=PB1 i B4=PG12.
Czy ten objaw jest tylko u mnie? (Proszę o informacje)
Jeżeli tak to niestety hardware :-(

Andrzej
(Ten post był ostatnio modyfikowany: 20-08-2016 22:57 przez SP6LUN.)
19-08-2016 17:43
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #162
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
Witaj,

U mnie niebieski jest dobry, ale czerwone paski są trochę dziwne. Raczej to jest chyba błąd w sofcie.

Piszę "chyba". bo nie zaglądałem do źródeł. Wgrałem tylko skompilowany plik lcd_ltdc.bin

Tak to u mnie wygląda. W realu, stopniowanie odcieni kolorów jest bardzo widoczne. Na zdjęciu aż tak tego nie widać.

İmage


Dodano:

Po dokładnym przyglądnięciu się kolorom, stwierdzam, że niebieski nie ma takiego ładnego stopniowania odcieni jak zielony. Obstawiam błąd w sofcie, a nie na problem z hardwarem.

73 Paweł
(Ten post był ostatnio modyfikowany: 21-08-2016 14:28 przez SQ8MVY.)
21-08-2016 14:28
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
QRP73 Offline
Marek
**

Liczba postów: 90
Dołączył: 19-06-2009
Post: #163
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
Mam pytanie, czy ten LCD mozemy ustawic pod LTDC aby pracowal jako panorama, zamienione osie X,Y ?
Przy sterowaniu przez SPI mozemy to ustawic rozkazem MAC ale to chyba nie ma znaczenia przy LTDC.

EmBitz niby wspiera procesor stm32f429 ale po wygenerowaniu nowego projektu do katalogu inc wrzuca plik stm32fxx.h w ktorym nie ma definicji pod 429. Datego kombinowalem z tymi includami. A moze cos nie tak robie ?
(Ten post był ostatnio modyfikowany: 21-08-2016 18:08 przez QRP73.)
21-08-2016 18:08
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6LUN Offline
Andrzej
****

Liczba postów: 254
Dołączył: 01-09-2014
Post: #164
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
(21-08-2016 14:28)SQ8MVY napisał(a):  Po dokładnym przyglądnięciu się kolorom, stwierdzam, że niebieski nie ma takiego ładnego stopniowania odcieni jak zielony. Obstawiam błąd w sofcie, a nie na problem z hardwarem.

W programie lcd_ltdc rzeczywiście są źle ustawione porty.
Do kilku z nich (B0,B1,G10 i G12) trzeba zamapować funkcję AF9 a nie AF14 - plik LCD.c

Andrzej
21-08-2016 22:46
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #165
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
Witaj,

Do G10 oraz G12 nie ma funkcji alternatywnej LTDC pod AF9 . Dla "górnych" pinów, pin8 do pin15 tylko AF14 ma LTDC. Dla pinów 0 do 7 LTDC jest pod AF9 oraz AF14.

Dodano po jakimś czasie....

Zagłębiając się w dokumentacje, jak i erratę lekko mówiąc "zbaraniałem".....

Tu dokumentacja jasno mówi gdzie, dla jakich pinów są/mogą być funkcje alternatywne dla naszego stm-a

İmage

A na poniższym widać, co i na jakich pinach można ustawić w ST32CubeMX

İmage İmage

Wyraźnie widać, że dokumentacja mówi swoje, a program konfigurujący peryferia całkiem odwrotnie. I bądź tu mądry. Zostaje tylko dojście do prawidłowej konfiguracji metodą "sprawdź, może nic nie wybuchnie"...

73 Paweł
(Ten post był ostatnio modyfikowany: 22-08-2016 8:45 przez SQ8MVY.)
22-08-2016 8:40
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6LUN Offline
Andrzej
****

Liczba postów: 254
Dołączył: 01-09-2014
Post: #166
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
Poprawiłem mapowania LTDC na piny. Ekranik działa lepiej niż się spodziewałem.
Opierałem się na dokumentach DM00093903.pdf (discovery) i STM32F427_STM32F429 .pdf (procesor)
System dopiero poznaję, ale już widzę, że jego możliwości są niesamowite.
Na przykład LTDC: tło, na pierwszej warstwie waterfall, na drugiej teksty i wskaźniki.
Do wykorzystania na każdej warstwie blue-box, albo przenikanie (wsp.alfa).


Załączone pliki
.zip  lcd_ltdc_b.zip (Rozmiar: 222.85 KB / Pobrań: 638)

Andrzej
22-08-2016 9:41
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #167
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
Witaj,

Właśnie do dokładnie takich samych ustawień portów pod LTDC doszedłem przed momentem.

Należy jeszcze wspomnieć Andrzeju, że Twój projekt pod EmBitza jest skonfigurowany pod zły procesor - STM32F401CB. Powinien być pod STM32F429ZI. W tym przykładzie nie ma to aż tak dużego znaczenia, ale gdyby kod znacznie by się powiększył, nie była by możliwa poprawna kompilacja. 128KB flash, 64KB RAM - STM32FG401CB, 2MB Flash, 256KB RAM - STM32F429ZI. Do tego dochodzą jeszcze różnice w częstotliwościach taktowania...

Należy o tym pamiętać, aby wybierać prawidłowy model STM-a, przy tworzeniu nowego projektu

(21-08-2016 18:08)QRP73 napisał(a):  ...EmBitz niby wspiera procesor stm32f429 ale po wygenerowaniu nowego projektu do katalogu inc wrzuca plik stm32fxx.h w ktorym nie ma definicji pod 429. Datego kombinowalem z tymi includami. A moze cos nie tak robie ?

Hmm, miałem nadzieję, że w miarę jasno opisałem ten "problem" w poście nr 158

73 Paweł
(Ten post był ostatnio modyfikowany: 22-08-2016 11:27 przez SQ8MVY.)
22-08-2016 11:24
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
BUBAMUBA Offline
Nowicjusz
*

Liczba postów: 25
Dołączył: 15-03-2016
Post: #168
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
Witam

Jak napisałem przy udostępnionych plikach, ostatnio mam problem z mała ilością czasu temu nie ułożyłem z tego zgrabnej paczki ale wrzuciłem kod w takiej postaci jaką aktualnie miałem pod ręką. To nie było żadne demo gotowe do uruchomienia. Bardziej mi zależało pokazać po prostu sposób inicjalizacji LTDC. Miałem się zająć przygotowaniem dema później ale widzę że już sami sobie z tym poradziliście. Przy okazji znaleźliście kilka błędów w ustawieniach RAMu (co dziwne mi z takimi ustawieniami działa) oraz z ustawieniami pinów.

Co do EmBitza/EmBlock rozumiem że uzgodniliście że będziecie używać tego środowiska niestety z tego co widzę nie jest ono jednak pozbawione wad z różnych innych gotowych środowisk (np czegoś jeszcze nie obsługują) dlatego ja wole zostać przy "czystym eclipsie" jednak na przyszłość będę wstawiał tu cały wyeksportowany projekt z makefilem a nie kawałki plików, i raczej będziecie w stanie zaimportować to do EMBitza.

Teraz sam postaram się złożyć czysty projekt od "zera" i zobaczę co ominąłem oraz uwzględnię znalezione przez was błędy.
22-08-2016 15:58
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP5FCS Offline
Adam
*****

Liczba postów: 1,072
Dołączył: 02-02-2009
Post: #169
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
W paczce pod EmBitza działające funkcje do inicjowania SDRAM-u, FMC, kontrolera ILI9341 przez SPI oraz kontrolera LTDC. Proste demo dla palety RGB565 oraz funkcji rysowania znaków ASCII.
Wyświetlacz zainicjowany w układzie pionowym X (krótsza oś), Y (dłuższa oś), na osi X zrobione programowe lustro aby przenieść [0,0] układu do górnego, lewego rogu LCD.
--------------------------------------------------------------------------------------------------------------------------------
dodane 27.03.2016

Nie obyło się bez drobnych błędów, źle wyświetlał sie kolor zielony. Próbowałem różnych konfiguracji kontrolera ILI9341 i nic.
Przyczyna była prozaiczna, błąd w konfiguracji jednego pinu wykryty przez Pawła.

W załączniku poprawiona paczka z projektem.


Załączone pliki
.zip  ili9341_ltdc_sp5fcs_2.zip (Rozmiar: 207.59 KB / Pobrań: 526)

73 Adam
24-08-2016 0:26
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #170
RE: Programowanie ARM, nauka, środowiska programistyczne IDE
Witam,

Pragnę poinformować, że kilka dni temu została wydana nowa wersja środowiska programistycznego od Seggera - SEGGER EMBEDDED STUDIO.

Jeżeli ktoś używa, a nie zaktualizował jeszcze to w tym miejscu można pobrać.

IDE dostępne jest pod systemy: Windows, Linuks, MacOS

73 Paweł
27-08-2016 14:31
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości