Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

ARM SAM7S256 + JTAG usbScarab2

Wizer 19 Nov 2010 02:00 1958 7
  • #1
    Wizer
    Level 11  
    Witam.

    Mam nie mały problem który próbowałem rozwiązywać na wiele(mizernych) sposobów...

    Otóż, mam w/w zestaw sprzętu. Używam kompilatora Keil, w którym napisałem prosty program mrugający diodą... Mam wygenerowane pliki .elf .hex tip itd...

    Teraz próbuję za pomocą OCDcomander załadować plik do procka ale nie chce mi nawiązać połączenia... :(

    Error:
    Error Response from INITIALIZE: 0x03 initialize_target : cable disconnected (10 :
    03)

    Dodam że wszelkie sterowniki do JTAG'a są zainstalowane i urządzenie jest wykrywane w systemie...

    Może jest inny lepszy pomysł wgrywania plików do pamięci ? Jestem początkującym programistą w tej kwestii...

    Mój problem chciałem rozwiązać przez Openocd ale tam potrzebuję pliku makefile którego nie mam i nie potrafię zrobić...

    Proszą o pomoc...

    Pozdrawiam
    Wizer.
  • #3
    Wizer
    Level 11  
    a mam pytanko, jak mogę załadować plik .hex albo .elf przez openocd...

    mam skonfigurowany openocd łączy mi sie jtagiem, eclipse też mam skonfigurowany z opencd itp. itd. ale żeby eclipse zadziałało, skompilowało i wgrało potrzebny jest makefile którego nie mam...

    jest możliwość wgrania tego pliku bez makefila ? a jak mogę zmienić makefila z Twojej strony ?
  • #4
    Freddie Chopin
    MCUs specialist
    Wizer wrote:
    a mam pytanko, jak mogę załadować plik .hex albo .elf przez openocd...

    Przeczytać manual OpenOCD.

    Quote:
    żeby eclipse zadziałało, skompilowało [...] potrzebny jest makefile

    To jest częściowo prawda.

    Quote:
    żeby eclipse [...] wgrało potrzebny jest makefile

    To jest bzdura.

    Quote:
    jest możliwość wgrania tego pliku bez makefila ?

    Oczywiście - wystarczy przeczytać artykuł "ARM toolchain...".

    Quote:
    a jak mogę zmienić makefila z Twojej strony ?

    Jak tylko chcesz (;

    Zadawanie precyzyjnych pytań nie jest Twoją mocną stroną [; Pamiętaj jednak, że dobrze postawione pytanie zawiera w sobie połowę odpowiedzi.

    4\/3!!
  • #5
    Wizer
    Level 11  
    może moje pytania nie są sprecyzowane bo generalnie nie wiem o co dokładnie pytać...

    Przeczytałem Twój artykuł i mam wszystko skonfigurowane tak jak trzeba...

    Próbuję wgrać plik do procka robiąc to tak:

    1 - Sposób... Połączenie openocd z jtagiem i odpalam drugą konsolę z argumentem: telnet localhost 4444

    wpisuje kolejno:
    reset
    halt
    load c:/7_PIO.hex lub load c:/7_PIO.elf

    i teraz wyskakuje błąd:
    openocd.exe - Zły obraz

    Aplikacja lub biblioteka DLL c:\7_PIO.elf nie jest poprawnym obrazem systemu Windows NT. Sprawdź to z dyskietką instalacyjną.

    2 - Sposób... Połączenie openocd z jtagiem i odpalam drugą konsolę z argumentem: telnet localhost 3333

    czyści mi się konsola, wyskoczy + po chwili: Połączenie z hostem przerwane.
    a w openocd pisze:
    Info: accepting 'gdb' connection form 0
    Error: attemted 'gdb' connection rejected

    3 - Sposób... Odpaliłem z pakietu yagarto: arm-elf-gdb następnie wpisuję:
    load c:\7.PIO.hex i odpowiedź:

    You can't do that when your target is 'None'

    Proszę nakieruj mnie wgrać ten program...
  • #6
    Freddie Chopin
    MCUs specialist
    Wizer wrote:
    1 - Sposób... Połączenie openocd z jtagiem i odpalam drugą konsolę z argumentem: telnet localhost 4444

    wpisuje kolejno:
    reset
    halt
    load c:/7_PIO.hex lub load c:/7_PIO.elf

    W OpenOCD nie ma komendy "load", dlatego polecałem przeczytać manual to tego programu - przecież stosowny rozkaz można wyszukać w minutę...

    Quote:
    2 - Sposób... Połączenie openocd z jtagiem i odpalam drugą konsolę z argumentem: telnet localhost 3333

    Nie można połączyć się telnetem z kanałem dla GDB.

    Quote:
    3 - Sposób... Odpaliłem z pakietu yagarto: arm-elf-gdb następnie wpisuję:
    load c:\7.PIO.hex i odpowiedź:

    You can't do that when your target is 'None'

    Wgrywanie przez GDB jest opisane w tutorialu, są gotowe skróty w przykładowych projektach. Akurat nie ma dla Atmela, ale idea jest taka sama - wystarczy zerknąć na ostatnią stronę tematu o tutorialu, żeby dowiedzieć się jak należy ustawić wszystko w najnowszej wersji Eclipse.

    Idź ścieżką nr 1, tylko weźże w końcu przeczytaj manuala do OpenOCD - odkąd zacząłeś ten temat zrobiłbyś to już 3x...

    P.S. Zamiast osobnego "reset" i "halt" wpisuj na przyszłość tylko jedno "reset halt".

    4\/3!!
  • #7
    Wizer
    Level 11  
    No przeglądnąłem manuala do openocd i znalazłem:

    load_binary <file> <address>
    Load binary file into target memory at address.

    więc analogicznie wpisuję:
    load_binary objs/01_pio_led_sw_JTAG_RAM.bin 0x200000

    i odpowiedź:
    Runtime error, file "comand.c", line 650:
    invalid command name "load_binary"