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

STM32L - Win7+Eclipse+STLink/V2

Demmo 07 Lut 2014 15:10 3324 30
  • #1 07 Lut 2014 15:10
    Demmo
    Poziom 16  

    Witam!

    Czy mógłby ktoś mi pomóc z konfiguracją środowiska do programowania STM32(L)?
    Mam wrażenie, że kręcę się w kółko, bo nie chcąc wydawać tysięcy na płatne, skonfigurowane środowiska, muszę się wgryźć z tematy, które dotąd mnie nie interesowały, czyli buildery, linkery i inne takie...

    Rzeczy, które przyjąłem jako założenia wyjściowe:
    - Eclipse (na Win7)
    - Zewnętrzny STLink/V2 (ewentualnie mam jeszcze STM32L-Discovery z STM32L152RBT6 na pokładzie i wbudowanym STLinkiem)

    Próbowałem dodać CodeSourcery i OpenOCD - po wpisaniu w cmd komendy mam:
    STM32L - Win7+Eclipse+STLink/V2
    więc zakładam, że działa i są w PATH.

    Znalazłem gdzieś instrukcję, żeby do obsługi STLinka użyć serwera GDB z TrueSTUDIO Lite, choć nie wiem czy to dobra droga, bo nigdzie indziej tego nie widziałem. W każdym razie dodałem taki External Tool...
    STM32L - Win7+Eclipse+STLink/V2

    Druga opcja, chyba alternatywna do powyższej, to ustawienia w GDB Hardware Debugging...
    STM32L - Win7+Eclipse+STLink/V2
    W zakładce Main mam póki co puste C/C++ Application, bo nie robiłem żadnego Builda i Search Project... jest puste.
    GDB (DSF) na dole okna przełączyłem na Standard GDB...
    W zakładce Startup mam zaznaczone Reset and Delay (seconds): 1, odznaczone Halt, listę instrukcji:

    Cytat:
    monitor soft_reset_halt
    monitor soft_reset_halt
    monitor wait_halt
    monitor poll
    monitor flash probe 0
    monitor stm32f1x mass_erase 0
    monitor flash write_bank 0 build/ch.bin 0
    monitor soft_reset_halt

    którą zapewne będę musiał zmienić na stm32l1x oraz podać inną binarkę, ale do tego etapu jeszcze nie doszedłem :| Gdzies niedawno wyczytałem, żeby zaznaczyć jeszcze na końcu breakpoint na main i opcję Resume?

    W ustawieniach projektu C/C++ Build->Settings zaznaczyłem GNU Elf Parser, zmieniłem addr2line i c++filt Command na ścieżki do odpowiednich arm-none-eabi-... z CS, ale i tak po ponownym wejściu w opcje wraca do wartości domyślnych :|
    W C/C++ Build odznaczyłem Use default build command i poprawiłem na cs-make.

    Ściągnąłem sobie projekt demonstracyjny do płytki STM32L-Discovery, ale jeszcze muszę "discovery" jak go w ogóle zassać do Eclipse. Tutaj też przyda się pomoc...


    Mam wrażenie, że to już strasznie blisko, a jednocześnie utknąłem i nie wiem co dalej zrobić. Pomoże ktoś?


    Póki co po wielogodzinnych mękach tęsknię za AtmelStudio, głównie za sprawą gotowej konfiguracji i możliwości zajęcia się docelowym programowaniem... :)

    0 29
  • #2 07 Lut 2014 15:14
    tadzik85
    Poziom 38  

    Polecam tutorial Freddiego.
    Jesteś blisko, ale lepiej skorzystaj z OCD, skoro już go masz. GDBserver z atolica nie musi zaskoczyć.

    0
  • #3 07 Lut 2014 15:42
    Demmo
    Poziom 16  

    Udało mi się dogadać z STM32L-Discovery z poziomu openocd+telnet(putty) wg instrukcji Freddiego, mimo, że początkowo wydawała mi się w języku chińskim ;)
    STM32L - Win7+Eclipse+STLink/V2
    Fajna sprawa ;)

    Z tego tutoriala czegoś jeszcze nie rozumiałem, muszę go przejrzeć kolejny raz i przypomnieć sobie czego...

    Edit:
    Idąc dalej za tutorialem zmieniłem Initialization Commands w GDB Hardware Debugging na

    Cytat:
    monitor reset
    monitor soft_reset_halt
    load

    Jeśli dobrze zrozumiałem opcje Load image i Load symbols mam odznaczyć jako niezbyt dobrze działające z ARMami.


    To może jeszcze jakaś podpowiedź jak prawidłowo zassać projekt demonstracyjny do Eclipse, żebym mógł sprawdzić, czy ten konfig działa? :)
    Chodzi mi głównie o linkowanie bibliotek, startupów itp. Bo stworzyć sobie katalog src i wrzucić do niego pliki *.c potrafię ;)

    0
  • #4 07 Lut 2014 17:56
    tadzik85
    Poziom 38  

    Wbudowane load działa poprawnie symbols chyba powinno być.
    Ja w startupie mam tylko :"monitor reset halt"
    Importujesz przyklap Freddiego....
    Usuwasz wszystkie pliki usuwasz oprócz vectors i startup, wrzucasz pliki projektu, edytujesz właściwe wpisy w makefile.
    Vectors musi być zgodne z twoim procesorem.
    Z braku laku zamiast nich możesz użyć startupy dla atolica.
    Makefile i linker są uniwersalne więc zostawiamy.

    Jak to przećwiczysz, w dalszych przygodach polecam jako szablon wykorzystać przykład dla LPC43xx, korzysta z lepszych ustawień w eclipse.

    0
  • #5 07 Lut 2014 18:36
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Demmo napisał:
    monitor reset
    monitor soft_reset_halt

    wywal i użyj "monitor reset init"

    Demmo napisał:
    Jeśli dobrze zrozumiałem opcje Load image i Load symbols mam odznaczyć jako niezbyt dobrze działające z ARMami.

    Tak było gdy powstawał tutorial, czyli 4 lata temu... Teraz już działa bardzo dobrze [;

    4\/3!!

    0
  • #6 07 Lut 2014 19:34
    Demmo
    Poziom 16  

    tadzik85 napisał:
    Importujesz przyklap Freddiego....

    Może głupie pytanie, ale jaką metodą?
    Import->General->Existing Projects into Workspace
    Import->C/C++->Existing Code as Makefile Project
    czy jeszcze inaczej? To moja pierwsza styczność z Eclipse :)

    tadzik85 napisał:
    Jak to przećwiczysz, w dalszych przygodach polecam jako szablon wykorzystać przykład dla LPC43xx, korzysta z lepszych ustawień w eclipse.

    O jakich ustawieniach mowa? Mówisz, żeby wziąć tamten przykład i go jakoś przerzeźbić na STM32L?

    @Freddie Chopin:
    Ok, tak właśnie widziałem, że tutorial ma swoje lata, bo jest w nim mowa o OpenOCD 0.1.0 ;)
    Czyli zostawić tylko "monitor reset init" i całą resztę wywalić, czy zmienić 2 wskazane linie? Bo jeżeli dalsze Load image działa i będzie zaznaczone, to tutaj "load" nie ma sensu?

    PS. Od jakiegoś czasu się zastanawiam - to Twoje 4\/3 to AVE? ;)

    0
  • #7 07 Lut 2014 19:43
    tadzik85
    Poziom 38  

    Import->General->Existing Projects into Workspace

    A o ustawienia? chodzi o Indexer, czyli to co eclipse robi najlepiej, czyli pilnuje kodu pokazuje błędy, i pomaga w odszukiwaniu kodu a zarazem podpowiedzi.

    Zanim zaczniesz konkretne programowanie poświeć te ustawienia na rzecz zapoznania się z Eclipse, metodą najciekawsza czyli klikamy wszystko po kolei i sprawdzamy co to robi. Założę się ze poza tym rozjedzie ci się workspace i eclipse, ale to szybko stawia się od nowa. Gdy znajdziesz dla siebie optymalne ustawienia polecam zrobić kopie zapasową workspace, gdyż tam jest większość ustawień przechowywana.

    Nie wiem jeszcze skąd masz make, ale polecam ten pakiet Link.

    0
  • #8 07 Lut 2014 19:55
    Demmo
    Poziom 16  

    W jakim sensie się rozjedzie? :)

    Co do stawiania od nowa, to widzę w sumie, że początkowo te wszystkie ustawienia to był jakiś horror, a po czasie jak muszę to wklepać jeszcze raz, to nie jest źle ;)

    Ten polecany pakiet to jest odpowiednik CodeSourcery? Czyli te wszystkie arm-none-eabi-...?

    0
  • #9 07 Lut 2014 19:57
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Demmo napisał:
    Ok, tak właśnie widziałem, że tutorial ma swoje lata, bo jest w nim mowa o OpenOCD 0.1.0
    Czyli zostawić tylko "monitor reset init" i całą resztę wywalić, czy zmienić 2 wskazane linie? Bo jeżeli dalsze Load image działa i będzie zaznaczone, to tutaj "load" nie ma sensu?

    W Initialization Commands zostaw tylko tą jedną linijkę, "load" wywal, a poniżej zaznacz dwa checkboxy przy load image i load symbols. A najlepiej zaimportuj sobie jakiś projekt (może być faktycznie ten dla LPC43xx) i zobacz jak tam jest wszystko skonfigurowane. Potem możesz faktycznie na bazie tego projektu zrobić swój (taki mix tego projektu i plików np. z przykładu dla stm32f1 czy f4).

    Demmo napisał:
    PS. Od jakiegoś czasu się zastanawiam - to Twoje 4\/3 to AVE?

    Dla każdego może znaczyć coś innego [;

    4\/3!!

    0
  • #10 07 Lut 2014 20:02
    Demmo
    Poziom 16  

    Czyli zrobić triple-mix -> przykład z lpc dla ustawień, z plikami z przykładu z f1, z właściwymi plikami dla STM32L1x ;)

    Zamiast AVE może być jeszcze For-fi-ter ;)

    0
  • #11 07 Lut 2014 20:07
    tadzik85
    Poziom 38  

    Demmo napisał:
    W jakim sensie się rozjedzie? :)

    Co do stawiania od nowa, to widzę w sumie, że początkowo te wszystkie ustawienia to był jakiś horror, a po czasie jak muszę to wklepać jeszcze raz, to nie jest źle ;)

    Ten polecany pakiet to jest odpowiednik CodeSourcery? Czyli te wszystkie arm-none-eabi-...?

    O to też właśnie chodzi, Eclipse to mordęga za 1 razem. Sam jak zaczynałem rożne rzeczy się próbowało. Coś się zaznaczyło zapomniało, jakieś pluginy testowałem. A potem zostają śmieci. A bez problemy idzie wszystko postawić od nowa jak ma się trochę wprawy, wiec nabierzesz doświadczenia. Odradzam instalowania czegoś w katalogu eclipsa.

    Msys to najnowszy make git svc bash itp itd.
    Z kompilatorów polecam linaro, a szczególnie BET kompilacji Freddiego, który jest ciut "ulepszona" wersją linaro.

    Od razu doinstaluj do eclipse wtyczkę EmbSysReg...

    W ten sposób będziesz mial podstawową konfigurację. I będziesz korzystał z tego co większość, łatwiej o wsparcie.

    Dodatkowo dam ci wektor przerwań dla L1.

    Miłej zabawy.

    0
  • #12 07 Lut 2014 23:27
    Demmo
    Poziom 16  

    tadzik85 napisał:
    Msys to najnowszy make git svc bash itp itd.
    Z kompilatorów polecam linaro, a szczególnie BET kompilacji Freddiego, który jest ciut "ulepszona" wersją linaro.

    Hmm, chiński popularny ostatnio ;) Git to dla mnie będzie, jak wszystko zadziała :D
    Ale BETa mogę wrzucić, przynajmniej z tym wiem o co chodzi :D

    Dzięki za pliczek :)

    0
  • #13 10 Lut 2014 09:29
    Demmo
    Poziom 16  

    Walki ciąg dalszy :)
    Wrzuciłem sobie BET, wyrzuciłem CodeSourcery, przez co widzę, że muszę dodać Msys, bo w BET nie ma make ;)

    Mam projekt z LPC43xx, STM32 i próbuję miksować, zobaczymy co z tego wyjdzie...

    Pierwsze pytanie, to jak importować Debug Configuration? W katalogu Debug projektu są pliki .launch i dwie konfiguracje odpowiadające za External Tools dodały mi się same przy importowaniu projektu, czyli mam:
    openocd-x64-0.7.0-dev-130127142934 + JTAG-lock-pick Tiny 2 (1MHz) + LPC4330
    openocd-x64-0.7.0-dev-130127142934 + JTAG-lock-pick Tiny 2 (1MHz) + LPC4330 - flashing

    To oczywiście nie moja konfiguracja, bo inny programator i inne MCU, więc używać będę swojego. Dodatkowo zastanawiają mnie komendy po -c
    -f interface/ftdi/jtag-lock-pick_tiny_2.cfg -f lpc4330_spifi_generic.cfg -c "reset_config srst_only; adapter_khz 1000; init; reset; sleep 500; halt; flash protect 0 0 last off; flash write_image erase ../out/lpc4330_blink_led.hex; reset; sleep 500; halt; shutdown;"
    Ja w konfiguracji mam tylko
    -f interface/stlink-v2.cfg -f target/stm32lx_stlink.cfg
    Powinienem też tam coś dodać? Czy wynika to z faktu, że jtag-lock-pick jest na ftdi i u mnie nic nie trzeba konfigurować?

    No i są 2 kolejne pliki .launch (debug oraz load+debug), które się automatycznie nie dodały i lista GDB Hardware Debugging jest pusta, a domyślam się, że tam miały trafić. Mam przycisk New, nie widzę Import..

    Czy te lepsze ustawienia projektu polegają m.in. na tym, że wcześniej było "No Toolchain", a teraz chyba jest "Cross GCC"? Czy to nie o to chodzi?

    [Edit]
    Skąd projekt bierze ścieżki widoczne w Include? Przy Build All dodało mi katalog projektu, ale ze złą literą napędu, bo dodał C:\{workspace}\{projekt}, a ten katalog jest na Z:\...
    Ponadto w spadku po projekcie LPC mam tam ścieżkę do FPU, co raczej się nie przyda ;)

    0
  • #14 10 Lut 2014 10:01
    tadzik85
    Poziom 38  

    Demmo napisał:
    -f interface/ftdi/jtag-lock-pick_tiny_2.cfg -f lpc4330_spifi_generic.cfg -c "reset_config srst_only; adapter_khz 1000; init; reset; sleep 500; halt; flash protect 0 0 last off; flash write_image erase ../out/lpc4330_blink_led.hex; reset; sleep 500; halt; shutdown;"


    Ten fragment odpowiada za programowanie czyste programowanie.

    Wszystkie ustawienie dla debug i external tools powinny ci się zaimportować, bez problemu. Ścieżki include brane są z parsowania konsoli kompilacji, czyli to co sam ustawisz w makefile. I to jest odpowiedz na...
    Demmo napisał:
    Czy te lepsze ustawienia projektu polegają m.in. na tym, że wcześniej było "No Toolchain", a teraz chyba jest "Cross GCC"? Czy to nie o to chodzi?


    FPU musisz w makefile usunąć odpowiednie wpisy, i zmienić ustawienie buildin parser w opcjach projektu

    0
  • #15 10 Lut 2014 10:24
    Demmo
    Poziom 16  

    Ok, widzę, że wcześniej skopiowałem Makefile z projektu STM32 i tam nie ma FPU

    Cytat:
    # core flags
    CORE_FLAGS = -mcpu=$(CORE) -mthumb


    Nie wiem natomiast gdzie usunąć ścieżki include, bo jedyne miejsce, które bym podejrzewał o ich dodanie w Makefile to:
    Cytat:
    # include directories (absolute or relative paths to additional folders with
    # headers, current folder is always included)
    INC_DIRS =

    # library directories (absolute or relative paths to additional folders with
    # libraries)
    LIB_DIRS =

    # libraries (additional libraries for linking, e.g. "-lm -lsome_name" to link
    # math library libm.a and libsome_name.a)
    LIBS =

    # additional directories with source files (absolute or relative paths to
    # folders with source files, current folder is always included)
    SRCS_DIRS =

    i jak widać w samym Makefile nic nie jest dodawane.

    Ostatnią pozycję sam sobie dodał przy Build All i jeszcze się buntuje (warning), że nie ma takiej ścieżki ;)
    STM32L - Win7+Eclipse+STLink/V2

    No i tak jak mówię, tych pozycji Debug Configuration z automatu nie dodał, nawet jeśli powinien, więc pytanie czy da się go teraz do tego zmusić, czy trzeba wszystko wklepać od początku samemu? Niby też nie wielka filozofia, ale.. ;)

    0
  • #16 10 Lut 2014 10:27
    tadzik85
    Poziom 38  

    Ścieżki poprawne, nawet to FPU.

    Import to raczej z automatu nie możliwy musisz ręcznie dodać.

    I to jest to przed czym cie ostrzegałem, coś się rozjechało.

    0
  • #17 10 Lut 2014 10:33
    Demmo
    Poziom 16  

    Ok, to tych poprawnych się w takim razie nie czepiam.
    Tylko właśnie gdzieś prawdopodobnie jest błąd przy jakiejś ścieżce tworzonej ze zmiennych środowiskowych, bo ostatnia powinna być Z:\EclipseProjects\TestProject - katalog projektów jest na innej partycji niż katalog z Eclipse.

    0
  • #18 10 Lut 2014 10:35
    tadzik85
    Poziom 38  

    Zrobiłeś choć raz kompilację. Dziwi mnie wykrzyknik oraz kolor okonki.
    Własne ścieżki są względne oraz ikonka jest koloru niebieskiego.
    Być może masz coś źle zdefiniowane w opcjach eclipse, złe widzi ścieżkę workspace.

    0
  • #19 10 Lut 2014 10:50
    Demmo
    Poziom 16  

    Ogólnie chyba dobrze ją widzi, przynajmniej w większości miejsc, w które zaglądałem w ustawieniach projektu, np. tutaj:
    STM32L - Win7+Eclipse+STLink/V2

    Co do importu, to widzę, że jest narzędzie File->Import..->Run/Debug->Launch Configurations, ale po jego użyciu pliki zniknęły z katalogu Debug, a jak ich nie było w GDB Hardware Debugging tak ich nie ma ;)

    0
  • #20 10 Lut 2014 10:55
    tadzik85
    Poziom 38  

    To gdzie ta konfiguracja się znajduje można w jej opcjach ustawić w ostatniej zakładce.

    A ta ścieżka do projektu jest dziwna.

    Weź opcje projektu -> c++ genereal -> preprocesor include path... -> zakladka 2, dla obu pozycji wyczyść pozycje,
    clean projektu,
    kompilacja

    0
  • #21 10 Lut 2014 11:32
    Demmo
    Poziom 16  

    Ciekawe, teraz w ogóle nie ma katalogu Includes, nawet po Build All :)

    Teraz chodząc po różnych opcjach widzę, że ten File->Import..->Run/Debug->Launch Configurations zadziałał dla opcji, które wcześniej się również dodały się z automatu, a dla tych Debug Config nie działa i tylko usuwa pliki z katalogu Debug projektu. Może jakiś zgrzyt między wersjami Eclipse? Nie wiem.. dodam to z palca.

    0
  • #23 10 Lut 2014 11:40
    Demmo
    Poziom 16  

    Refresh nic nie dał, ale zrestartowałem Eclipse i pojawił się Includes - całe szczęście bez tej krzaczącej się ścieżki :)

    [Edit]
    Może to przed Refresh Policy w ustawieniach, gdzie była ścieżka katalogu ze starą nazwą projektu Freddiego..

    0
  • #25 10 Lut 2014 12:38
    Demmo
    Poziom 16  

    Wygląda na to, że projekt dla STM32 zlepiony z przykładem LPC się kompiluje bez błędów i ostrzeżeń. Teraz muszę go przerobić na przykład STM32L, bo takie mam Discovery, żeby sprawdzić na żywo debuggowanie itp.

    Dodano po 48 [minuty]:

    Hmm, utknąłem na dość trywialnej rzeczy, czyli dodawanie bibliotek do ścieżki... wykłada się na poszukiwaniu pliku misc.h z STM32L1xx_StdPeriph_Driver
    Próbowałem ścieżkę Z:\EclipseProjects\Libraries\STM32L1xx_StdPeriph_Driver\inc dodać do Properties->C/C++ General->Paths and Symbols, zarówno w Includes, Libraries, Library Path... i tak nie potrafi znaleźć misc.h, który się tam znajduje - to ja już nie wiem, gdzie mam to dodać :)

    No i jeszcze czeka mnie temat pliku .ld i zmian w Makefile jeśli chodzi o MCU. Znalazłem temat, gdzie ktoś pisał, żeby zostawić pliki z przykładu Freddiego zamiast podmieniać na te pliki z ST - to ma prawo zadziałać, jak plik jest dla F103 a ja mam L152?
    Mówię o tym:

    Cytat:
    # core type
    CORE = cortex-m3

    # linker script
    LD_SCRIPT = STM32F103xB_rom.ld

    # output folder (absolute or relative path, leave empty for in-tree compilation)
    OUT_DIR = out

    # C++ definitions (e.g. "-Dsymbol_with_value=0xDEAD -Dsymbol_without_value")
    CXX_DEFS = -DSTM32F10X_MD

    # C definitions
    C_DEFS = -DSTM32F10X_MD


    Ponadto znów dodał tą niepoprawną ścieżkę C:\EclipseProjects\TestProject - pewnie tworzy ją, jak w innych lokalizacjach nie potrafi czegoś znaleźć, np. misc.h

    0
  • #26 10 Lut 2014 12:47
    tadzik85
    Poziom 38  

    Dlaczego Z:/ to jakiś przenośny napęd?


    W opcjach w kwestii ścieżek niczego nie zmieniaj. To bez znaczenia. (ja dodaje tylko katalogi z SRC (inna ikonka i inne sortowanie katalogow w drzewie)
    Wszystko robimy z poziomu makefile.

    plik linkera jest uniwersalny, zmieniamy jedynie rozmiar pamięci.

    Symbol dodaj odpowiedni dla pliku z definicja rejestrów od st i twojego procesora.
    Bibliotekę od st dodawaj scieżke do SRCS oraz do INC

    Jesli chcesz korzystać z SPL co odradzam dodaj symbol USE_STDPERIPH_DRIVER

    0
  • #27 10 Lut 2014 14:58
    Demmo
    Poziom 16  

    Nie, Z:\ to partycja na dysku wewnętrznym. Już nie pamiętam dlaczego akurat Z ;)

    Wyrzuciłem ścieżki z Properties i dodałem w Makefile. Część problemów, czyli głównie odnajdywanie plików, zniknęła, ale sypnęło błędami przy kompilacji, że ho ho... ponad 200, głównie undefined reference to..{nazwa funkcji}.
    Wygląda trochę jak funkcje z SPL, których nie potrafi odnaleźć.

    Nie wiem, czy dobrze zgadłem symbol MCU, bo nie wiem gdzie sprawdzić dostępną listę. Mam tak:

    Cytat:
    # C++ definitions (e.g. "-Dsymbol_with_value=0xDEAD -Dsymbol_without_value")
    CXX_DEFS = -DSTM32L1XX_MD -DUSE_STDPERIPH_DRIVER

    # C definitions
    C_DEFS = -DSTM32L1XX_MD -DUSE_STDPERIPH_DRIVER -DSystemInit=low_level_init_1


    Przeczytałem sobie temat odradzający SPL i pewnie nie będę korzystał, ale chciałem odpalić pierwszy z brzegu przykład, żeby przetestować środowisko ;)

    Cytat:

    (...)
    Description Resource Path Location Type
    undefined reference to `LCD_GLASS_Clear' discover_functions.c /TestProject line 650 C/C++ Problem
    undefined reference to `KeyPressed' main.c /TestProject line 281 C/C++ Problem
    undefined reference to `KeyPressed' discover_functions.c /TestProject line 160 C/C++ Problem
    undefined reference to `KeyPressed' main.c /TestProject line 300 C/C++ Problem
    undefined reference to `LCD_GLASS_Clear' discover_functions.c /TestProject line 613 C/C++ Problem
    undefined reference to `KeyPressed' main.c /TestProject line 227 C/C++ Problem
    undefined reference to `LCD_BlinkConfig' main.c /TestProject line 159 C/C++ Problem
    undefined reference to `KeyPressed' discover_functions.c /TestProject line 342 C/C++ Problem
    undefined reference to `KeyPressed' discover_functions.c /TestProject line 295 C/C++ Problem
    undefined reference to `LCD_BlinkConfig' main.c /TestProject line 153 C/C++ Problem
    undefined reference to `GPIO_PinAFConfig' main.c /TestProject line 458 C/C++ Problem
    undefined reference to `GPIO_PinAFConfig' main.c /TestProject line 459 C/C++ Problem
    undefined reference to `GPIO_PinAFConfig' main.c /TestProject line 456 C/C++ Problem
    undefined reference to `LCD_GetFlagStatus' icc_measure.c /TestProject line 411 C/C++ Problem
    undefined reference to `GPIO_PinAFConfig' main.c /TestProject line 457 C/C++ Problem
    undefined reference to `KeyPressed' discover_functions.c /TestProject line 234 C/C++ Problem
    undefined reference to `LCD_Cmd' icc_measure.c /TestProject line 409 C/C++ Problem
    undefined reference to `GPIO_PinAFConfig' main.c /TestProject line 455 C/C++ Problem
    undefined reference to `GPIO_PinAFConfig' main.c /TestProject line 440 C/C++ Problem
    undefined reference to `KeyPressed' discover_functions.c /TestProject line 197 C/C++ Problem
    (...)


    Dodano po 42 [minuty]:

    Ok wycofuję się z ambicji odpalenia apki demo na tej płytce, bo szkoda nerwów. Spróbuję przerobić na blinking LED na bazie przykładu i zobaczymy co wyjdzie...

    0
  • Pomocny post
    #28 10 Lut 2014 15:13
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Demmo napisał:
    No i są 2 kolejne pliki .launch (debug oraz load+debug), które się automatycznie nie dodały i lista GDB Hardware Debugging jest pusta, a domyślam się, że tam miały trafić. Mam przycisk New, nie widzę Import..

    Zmieniłeś nazwę projektu - wtedy te konfiguracje są ukrywane, bo one są przyporządkowane do NAZWY projektu - można je tymczasowo pokazać w menu filtrowania odznaczając dwie pierwsze opcje.

    Co do tego dysku, to nic z tym nie zrobisz - to jest jakiś błąd Eclipse'a - ja nie wiem jak go rozwiązać w 100%, w każdym razie tam gdzie jest ustawiony parser konsoli, trzeba odznaczyć checkboxa przy "use heuristics to resolve paths" i wtedy się odczepi.

    Co do SPL, to na mojej stronce jest artykuł o tym jak połączyć tą "bibliotekę" z przykładami których używasz - nie jest to takie trudne.

    4\/3!!

    0
  • #29 10 Lut 2014 15:43
    Demmo
    Poziom 16  

    Freddie Chopin napisał:
    Demmo napisał:
    No i są 2 kolejne pliki .launch (debug oraz load+debug), które się automatycznie nie dodały i lista GDB Hardware Debugging jest pusta, a domyślam się, że tam miały trafić. Mam przycisk New, nie widzę Import..

    Zmieniłeś nazwę projektu - wtedy te konfiguracje są ukrywane, bo one są przyporządkowane do NAZWY projektu - można je tymczasowo pokazać w menu filtrowania odznaczając dwie pierwsze opcje.

    Co do tego dysku, to nic z tym nie zrobisz - to jest jakiś błąd Eclipse'a - ja nie wiem jak go rozwiązać w 100%, w każdym razie tam gdzie jest ustawiony parser konsoli, trzeba odznaczyć checkboxa przy "use heuristics to resolve paths" i wtedy się odczepi.

    Co do SPL, to na mojej stronce jest artykuł o tym jak połączyć tą "bibliotekę" z przykładami których używasz - nie jest to takie trudne.

    4\/3!!

    O, dzięki za info - faktycznie zostały odfiltrowane, ale są na liście :)
    To kwestia starego przykładu, że masz tam w Initialization Commands:
    Cytat:

    monitor reset
    monitor sleep 500
    monitor halt
    monitor soft_reset_halt

    a nie tylko wspomniane monitor reset init?

    Sam już nie wiem co próbować odpalić - chciałbym cokolwiek, żeby powiedzieć "o! działa", a kręcę się w okół tego i kręcę.. ehh..

    "Use heuristics.." odznaczyłem i faktycznie dodał relatywną ścieżkę projektu zamiast tej błędnej ścieżki..

    0
  • Pomocny post
    #30 10 Lut 2014 15:54
    tadzik85
    Poziom 38  

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kod: c
    Zaloguj się, aby zobaczyć kod


    Za pin wstaw wybrany pin np LED, odpowiedni port zmień; ewentualnie zmień warunek w pętli for i zadeklaruj jako volatile.

    LED powinien migać.

    0