Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[LPC1768][C] - płytka deweloperska LandTiger programowanie

krecik245 31 Sie 2013 17:57 2460 7
  • #1 31 Sie 2013 17:57
    krecik245
    Poziom 8  

    Witam.

    Nadszedł czas aby rozpocząć przygodę z ARMami.
    Do pracy inżynierskiej będę używać mikrokontrolera NXP LPC1768.
    Aby poznać ten mikrokontroler oraz jak się programuje na ARM zakupiłem moduł uruchomieniowy LandTiger z tym mikrokontrolerem. taka standardowa płytka

    Środowiska jakiego używam to Keil uVision 4 (najaktualniejsza wersja)
    Do ładowania programu miałem w zamiarze używać Flash Magic (aktualna wersja 7.6)
    Posiadam Windows 7 z SP1

    Po szybkim zapoznaniu się z pinoutem, portami oraz Keilem wyszkrobałem taki programik(tak aby przetestować):
    [LPC1768][C] - płytka deweloperska LandTiger programowanie

    I chcąc wgrać program zaczęły się dwu dniowe schody. Nie mam już pomysłu dlatego zawracam Wam głowę.
    (Przy pierwszym podpięciu poprzez USB płytka została wykryta i sterownik został zainstalowany)
    Program chcę wgrać poprzez gniazdo USB wykorzystując J-LINKa co jest na płytce. Czy przy próbie czyszczenia pamięci, czy wgrywania, jakiego kolwiek ruchu wysypuje mi:
    [LPC1768][C] - płytka deweloperska LandTiger programowanie

    Zmiana prędkości transmisji nic nie pomaga, przeleciałem całą listę od góry do dołu. Zawsze to samo. Szukając po internecie nie znalazłem rozwiązania.

    Ustawienia Flash Magic'a:
    [LPC1768][C] - płytka deweloperska LandTiger programowanie


    Tak jak widziany jest port w komputerze:
    [LPC1768][C] - płytka deweloperska LandTiger programowanie [LPC1768][C] - płytka deweloperska LandTiger programowanie [LPC1768][C] - płytka deweloperska LandTiger programowanie





    Próbując aktualizować sterownik system wyrzuca komunikat, że posiadam aktualną wersję sterownika.

    Próbowałem również tak jak tu wspomniano wciskając przycisk INT0 oraz RESET wejśc do bootloadera i wtedy wepchnąć program. Niestety, wciskając te dwa przyciski pojawia się tylko biały ekran i też błąd taki jak wcześniej.


    1. Pomożecie, podpowiecie w czym jestem aż tak głupi i gdzie popełniam błąd?
    2. Jako, że wyjeżdżam na dwa tygodnie, chciałem zabrać płytkę ze sobą i męczyć LPC'ka i się go uczyć gdyż styczeń i termin oddania pracy inżynierskiej coraz bliżej ;)
    Mam netbooka ASUS R101 z standardowym systeme Win7 Starter, w tym problem, że jednak po podpięciu w nim płytki poprzez USB wyskakuje komunikat, że instalacja urządzenia nie powiodła się, nie widzi go, windows nie jest w stanie pobrać sterownika.
    Podpowiecie co mu wepchnąć do systemu aby chciał tą płytkę widzieć?

    Z góry dzięki za pomoc i przepraszam za elaborat.


    EDIT:
    Oczywiście płytka po podłączeniu do zasilania czy to po USB czy przez zasilacz załącza się i wgrany demonstracyjny program działa.

    0 7
  • CControls
  • #2 31 Sie 2013 19:37
    gufiak
    Poziom 21  

    To co próbujesz zrobić, to skomunikować się z bootloaderem zapisanym w ROMie procesora. Do komunikacji z nim nie używasz J-Linka, tylko portu szeregowego lub przejściówki USB-RS232 podpiętego pod UART0 w procesorze. Żeby wywołać bootloader, musisz też wymusić stan niski na P2 podczas resetu. Musisz wgryźć się w dokumentację i zobaczyć jak to wygląda na płytce. Podejrzewam, że to wszystko zostało przewidziane.

    No i ostatnia sprawa - musisz podać częstotliwość kwarca w polu "Oscillator". Przy inicjalizacji komunikacji z bootloaderem musi być wysłana ta częstotliwość. Podejrzewam, że flash magic przy pustym polu wysyła jakąś domyślną wartość, która niekoniecznie musi być prawidłowa.

    A jak chcesz się bawić J-Linkiem, to wtedy komunikujesz się z jednego z obsługujących go środowisk programistycznych, które masz m.in. tutaj wylistowane:
    http://www.segger.com/jlink-ide-integration.html

    Lub wykorzystujesz oprogramowanie stworzone do obsługi tego debuggera:
    http://www.segger.com/j-link-software.html

    0
  • #3 31 Sie 2013 20:24
    krecik245
    Poziom 8  

    gufiak, dzięki za pomoc i za zainteresowanie ;)

    może po kolei:

    Cytat:
    Żeby wywołać bootloader, musisz też wymusić stan niski na P2 podczas resetu. Musisz wgryźć się w dokumentację i zobaczyć jak to wygląda na płytce. Podejrzewam, że to wszystko zostało przewidziane


    Tak jak wspominałem do bootloadera się dostaję, wduszając przycisk opisany jako INT0 oraz reset.
    INT0 zwiera do masy pin 2.10 LPC'ka opisany jako ISP.
    Poniżej schemat:
    [LPC1768][C] - płytka deweloperska LandTiger programowanie [LPC1768][C] - płytka deweloperska LandTiger programowanie

    Oczywiście zworkę JP5 mam założoną.


    Jeszcze dorzucę schemat J-LINK'a na STM32F103 ;)
    [LPC1768][C] - płytka deweloperska LandTiger programowanie


    Omówienie tej płytki oraz programowanie uC wykorzystując J-TAG'a oraz RS232 pokazał dokładnie na tej płytce bardzo fajnie na YT ten oto Pan.
    (wrzucam zestaw linków, może być przydatny dla kogoś w przyszłości kto się zainteresuje tą płytką)
    część 1-1
    część 1-2
    część 1-3
    część 2-1 programowanie Flash Magic
    część 2-2 programowanie RS232
    (pod koniec części 2-2 mówi, że pokaże jak zaprogramować za pomocą USB i J-LINK'a, niestety taka część nie powstała. a też kupując tę płytkę miałem info, że można po USB programować. widać, że było to nie sprecyzowane)
    Jak miałem AVR'a to miałem na płytce transceiver usb-rs232 i bez problemu wpinałem USB i programowałem. Fakt, tu tego nie ma.

    Wychodzi na to, że najszybszą metodą jest zaopatrzyć się w kabel-przejściówkę USB-RS232.


    gufiak jeszcze raz dzięki za pomoc i za zainteresowanie!
    Spróbuję po tych linkach co podałeś rozgryźć J-LINK'a
    (tak na prawdę moje pierwsze spotkanie z J-LINK'iem)
    punkty poleciały do Ciebie ;)

    0
  • CControls
  • #4 01 Wrz 2013 12:07
    qscgu
    Poziom 34  

    Nie nie nie nie nie nie i jeszcze raz nie.

    Olej temat bootloadera kompletnie bo dopiero piszesz kod a masz nie dość że JTAGA to jeszcze płytka którą kupiłeś ma pełne gniazdo JTAG. Przecież to kompletnie bez sensu mając pełne narzędzia do debugowania bawić się w bootloadery.

    Mega szybki start:
    Ściągasz CooCoxa tworzysz nowy projekt wybierasz procesor i wszystkie potrzebne ci biblioteki z repozytorium. Klikasz prawym na nazwe projektu, Configure, i wybierasz w zakładce Debugger opcje J-Link oraz podajesz mu ścieżkę do gdb server command line tool (do tego http://www.segger.com/jlink-gdb-server.html).. Następnie klikasz na ikonę robaka (ctrl + F5) i procesor się programuje.

    0
  • #6 01 Wrz 2013 22:33
    krecik245
    Poziom 8  

    Problem rozwiązany.

    Instalacja jlink arm segger pozwoliła zainstalować sterownik tak, ze win7 starter wykrywa poprawnie J-LINK'a.
    Dwu godzinna walka z Keil'em (robił to poprzez pulpit zdalny bardzo dobry programista obeznany z niejednym środowiskiem i uC) dała tyle, ze pamięć uC udało się wyczyścić z programu demonstracyjnego ale wgrać się już nic nie dało. sypało błędem.
    Dodatkowo Keil protestował przy otwieraniu jakichkolwiek projektów - m.in. example dostarczone z płytą do uC.

    W przypływie bezradności padło stwierdzenie "instaluj atollic studio-tego używam i nigdy nie mam problemów"
    Po zainstalowaniu atollica, ustawieniu w nim J-LINK, pierwszy lepszy program blink led wszedł do uC bez szemrania. operacja trwała 10 minut, debuger i wszystko śmiga elegancko.

    Czemu Keil miał takie opory?! nie wie nikt.
    Ale jako programistycznemu amatorowi Atollic bardzo mi się spodobał.
    Od razu po wybraniu uC dodaje wszystkie potrzebne startup'y no i ma bardzo przyjazny interfejs.

    0
  • #7 01 Wrz 2013 22:46
    excray
    Poziom 39  

    krecik245 napisał:
    Od razu po wybraniu uC dodaje wszystkie potrzebne startup'y no i ma bardzo przyjazny interfejs.

    Tylko długo kompiluje... Przynajmniej w porównaniu do CooCox'a.

    0
  • #8 01 Wrz 2013 22:54
    krecik245
    Poziom 8  

    excray napisał:
    krecik245 napisał:
    Od razu po wybraniu uC dodaje wszystkie potrzebne startup'y no i ma bardzo przyjazny interfejs.

    Tylko długo kompiluje... Przynajmniej w porównaniu do CooCox'a.


    Skoro tak mówisz to pewnie tak jest :)
    na coś takiego (jeszcze) nie zwracam uwagi, pisanie softu traktuje jako przykrą konieczność.
    Także na moje potrzeby wydaje się być wszystko ok.

    Chciałbym podziękować wszystkim, którzy się udzielili, za zainteresowanie, poświęcony czas oraz chęć pomocy ;) DZIĘKI!

    0