Elektroda.pl
Elektroda.pl
X
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.

STM32L152 - Ustawienia GPIO + JTAG

Bartosz36 11 Sty 2016 00:02 2199 42
  • #31
    Bartosz36
    Poziom 12  
    Panowie, kończąc waszą dziwną dyskusję... ktoś sprawdził kod który wrzuciłem? Dla jego obecnego wyglądu napięcie na pinach wynosi około 30 mV, natomiast żadna ilość nop'ów zgodnie z erratą nie daje rezultatu.
  • Computer Controls
  • #33
    Bartosz36
    Poziom 12  
    BlueDraco pytał mnie o debuger, który tak jak wspominałem parokrotnie nie powiedział mi nic. Przy wszystkich ustawionych pułapkach (środowisko CoIDE) pojawia się wykrzyknik z komunikatem:
    "Multiple markers at this line
    - Line breakpoint: main.c
    [line: 13]
    - Unresolved breakpoint"
    Nie mam również dostępu do pliku .lss więc nie mam zielonego pojęcia co utworzył mi kompilator.
    Obecnie kod źródłowy wygląda następująco:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Do pinów, które ustawiam podłączone są diody LED poprzez rezystory, więc stąd widzę że stan portów nie zmienia się i jest zawsze niski. Wcześniej używałem po prostu miernika.

    Podaję także ustawienia kompilatora:
    -mcpu=cortex-m3 ; -mthumb ; -g1 ; -Wall ; -O0 ; -DSTM32L152RET6 ;

    Za wszelkie odpowiedzi serdecznie dziękuję :)
  • Computer Controls
  • #34
    BlueDraco
    Specjalista - Mikrokontrolery
    Tym bardziej podejrzewam, że program nie znalazł się nawet w pamięci uC. Taki komunikat świadczy o tym, że debugger nie ma gdzie ustawić pułapki - nie może znaleźć instrukcji skojarzonej z daną linią programu.

    Z kolei ta linia wyłącza możlliwość debugowania, o czym wielokrotnie pisaliśmy:
    GPIOA->MODER = GPIO_MODER_MODER5_0 | GPIO_MODER_MODER8_0;

    - tu musi być |=, a nie =

    Może jednak użyj Keila - instalacja i uruchomienie programu zajęłyby ok pół godziny, a Ty męczysz się od 3 dni.
  • #35
    Bartosz36
    Poziom 12  
    Przypominasz mi pewnego użytkownika wiecznie krytykującego Atmel Studio, jeśli wiesz o kim mówię...
    Z sumą bitową też próbowałem, bez rezultatu.
    Co do debugowania, jeszcze wczoraj udało mi się dostać do środka i dostałem dokładnie coś takiego:
    Kod: asm
    Zaloguj się, aby zobaczyć kod

    Dalej jest już tylko seria przeniesień z rejestru r0 do r0, i tak bez końca. Później może przetłumaczę to wszystko.

    Możliwe, że program rzeczywiście nie ląduje nawet w procku, sprawdzę to i dam znać :)

    Pozdrawiam :)
  • #36
    BlueDraco
    Specjalista - Mikrokontrolery
    Reasumując: nie wiesz, czy udało Ci się zaprogramować mikrokontroler i nie jesteś w stanie debugować kodu w C, ale za to używasz jakiegoś tam Eclipse i deasemblujesz kod maszynowy.

    Nie ma potrzeby oglądania kodu asemblerowego - masz uruchomić debugowanie w C. Bez tego, jak widać, nie ruszysz.

    Ok, ja też używam trzech środowisk na Eclipse, ale zanim je opanowałem, zaczynałem od prościutkiego Keila, a i teraz jak zatnę się na jakiejś bzdurze w Eclipse, wracam do Keila, w którym zaciąć się nie sposób.
  • #38
    BlueDraco
    Specjalista - Mikrokontrolery
    Może po prostu brakuje modułu startowego w projekcie... No ale za to nie użył Keila, tylko słusznego środowiska... ;)
  • #39
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #40
    grko
    Poziom 33  
    @Bartosz36 Zamiast -g1 daj flagi -g -ggdb3. No i dodaj plik startowy do kompilacji.
  • #41
    szczywronek
    Poziom 27  
    BlueDraco napisał:
    No ale za to nie użył Keila, tylko słusznego środowiska...
    I ładniejszego :roll: Eclipse z wtyczką "GNU ARM coś tam" chyba nie jest, aż taki kłopotliwy na starcie? Od kilku miesięcy zbieram się, żeby pobawić się tym pluginem, ale jakoś czasu brakuje.
  • #42
    BlueDraco
    Specjalista - Mikrokontrolery
    Bior'c pod uwagę, że sterownik z obsługą USB i wyświetlacza graficznego LCD na STM32F4 zajmuje aż 16 KiB, ograniczenie do 32 KiB nie jest chyba dużą wadą, zwłaszcza dla początkujących. Zresztą ja nikogo nie namawiam do używania Keila do wszelkich projektów, za to mocno namawiam początkujących do zaczynania nauki od Keila, który przy tworzeniu projektu sam wygeneruje i wstawi do projektu wszystko, co jest potrzebne, a debugowanie można zacząć od razu, albo po maksymalnie 4..5 kliknięciach myszą w dialogach konfiguracji. Nasz młody adept używając Keila miałby działający program w pół godziny. Obecnie pomagamy mu od 3 dni.
  • #43
    Użytkownik usunął konto
    Użytkownik usunął konto