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

[STM32]Konfiguracja Eclipse + ARM (zestaw STM32VLDISCOVERY) - TUTORIAL

Adaszeq 14 Sty 2012 15:00 16731 62
  • #31 14 Sty 2012 15:00
    Kleczkoś
    Poziom 10  

    Freddie Chopin napisał:
    Adaszeq napisał:
    Może niedługo OpenOCD będzie wspierał STlink'a i rozwiąże ten problem ;p

    Już wspiera (; Patche zostały dodane do głównego repozytorium, na razie jest z mojej strony dostępna tylko taka "testowa binarka", a taka "normalna" jest w planach za jakieś 1.5 miesiąca (jakoś tak wyszło, że nową kompilację udostępniam co 2 miesiące). Jeśli jest zainteresowanie, to mogę się pospieszyć...

    O którym pliku tu mowa?
    O OpenOCD 0.5.0 z folderu Download\Programy\Open OCD,
    czy o OpenOCD 0.6.0 z folderu Download\Programy\Open OCD dev?

  • Computer Controls
  • #33 17 Sie 2012 16:00
    23844
    Użytkownik usunął konto  
  • #34 17 Sie 2012 17:32
    alagner
    Poziom 25  

    Tzn. czego nie próbowałeś? Serwera z Atollica? Działa ok.

    Z tym, że uprawiać sztuki pt. wyciągać gdbserver z innego środowiska można na etapie nauki, ale docelowo (i zawodowo) nie chciałbym pracować na zamkniętym sofcie. A na pewno nie na nielegalnym ;)

    BTW - Freddie, to nowe OpenOCD ST Linka/V2 wspiera normalnie czy trzeba robić jakieś dzikie sztuki? Pytam , bo wersja 0.6 dev z Twojej stronki działa generalnie ok, ale od czasu do czasu errorami sypała. Jeśli jest lepiej to się pobawię ale nie chcę pchać się w nic nie mając pewności, bo dwa miechy temu stawiałem system po tym jak drivery libusb do innego jtaga położyły mi całe USB w kompie ;)

  • #35 17 Sie 2012 18:37
    Freddie Chopin
    Specjalista - Mikrokontrolery

    No generalnie działa od jakiegoś czasu już - zarówno ST-Link/V2 jak i V1. Od wersji 0.6.0-rc1 w górę interfejsy te wymagają sterownika WinUSB (libusb-1.0).

    4\/3!!

  • Computer Controls
  • #36 17 Sie 2012 21:19
    23844
    Użytkownik usunął konto  
  • #37 17 Sie 2012 21:30
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Zrób to po prostu tak:

    https://www.elektroda.pl/rtvforum/topic1313509.html
    https://www.elektroda.pl/rtvforum/topic1339518-0.html

    W OpenOCD działa ST-Link więc będziesz miał wszystko. Wtyczkę do robienia strasznie skomplikowanej sprawy w postaci generowania Makefile sobie daruj i po prostu oprzyj całość na którymś z przykładów z mojej strony - importujesz do Eclipse i działa - nic nie trzeba konfigurować.

    4\/3!!

  • #38 23 Sie 2012 14:47
    23844
    Użytkownik usunął konto  
  • #39 23 Sie 2012 15:06
    gaskoin
    Poziom 38  

    Do samego programowania JTAG nie jest potrzebny bo wszystkie układy STM32 mają fabrycznie wgrany, nienadpisywalny bootloader.

  • #40 23 Sie 2012 15:22
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Czemu ty chcesz włączać konfig dla VSLINKa skoro masz ST-Linka? Przecież w OpenOCD jest nawet gotowy konfig dla płytki discovery, ale lepiej ponarzekać jak to wszystko jest beznadziejne bo nie działa tak jak Ty sobie to wymarzyłeś...

    4\/3!!

  • #41 23 Sie 2012 16:28
    23844
    Użytkownik usunął konto  
  • #42 23 Sie 2012 22:41
    Freddie Chopin
    Specjalista - Mikrokontrolery

    e-mega napisał:
    Rozminęliśmy się w rozumowaniu, bo ja nie mam pojęcia co tam wpisać. Wszedłem w google i znalazłem "-f interface/vsllink-swd.cfg -f target/stm32f1x.cfg" nie wiem co powinno tam być wpisane by korzystać z ST-Link.

    Ciekawe tłumaczenie... W paczce z OpenOCD masz 3 foldery - board, interface, target. Czy to naprawdę tak dużo roboty, żeby przejrzeć co w którym jest i dojść do jakichś wniosków? Może nawet znalazłbyś plik, który ma bardzo tajemniczą nazwę stm32vldiscovery.cfg - kto wie?

    4\/3!!

  • #43 24 Sie 2012 14:48
    23844
    Użytkownik usunął konto  
  • #44 24 Sie 2012 14:58
    Freddie Chopin
    Specjalista - Mikrokontrolery

    A skąd wziąłeś OpenOCD 0.5.0 dla windowsa? Może w tym samym miejscu jest też wersja 0.6.0-rc1? Szukałeś?

    4\/3!!

  • #45 24 Sie 2012 15:13
    23844
    Użytkownik usunął konto  
  • #46 24 Sie 2012 22:31
    willyvmm
    Poziom 27  

    Wczoraj skonfigurowałem całe środowisko,

    Sourcery CodeBench Lite 2012.03-56
    Eclipse Juno
    OpenOCD 0.6.0.RC1

    Wszystko ruszyło niemal od pierwszego odpalenie, po drobnych zmianach dostosowujących do posiadanego sprzętu. (STM32L-Discovery)

    Świetny tutorial :)

    Oops, pomyliłem wątki, korzystałem z tutoriala Freddiego Chopina.

  • #47 13 Wrz 2012 16:18
    tadeek2
    Poziom 10  

    Mam pytanie z innej beczki:)
    Co mam zrobić aby w Atollic TrueStudio pokazywało mi rozmiar wgrywanego programu?

  • #48 19 Sie 2013 20:01
    dzeniu
    Poziom 10  

    Przeszedłem całą konfiguracje i wszystko ładnie pięknie sterta błędów która mi się udało wyeliminować importując odpowiedni pliki do projektu. mam jeden błąd, podobno linkera:

    Code:
    undefined reference to `_sbrk'

    Drzewko katalogów:
    [STM32]Konfiguracja Eclipse + ARM (zestaw STM32VLDISCOVERY) - TUTORIAL

  • #49 19 Sie 2013 20:04
    alagner
    Poziom 25  

    Dołącz implementację syscalls.

  • #50 19 Sie 2013 20:23
    dzeniu
    Poziom 10  

    Dzięki zaczęło się bildować niemniej jednak pojawił się kolejny problem. identyczny projekt skompilowany za pomocą TrueStudio działa po wgraniu natomiast tutaj nie. Jest również identyczna ilość warnings.

  • #51 19 Sie 2013 20:28
    alagner
    Poziom 25  

    Jaki masz skrypt linkera, syscallsy i rozbiegówkę?

  • #52 19 Sie 2013 20:39
    dzeniu
    Poziom 10  

    Nie jestem w stanie odpowiedzieć na to pytanie, gdyż jestem laikiem. Postępowałem zgodnie z tutorialem, ewentualnie gdzie mogę uzyskać odpowiedz na pytanie które zadąłeś?

  • #53 19 Sie 2013 21:54
    alagner
    Poziom 25  

    Pliki .ld, startup.S/startup.c/startup.s [nie wiem jak się nazywają], syscalls.c albo podobny.

    I co konkretnie nie działa?

  • #54 20 Sie 2013 20:00
    dzeniu
    Poziom 10  

    Mam skopiowany do głównego katalogu następujące pliki:
    stm32_flash.ld - jest skopiowany z TrueStudio, ale probowalem rownież na jakiejś konfiguracji z neta odpalić i również nic
    startup_stm32f10x_md.s oraz startup_stm32f10x_md_vl.s skopiowane z biblioteki dostarczanej przez ST
    syscalls.c - ściągnięte z neta dla STM32F103.

    Sprawdziłem w stm32_flash.ld i program teoretycznie powinien się ładować w odpowiednim sektorze pamięci.
    Niestety nie moge przedbagowac problemu bo korzystam z programatora RLink. Dodam że wygenerowany plik elf w TrueStudio jest nieporównywalnie mniejszy i po wgraniu działa bez zarzutów. Wygląda to tak jakby kontroler ogóle nie zaczynał pracy.

  • #55 20 Sie 2013 20:31
    alagner
    Poziom 25  

    wyeksportuj ten projekt do zipa i wrzuć go jako załącznik...

  • #56 20 Sie 2013 21:02
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Ja stawiam na złe rozszerzenie plików assemblerowych (powinno być .S, a nie .s), bo jakby je w ogóle kompilował i linkował to byś miał błąd, że masz DWA startupy i DWIE tablice wektorów.

    Jak zwykle więc polecam oprzeć dalsze działania o mój przykładowy projekt, który - w przeciwieństwie do innych znalezionych "w necie" - działa (;

    https://www.elektroda.pl/rtvforum/topic1339518-0.html

    4\/3!!

  • #58 20 Sie 2013 21:47
    Freddie Chopin
    Specjalista - Mikrokontrolery

    To Ci nigdy nie zadziała - skrypt linkera zawiera tagi html, a startupy są dla Keila, a nie GCC. Sugestii z poprzedniego postu nie ma co powtarzać.

    4\/3!!

  • #59 21 Sie 2013 09:58
    dzeniu
    Poziom 10  

    Super przygotowany projekt dzięki Freddie. Mam teraz problem z komendą cs-make. Zainstalowałem ponownie Sourcery G++ Lite Edition w katalogu do którego ścieżka jest ścisła (bez żadnych spacji) i wyrzuca błąd podczas bildowania że nie może uruchomić cs-make.

  • #60 21 Sie 2013 10:03
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Proponuję "do kompletu" zainstalować też CoreUtils (instalka na stronie) - koniecznie w ścieżce bez NAWIASÓW (spacje akurat tutaj mało przeszkadzają) i zmienić "cs-make" na "make" w opcjach projektu (albo skopiowac plik pod nazwą cs-make - też opcja). Generalnie sprawdź czy możesz uruchomić cs-make (lub make) z wiersza poleceń, z dowolnej lokalizacji, np. tak:
    > c:
    > cs-make --version // lub "make --version"

    Jeśli make/cs-make działa z linii komend, wywoływane z głównego folderu na C:, to w Eclipse też powinno zadziałać (ewentualny restart jeśli coś robiłeś "na żywo" - PATH nie zawsze się "propaguje" automatycznie).

    4\/3!!