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.

[WinARM] Jak rozpocząć... bo przykłady nie działają...

marenc 12 Gru 2007 19:32 8142 21
  • #1 12 Gru 2007 19:32
    marenc
    Poziom 24  

    Witam, mam WinARM, a wcześniej korzystałem z Keil'a(ale ograniczenie kodu mnie dobiło). Jak włączam PN i uruchamiam coś z "examples" to wyrzuca mi 17 błędów w Makefile:

    Cytat:
    > "make.exe" all
    MAKE Version 5.2 Copyright (c) 1987, 1998 Inprise Corp.
    Error makefile 181: Command syntax error
    Error makefile 183: Command syntax error
    Error makefile 185: Command syntax error
    Error makefile 337: Colon expected
    Error makefile 347: Command syntax error
    Error makefile 348: Command syntax error
    Error makefile 349: Command syntax error
    Error makefile 359: Command syntax error
    Error makefile 360: Command syntax error
    Error makefile 361: Command syntax error
    Error makefile 365: Command syntax error
    Error makefile 366: Command syntax error
    Error makefile 367: Command syntax error
    Error makefile 378: Command syntax error
    Error makefile 379: Command syntax error
    Error makefile 380: Command syntax error
    Error makefile 425: Command syntax error
    *** 17 errors during make ***

    > Process Exit Code: 1
    > Time Taken: 00:00

    Co jest tego powodem? Jak sobie z tym poradzić?

    Pytanie banalne, ale nie miałem nigdy styczności z plikami Makefile, a Eclipse mi niezbyt odpowiada :(

    0 21
  • CControls
  • #2 12 Gru 2007 19:45
    Pituś Bajtuś
    Poziom 28  

    Było już setki razy. Odinstaluj C++ Buldera lub co też tam masz z Borlanda. Po prostu zły make.exe jest uruchamiany. Ewentualnie zmeń nazwe pliku make.exe z WinARM na inną (np gmake) i zmodyfikuj polecenia wydawane przez PN.

    0
  • #3 12 Gru 2007 19:59
    marenc
    Poziom 24  

    A można dokładniej? Mam Delphi7, ale korzystam z niego i nie mogę go odinstalować...

    Próbowałem zmienić ustawienia w PN2 na
    /WinARM/utils/bin/make.exe
    ale nadal wyrzuca mi tym razem błędy...

    Jak zmieniłem nazwę na makee.exe to wyrzuca błędy(patrz niżej)...

    Cytat:
    > "E:\Elektroniczne\Mikrokontrolery\ARM\WinARM\utils\bin\makee.exe" all

    -------- begin --------
    process_begin: CreateProcess((null), arm-elf-gcc --version, ...) failed.
    make (e=2): Nie można odnaleźć określonego pliku.

    E:\Elektroniczne\Mikrokontrolery\ARM\WinARM\utils\bin\makee.exe: *** [gccversion] Error 2

    > Process Exit Code: 2
    > Time Taken: 00:00

    0
  • CControls
  • #4 12 Gru 2007 20:04
    mazdziez
    Poziom 10  

    Hej,

    W moim przypadku był podobny problem. Jego rozwiązanie to tymczasowe wywalenie ścieżek do jakichś make`ów z zmiennej środowiskowej PATH. Ja musiałem wywalić ścieżli do Bolanda c++ ponieważ przysłaniały one gnu make.

    Pozdrawiam
    Michał

    0
  • #5 12 Gru 2007 20:19
    qrdel
    Poziom 28  

    Niestety też same obejścia stosowałem:
    - oddzielne zawartości zmiennej PATH, zmieniane programikiem
    - różni użytkownicy, z różnymi zmiennymi środowiskowymi (jeden ma Borlanda a drugi ma ARMa)
    - oddzielny komputer do programowania ARMa

    0
  • #6 12 Gru 2007 23:07
    marenc
    Poziom 24  

    A może znacie jakiś alternatywny program/kompilator?

    Keil jest zaje*****, ale ograniczenie nie pozwala pracować ... IAR jest średni, ograniczenie do 32kB to wałek, a czasowych nie będę co chwilę instalował :P

    Dodano po 1 [godziny] 22 [minuty]:

    Cofam pytanie, bo ruszyło :D Mam inne ;)

    Wygenerowany przez makefile program main.hex po przekonwertowaniu na BIN jest pusty ... jak otwieram HEX'a to mam dziwne znaczki ... w make file mam zaznaczone IHEX to tego wina?

    I jeszcze jedno ... gdzie mogę zobaczyć ile zajmuje kod który zostanie wgrany do mikrokontrolera? To jest .TOTAL w podsumowaniu? Czy możliwe, żeby zapalenie LED'a i pusta pętla miała 16k?

    0
  • Pomocny post
    #7 12 Gru 2007 23:30
    Pituś Bajtuś
    Poziom 28  

    mariuszlorenc napisał:
    I jeszcze jedno ... gdzie mogę zobaczyć ile zajmuje kod który zostanie wgrany do mikrokontrolera? To jest .TOTAL w podsumowaniu?

    .text

    0
  • #8 13 Gru 2007 08:40
    fantom
    Poziom 31  

    mariuszlorenc napisał:

    Wygenerowany przez makefile program main.hex po przekonwertowaniu na BIN jest pusty ... jak otwieram HEX'a to mam dziwne znaczki ... w make file mam zaznaczone IHEX to tego wina?

    Pytanie 1
    - po co konwerujesz na bin-a i jak to robisz ?
    Pytanie 2
    - co to znaczy "dziwne znaczki"

    mariuszlorenc napisał:

    I jeszcze jedno ... gdzie mogę zobaczyć ile zajmuje kod który zostanie wgrany do mikrokontrolera? To jest .TOTAL w podsumowaniu? Czy możliwe, żeby zapalenie LED'a i pusta pętla miała 16k?

    Do zrzucania informacji sluzy program objdump w pakiecie binutils, o opcjach musisz sobie poczytac. Informacje odczytuje z pliku elf (lub coff) ktory jest plikiem wynikowym linkera. Z tegoz samego pliku powstaje hex (lub np srec) ktory jest plikiem opisujacym obraz pamieci.

    0
  • #9 13 Gru 2007 08:46
    marenc
    Poziom 24  

    1. hex2bin.exe ... aby zaprogramować mikrokontroler programem SAM-BA.
    2. Dziwne znaczki znaczy ... znaki luźno porozmieszczane w pliku tekstowym ... i nie przypomina on standardu pliku HEX z Microsoft'u

    0
  • #10 13 Gru 2007 12:16
    fantom
    Poziom 31  

    mariuszlorenc napisał:
    1. hex2bin.exe ... aby zaprogramować mikrokontroler programem SAM-BA.

    Dziwne bo nowsze programatory raczej korzystaja z hex-ow lub srec-ow ale OK.
    mariuszlorenc napisał:

    2. Dziwne znaczki znaczy ... znaki luźno porozmieszczane w pliku tekstowym ... i nie przypomina on standardu pliku HEX z Microsoft'u

    Zawsze wiedzialem ze to Intel-HEX. Najlepiej wrzuc tu Makefile i ten niesczesny hex to bedzie mozna cos wywnioskowac bo na razie ciagle ciemno.

    0
  • Pomocny post
    #11 13 Gru 2007 16:48
    adamusx
    Poziom 27  

    mariuszlorenc napisał:
    1. hex2bin.exe ... aby zaprogramować mikrokontroler programem SAM-BA.
    2. Dziwne znaczki znaczy ... znaki luźno porozmieszczane w pliku tekstowym ... i nie przypomina on standardu pliku HEX z Microsoft'u


    SAmba korzysta z bina tak samo chyba openocd ale tego juz nie pamietam.

    Nie musisz uzywac programu hex2bin.exe do konwersji. Wystarczy ze makefile ustawisz format wyjsciowy z hex na binary. Moze sie zdazyc ze po ustawieniu na binary dostaniesz plik z rozszerzeniem *.hex (pamietam ze mialem taki problem z makefile z przykladow z WinARMa) mimo wszystko jest to plik bin tylko z rozszerzeniem hex.

    0
  • #12 13 Gru 2007 17:20
    marenc
    Poziom 24  

    No jak miałem zmienione na binary to miałem plik HEX i się przestraszyłem...

    Teraz mam takie pliki(który jest dobry do SAM-BA? Bo po konwersji hex2bin nadal nie otrzymuje bliku z binariami):

    0
  • #13 13 Gru 2007 17:55
    fantom
    Poziom 31  

    Hex wyglada wporzu, binary to tak naprawde tez hex i czemu sie nie robi binarka w tej chwili nie wiem ale postaram sie dowiedziec sprawdzajac u siebie. Makefile rowniez ok.

    Sprobuj z linii polecen sprobowac zrobic binarke za pomoca komendy
    arm-elf-objcopy --output-format=binary main.elf main.bin

    0
  • Pomocny post
    #14 13 Gru 2007 20:48
    adamusx
    Poziom 27  

    mariuszlorenc napisał:
    No jak miałem zmienione na binary to miałem plik HEX i się przestraszyłem...

    Teraz mam takie pliki(który jest dobry do SAM-BA? Bo po konwersji hex2bin nadal nie otrzymuje bliku z binariami):


    A ja sie pytam po co uzywasz tego programu hex2bin???
    Ustaw w makefile plik wynikowy na "binary " i jak otrzymasz plik po kompilacji czy to z rozszerzeniem bin czy z hex jak miales ustawiony na binary to jest to plik binarny. Wskaz SAMBA ten plik ktory wygenerowales (moze byc z rozszerzeniem hex - SAMBIE to wszystko jedno) i wgraj do procka.

    0
  • #15 13 Gru 2007 21:12
    marenc
    Poziom 24  

    Rzeczywiście ... "adamusx" ma rację ... SAM-BA przyjmuje ten plik i dobrze się programuje :D

    Dodaj jeszcze tylko jedno pytanko ...

    Prosił bym o link do JTAG'a NIE pod LPT i instrukcję jak programować z poziomu PN2?(OpenOCD tak? to będzie w tle robione czy osobno jak programem SAM-BA?)

    0
  • Pomocny post
    #16 30 Sty 2008 16:19
    unnamed
    Poziom 13  

    Dla zainteresowanych .... Keilem i wynikiem *.bin
    gdzies juz tu ktos pisal ze keil nietworzy BIN-a juz niepamietam gdzie ale jednak tworzy jesli sie go skonfiguruje odpowiednio.
    Dla mnie byl to problem wiec opisze jak to zrobic dla pozostalych raczkujacych.
    w folderze keila jest plik c:\keil\ARM\BIN31\fromelf.exe
    on konweruje z axf do bin nalezy go skopiowac do naszego projektu
    w opiach projektu w zakladce User
    Run User Programs After Built/Rebuilt zaznaczamy RUN i wklejamy takie cos
    C:\Keil\fromelf.exe --bin plik_do_kompilacji.axf --output plik_wynikowy.bin
    oczywiscie z odowiednimi nazwami naszych plikow i sciezkami.
    po tym zabiegu kompilujac od razu wychodzi nam gotowy bin do SAMBY.

    0
  • #17 30 Sty 2008 16:31
    marenc
    Poziom 24  

    A no przydało się :D Już nie muszę się męczyć ;) Takie proste, a takie pożyteczne ;)

    0
  • #18 15 Lip 2009 07:43
    drosak
    Poziom 1  

    Polecam strone www.drosak.exroot.org Jest w rozbudowie, ale przy jej pomocy bez problemu oprogramujesz Cortexy ;-)

    0
  • #19 15 Lip 2009 09:31
    Freddie Chopin
    Specjalista - Mikrokontrolery

    A ja polecam brać porady tam przedstawione z przymrużeniem oka (pomijając fakt, że jedyny artykuł który tam jest nie jest autorstwa własciciela strony). WinARM to chyba najstarszy istniejący pakiet. Od roku 2006 (ostatnia wersja WinARM) dosyć sporo się zmieniło, szczególnie w przypadku tak nowej architektury jak Cortex. Narzędzia dołączone do pakietu (lpc21isp) nie sa już od dawna wspierane przez NXP i zastąpione innymi, lepszymi (Flash Magic). Poza WinARMem jest mnóstwo innych, nowszych pakietów (Yagarto i CodeSourcery szczególnie, ale nawet GNUARM jest nowszy).

    https://www.elektroda.pl/rtvforum/topic1313509.html

    4\/3!!

    0
  • #20 27 Sie 2009 18:59
    sebek_sc
    Poziom 10  

    Witajcie,
    Próbowałem skompilować WinArm'em obojetnie jaki przykład zawarty w katalogu examples niestety bez powodzenia. Pewnie robie jakiś głupi błąd wynikający z braku doświadczenia. Google i opcje szukaj elektrody mi nie pomogły więc może ktoś z was byłby w stanie mi pomóc - Z góry dziękuje!
    - rozpakowałem WinArm'a
    - dodałem zmienne systemowe zgodnie z jakimś opisem pdf znalezionym na necie (oczywiście ścieżki odpowiadają tym miejscą gdzie rzeczywiście są pliki); w jednej ze ścieżek podałem od razu nazwę makefile żeby nie było że gdzieś mam innego - mam tam wpisane:

    ;C:\WinARM\bin;C:\WinARM\utils\bin\make.exe;

    -odpaliłem WinArm nie było w tools żadnej opcji kompilacji więc dodałem swoją nową - pewnie tam mam źle któreś pole wypełnione (screen w załączniku)
    - otworzyłem obojetnie który projekt z folderu examples i wyskoczyło w powiadomieniu: "no rule to make target" (powiadomienie też widać w załączniku)

    [WinARM] Jak rozpocząć... bo przykłady nie działają...
    ....i pytanie czego jeszcze nie ustawiłem?? Prosiłbym o proste wytłumaczenie bo dopiero zaczynam się tym bawić i narazie się bardzo słabo orientuje w temacie.

    0
  • #21 27 Sie 2009 20:21
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Przeczytałeś wszystkie posty z tego tematu? Choć ostatni? Czy od razu - bach, nowy post?

    4\/3!!

    0
  • #22 28 Sie 2009 11:17
    sebek_sc
    Poziom 10  

    Dzięki za odpowiedź. Przeczytałem. Twoja stronka jest w porzadku i chyba zacznę instalować oprogramowanie proponowane przez Ciebie - mam nadzieję, że się uda.

    Zależało mi żeby odpalić właśnie WinArm dlatego, że chciałem zacząć od uruchomienia gotowych projektów z tej książki: http://www.shop.kristech.eu/product_info.php?products_id=238
    A nie mam narazie doświadczenia żeby umieć przeskakiwać z danym projektem pomiedzy róznymi programami. Czasami używamy popularnych programów tylko dlatego, że jest więcej gotowców i opisów a nie dlatego, że są lepsze. I może tu chwała Ci za to, że promujesz lepsze oprogramowanie.

    Udało mi się w końcu to uruchomić - jakby ktoś początkujący miał z tez z tym problemy to w edit tool properits nalezy ustawić:
    -command - C:\WinARM\utils\bin\make.exe
    -folder - scieżka do folderu z projektem a nie do jakiegoś wyższego katalogu (na poczatku dałem cały katalog WinArm i przez to nie hulało)
    -reszta bez zmian

    0