czwartek, 29 listopada 2012

EmbSysRegView - czyli pomoc w debugowaniu pod eclipse

Ostatnio w poszukiwaniu ułatwienia w procesie debugowania programów na mikroklocki pod eclipse natknąłem się na bardzo ciekawy projekt a mianowicie EmbSysRegView. 

EmbSysRegView jest wtyczką pod eclipse przestawiającą mapę pamięci procesora w postaci bardziej przejrzystej dla zwykłego użytkownika. Jest ona bardzo prosta w obsłudze i użytkowaniu. Więcej informacji o niej można znaleźć na stronie domowej projektu bądź na sourceforge.net

Dane na temat rejestrów przetrzymywane są w odpowiednio przygotowanym pliku xml którego edycja jest bardzo prosta.

Obecnie pracuję nad zrobieniem pełnego opisu do tej wtyczki dla LPC1768. Obecnie nie jest jeszcze ukończony ale najnowszą wersję znajdziecie zawsze pod tym linkiem. Informację o ukończeniu opisu zamieszczę na pewno na blogu.

Już niebawem powinien pojawić się kolejny opis postępu prac z budowy stacji pogodowej ;) 


AVE.

niedziela, 24 czerwca 2012

Itm-400160 i LPC1768 - drugie starcie

I nadejszło ostatnie, już finałowe starcie z matrycą Itm-400160 i LPC1768, i w końcu się udało, na reszczcie wszystko bangla i to lepiej niż się spodziewałem, zwracam honor LPC. Ale ostrzegam przed zbytnim zaufaniu bibliotekom do obsługi Standard Peripherals od NXP zawiera ona bardzo dużo bugów. W moim przypadku procesor zawieszał się przy wchodzeniu w przerwanie i nie działał poprawnie. A na koniec parę dowodów na to iż działa ;)



Już niedługo relacja z budowy stacji pogodowej.

Mały smaczek na temat wyświetlacza.



AVE.

poniedziałek, 18 czerwca 2012

LPC1768 - DS1820, SD i FatFS

Teraz kolejna przydatna garść informacji.

Łatwa w użyciu biblioteka do obsługi popularnego DS18S20. Bazuje ona na znalezionym w sieci przykładzie, jednak została dość mocno zmodyfikowana, w zasadzie została sam szkielet i algorytmy. Została dołożona funkcja inicjująca DS wraz z jego wykryciem, oraz funkcja zwracająca odczytaną wartość w postaci bitowej. ds18b20.c i ds18b20.h.

Długo też szukałem jak odpalić odczyt SD na mikroklocku, z pomocą przyszła biblioteka FatFs, oraz niezbędne plik z konfiguracją i obsługą SD. Obsługa działa na SSP0. SD.cSD.hSDHal.cSDHal.h

Kilka istotnych uwag:
- w przerwaniach RTC warto ustawiać same flagi a nie wywoływać funkcje (jak się może okazać w praktyce, warto ustawić ręcznie rejestry, a wywołanie funkcji też się uda ;))
- przy użytkowani FatFs warto zwracać uwagę na typy bo przez to lubi się wysypywać funkcja.

LPC1768 mimo iż jest nie do końca "juzerfrendli" to po dobrze przygotowanej konfiguracji śmiga jak marzenie ;)


AVE.

wtorek, 20 marca 2012

Itm-400160 i LPC1768 - raport

Po długiej walce z uruchomieniem matrycy itm-400160 na mikrokontrolerze LPC1768 odniosłem porażkę. Mimo iż procesor teoretycznie powinien wyciągać taktowanie rdzenia na poziomie 100MHz to jedyne co mi się udało uzyskać to tylko i wyłącznie "płynąca" w dół linia pikseli.

Doszedłem również do wniosków iż LPC1768 jest bardzo zabugowanym mikrokontrolerem albo w bibliotekach od NXP jest masa błędów. Jednak po własnych doświadczeniach skłaniam się do drugiej wersji, czyli błędów w bibliotekach.


AVE

piątek, 17 lutego 2012

Itm-400160 wprowadzenie

Prace nad uruchomieniem w pełni trwają. Na chwilę obecną udało mi się ją uruchomić bezpośrednio przy użyciu mikrokontrolerów stm32 pracujących z częstotliwością od 72MHz w górę oraz posiadających przynajmniej 20kB RAMu.

Ciekawostką o której należy pamiętać to kontrast działa na napięciu ujemnym, przynajmniej trzeba podać -18V . Mimo iż w dokumentacjach jest inaczej, to podanie innego napięcia może spowodować uszkodzenie mikrokontrolera. Wiem o tym na własnym przykładzie.

W obecnej chwili walczę aby uruchomić tą matrycę na lpc1768.


AVE

wtorek, 10 stycznia 2012

LCD cz.3 - Nokia 3510i LPC1768 i AVR

I przyszedł czas na opisanie wyświetlacza do Nokii 3510i. Na wstępie warto wspomnieć że jest on obsługiwane przez SPI przy czym ramka danych jest 9-bitowa, więc niestety wykorzystując do tego celu mikrokontrolery 8-bitowe należy obsługiwać go programowo. W porównaniu do lcd od 3310, jest on podpięty do układu sterującego tylko za pomocą czterech linii: RES, CS, DATA i CLK, więc odpadła linia D/C od wyboru Danych/Komendy. Funkcja ta jest realizowana natomiast jest za pomocą pierwszego bitu wysyłanej ramki w taki sam sposób jak dotychczas. Czyli 0 oznacza komendę a 1 dane.

Tworząc bibliotekę do tego lcd stworzyłem dokumentację w doxygen, pdf oraz html. Zachowane są wszystkie podobieństwa jak w przypadku biblioteki do 3310. Mianowicie jest plik konfiguracyjny. Dodatkowo zamieszczone i opisane zostały wszystkie dostępne komendy dla tego wyświetlacza.

Lcd jest obsługiwany przy użyciu SSP (Synchronous Serial Port), posiada on możliwość pracy jako SPI. Przy jego uruchamianiu należy pamiętać o wywołaniu funkcji
SSP_Cmd(SSPx, ENABLE)
Z biblioteki od SSP.

Otrzymane efekty są następujące: