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.

STM32 - Zawieszone debugowanie.

yahuza 28 Sty 2015 18:39 1359 27
  • #1 28 Sty 2015 18:39
    yahuza
    Poziom 11  

    Koledzy,

    mam ostatnio taki problem dziwny, bo jak długo programuję STMy takiego nie miałem.
    Wcześniej używałem cały czas CodeSourcery lub Linaro. Teraz zmieniłem komputer i się zdziwiłem. Dorwałem tylko jakąś ostatnią wersję toolchaina CodeSourcery.

    Mam jednak taki problem:
    Łącze się z procesorem (STM32f103C8t6) przez openocd.

    Code:
    Open On-Chip Debugger 0.7.0 (2015-01-27-20:10)
    
    Licensed under GNU GPL v2
    For bug reports, read
       http://openocd.sourceforge.net/doc/doxygen/bugs.html
    Info : This adapter doesn't support configurable speed
    Info : STLINK v2 JTAG v14 API v2 SWIM v0 VID 0x0483 PID 0x3748
    Info : Target voltage: 2.889941
    Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints


    Potem łącze się debugerem(przez eclipse).

    Code:
    Info : accepting 'gdb' connection from 3333
    
    Info : device id = 0x20036410
    Info : flash size = 64kbytes
    Warn : acknowledgment received, but no packet pending
    undefined debug reason 6 - target needs reset
    target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x01000000 pc: 0x080001c0 msp: 0x20005000



    I kiedy dam RUN nic się nie dzieje. Mogę nacisnąć PAUSE ale też nic się nie dzieje. Tylko się wyszarzają przyciski run i pause. Kiedy dam stop to dopiero po chwili dostaję błąd
    Mogę też nic nie naciskać i po chwili sam się wyszarzy przycisk RUN.

    Code:
    Info : dropped 'gdb' connection


    Używam Linuxa. Testowałem OpenOCD 0.7 i 0.8. Testowałem toolchainy: CodeSourcery, Launchpad i Bleeding-Edge .

    Zainstalowałem sobie Keila na Windowsie i tam wszystko śmiga. W ten sposób wykluczyłem na razie jakiś karygodny błąd na płytce.

    W inicialization commands mam:
    monitor reset
    monitor reset halt


    Openocd odpalam z argumentami:
    -f/usr/local/share/openocd/scripts/interface/stlink-v2.cfg
    -f /usr/local/share/openocd/scripts/target/stm32f1x_stlink.cfg


    Testowałem już kod, który kiedyś na tego typu prockach działał. Teraz nie mam nic innego niż main z pętlą. Nie próbuję inicjalizować PLL i zewnętrznego kwarca.

    Miał ktoś podobny problem lub zna rozwiązanie?

    Dzięki
    Jacek

    0 27
  • CControls
  • #2 28 Sty 2015 19:23
    tadzik85
    Poziom 38  

    Monitor reset init wystarczy.

    Tryby uśpienia stosowane?

    0
  • #3 28 Sty 2015 23:05
    yahuza
    Poziom 11  

    Nie używam żadnych uśpień. W mainie nic nie ma prócz nieskończonej pętli while. W startupie jest zwykłe zerowanie pamięci i wywołanie maina.

    Zmieniłem na monitor reset init. Niestety nie pomogło.

    0
  • CControls
  • #4 29 Sty 2015 08:25
    tadzik85
    Poziom 38  

    yahuza napisał:
    Nie używam żadnych uśpień. W mainie nic nie ma prócz nieskończonej pętli while. W startupie jest zwykłe zerowanie pamięci i wywołanie maina.

    Zmieniłem na monitor reset init. Niestety nie pomogło.


    Pokaż zakładki ustawień debugera. Eclipse postawiony poprawnie?
    Jakieś nietypowe rzeczy na schemacie?

    0
  • #5 29 Sty 2015 12:27
    el2010tmp
    Poziom 25  

    Może redefiniujesz piny od SWD?

    0
  • #6 29 Sty 2015 17:36
    yahuza
    Poziom 11  

    Mam na schemacie np. silniki ale są na razie nie podłączone. Mam TB6612 ale niepodłączone (bez zasilania głównego). Mam CP2102. Jeszcze sekcja zasilania. Ale jak mówiłem sprawdziłem w Keilu - działało normalnie.

    Wklejam ustawienia debugera.

    STM32 - Zawieszone debugowanie. STM32 - Zawieszone debugowanie. STM32 - Zawieszone debugowanie.


    Cytat:
    Może redefiniujesz piny od SWD?


    W kodzie na prawdę nic nie ma. Wklejam co mam dla pewności :).

    Code:
    > reset init
    
    target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x01000000 pc: 0x080001cc msp: 0x20005000
    > stm32f1x mass_erase 0
    stm32x mass erase complete


    Kod: c
    Zaloguj się, aby zobaczyć kod
    #include <stdint.h>

    #include "inc/stm32f10x.h"
    #include "inc/hdr_bitband.h"


    void EXTI0_IRQHandler(void)
    {

    }

    //#define PIRO bitband_t m_BITBAND_PERIPH(&(GPIOB->IDR), 12)


    int main(void)
    {

    //SCB->VTOR = 0x08000000 | (0x0 & 0x1FFFFF80);


    while(1)
    {

    }

    //rccSetMcuFreq(8, 72);


    while(1)
    {
    }
    return 0;
    }

    [/syntax]

    Kod: asm
    Zaloguj się, aby zobaczyć kod

    0
  • #7 29 Sty 2015 18:28
    tadzik85
    Poziom 38  

    zaznacz resume i daj breakpoint na main.

    0
  • #8 29 Sty 2015 22:20
    yahuza
    Poziom 11  

    tadzik85 napisał:
    zaznacz resume i daj breakpoint na main.


    Nic to nie dało. Dalej tak samo. :(

    0
  • #9 29 Sty 2015 22:26
    tadzik85
    Poziom 38  

    yahuza napisał:
    tadzik85 napisał:
    zaznacz resume i daj breakpoint na main.


    Nic to nie dało. Dalej tak samo. :(


    Wersja eclipse? Wszystkie wtyczki zainstalowane jak hardware debug itp?

    0
  • #10 29 Sty 2015 23:09
    yahuza
    Poziom 11  

    Eclipse Version: 4.2.2

    Wtyczki:
    STM32 - Zawieszone debugowanie.

    0
  • #11 29 Sty 2015 23:15
    tadzik85
    Poziom 38  

    Może ZYLIN coś miesza.

    Spróbuj jeszcze providera zmienić. Upewnij się ze kompilujesz wersję debugującą z symbolami itp.

    A dalej to brak mi pomysłów.

    0
  • #12 29 Sty 2015 23:49
    yahuza
    Poziom 11  

    Providera? Nie rozumiem.
    Zawsze używałem Zylin, odkąd przeczytałem o tym w tutorialu Freddiego. ;)

    Program na pewno wgrywa się prawidłowo. Sprawdziłem ST-LINK Utility na Windows.

    Chyba masz rację z tymi symbolami debugowania. Ale to jest dziwne bo mam -g przy kompilacji:

    Code:
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb  -Wall -Wstrict-prototypes -Wextra -Wno-sign-compare -Wno-strict-prototypes -std=gnu89 -fverbose-asm -I/home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/arm-none-eabi/include -Iinc -I. -g -c main.c -o out/main.o 
    
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -x assembler-with-cpp -mcpu=cortex-m3 -mthumb -I/home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/arm-none-eabi/include -Iinc -I. -g -c startup.S -o out/startup.o
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb  -Wall -Wstrict-prototypes -Wextra -Wno-sign-compare -Wno-strict-prototypes -std=gnu89 -fverbose-asm -I/home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/arm-none-eabi/include -Iinc -I. -g -c mod/rcc.c -o out/rcc.o
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb  -Wall -Wstrict-prototypes -Wextra -Wno-sign-compare -Wno-strict-prototypes -std=gnu89 -fverbose-asm -I/home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/arm-none-eabi/include -Iinc -I. -g -c vectors.c -o out/vectors.o
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -TSTM32F103xC_rom.ld -Wl,-Map=out/map.map,--cref,--no-warn-mismatch -Wl,-gc-sections -g out/main.o out/startup.o out/rcc.o out/vectors.o  -o out/down.elf
    cp out/down.elf wsad.elf


    Ale przy zrzucie ich nie widać:

    Kod: asm
    Zaloguj się, aby zobaczyć kod


    I gdb się pluje:
    Code:

    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gdb wsad.elf
    GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.1.20141128-cvs
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=i686-linux-gnu --target=arm-none-eabi".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from wsad.elf...(no debugging symbols found)...done.


    Kiedyś jak zapomniałem o symbolach to debuger się nie zawieszał tylko mówił, że nie ma symboli. Widocznie ta wersja eclipse chowa tę konsolę.
    Ale przecież widać jak byk, że mam opcję -g. Nie wiem co tu nie gra. :(

    0
  • #13 30 Sty 2015 08:31
    tadzik85
    Poziom 38  

    Sprawdź to na jednym z przykładów Freddiego. Zylin od dawna jest zbyteczny.

    0
  • #14 30 Sty 2015 09:08
    el2010tmp
    Poziom 25  

    Czy -g to to samo co -Og ?

    0
  • #15 30 Sty 2015 09:11
    tadzik85
    Poziom 38  

    el2010tmp napisał:
    Czy -g to to samo co -0g ?


    A co niby oznacza -0g? Chyba chodziło o -Og?
    -Og to poziom optymalizacji -g to dołączenie symboli do debugu o rożnym poziomie. -Og to


    Ja mam tak: -g -ggdb3

    0
  • #16 02 Lut 2015 16:37
    yahuza
    Poziom 11  

    No i kurczę już nie wiem czym to się różni:

    Tutaj jak się kompiluje za pomocą freediego:

    Code:
    (...)@(...)-jacek:~/workspace/stm32_blink_led-1.2.1-120107$ make
    
    Assembling file: startup.S
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m3 -mthumb -g -ggdb3 -Wa,-amhls=out/startup.lst  -MD -MP -MF out/startup.d -I.  startup.S -o out/startup.o
     
    Compiling file: gpio.c
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/gpio.lst -DSTM32F10X_MD -MD -MP -MF out/gpio.d -I.  gpio.c -o out/gpio.o
     
    Compiling file: main.c
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/main.lst -DSTM32F10X_MD -MD -MP -MF out/main.d -I.  main.c -o out/main.o
    main.c:137:17: warning: 'pll_start' defined but not used [-Wunused-function]
     static uint32_t pll_start(uint32_t crystal, uint32_t frequency)
                     ^
     
    Compiling file: vectors.c
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/vectors.lst -DSTM32F10X_MD -MD -MP -MF out/vectors.d -I.  vectors.c -o out/vectors.o
     
    Linking target: out/stm32_blink_led.elf
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -TSTM32F103xB_rom.ld -g -Wl,-Map=out/stm32_blink_led.map,--cref,--no-warn-mismatch -Wl,--gc-sections -nostartfiles  out/startup.o out/gpio.o out/main.o out/vectors.o    -o out/stm32_blink_led.elf
     
    Creating extended listing: out/stm32_blink_led.lss
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objdump -S out/stm32_blink_led.elf > out/stm32_blink_led.lss
     
    Creating memory dump: out/stm32_blink_led.dmp
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objdump -x --syms out/stm32_blink_led.elf > out/stm32_blink_led.dmp
     
    Creating IHEX image: out/stm32_blink_led.hex
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objcopy -O ihex out/stm32_blink_led.elf out/stm32_blink_led.hex
     
    Creating binary image: out/stm32_blink_led.bin
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objcopy -O binary out/stm32_blink_led.elf out/stm32_blink_led.bin




     
    Size of modules:
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-size -B -t --common out/startup.o out/gpio.o out/main.o out/vectors.o   
       text      data       bss       dec       hex   filename
        104         0         0       104        68   out/startup.o
        244         0         0       244        f4   out/gpio.o
        336         0         0       336       150   out/main.o
        320         0         0       320       140   out/vectors.o
       1004         0         0      1004       3ec   (TOTALS)
     
    Size of target .elf file:
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-size -B out/stm32_blink_led.elf
       text      data       bss       dec       hex   filename
        772         0      1024      1796       704   out/stm32_blink_led.elf
     
    (...)@(...)-jacek:~/workspace/stm32_blink_led-1.2.1-120107$ cp out/
    out/gpio.d               out/main.d               out/startup.d            out/stm32_blink_led.bin  out/stm32_blink_led.hex  out/vectors.d           
    out/gpio.lst             out/main.lst             out/startup.lst          out/stm32_blink_led.dmp  out/stm32_blink_led.lss  out/vectors.lst         
    out/gpio.o               out/main.o               out/startup.o            out/stm32_blink_led.elf  out/stm32_blink_led.map  out/vectors.o           
    (...)@(...)-jacek:~/workspace/stm32_blink_led-1.2.1-120107$ cp out/stm32_blink_led.elf wsad.elf
    (...)@(...)-jacek:~/workspace/stm32_blink_led-1.2.1-120107$ /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gdb wsad.elf
    GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.1.20141128-cvs
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=i686-linux-gnu --target=arm-none-eabi".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from wsad.elf...done.



    A tutaj moje:
    Code:
    (...)@(...)-jacek:~/AIR/MGR/PROG/DOWN$ make
    
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -Wno-sign-compare -Wno-strict-prototypes -std=gnu89  -g -ggdb3 -fverbose-asm  -Wa,-ahlms=out/main.lst -DSTM32F10X_MD -MD -MP -MF out/main.d  main.c -o out/main.o
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m3 -mthumb -g -ggdb3 -Wa,-ahlms=out/startup.lst  startup.S -o out/startup.o
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -Wno-sign-compare -Wno-strict-prototypes -std=gnu89  -g -ggdb3 -fverbose-asm  -Wa,-ahlms=out/rcc.lst -DSTM32F10X_MD -MD -MP -MF out/rcc.d  mod/rcc.c -o out/rcc.o
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -Wno-sign-compare -Wno-strict-prototypes -std=gnu89  -g -ggdb3 -fverbose-asm  -Wa,-ahlms=out/vectors.lst -DSTM32F10X_MD -MD -MP -MF out/vectors.d  vectors.c -o out/vectors.o
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -TSTM32F103xC_rom.ld -g  -Wl,-Map=out/map.map,--cref,--no-warn-mismatch -Wl,--gc-sections -nostartfiles out/main.o out/startup.o out/rcc.o out/vectors.o  -o out/down.elf
    cp out/down.elf wsad.elf

    (...)@(...)-jacek:~/AIR/MGR/PROG/DOWN$ /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gdb wsad.elf
    GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.1.20141128-cvs
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=i686-linux-gnu --target=arm-none-eabi".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from wsad.elf...(no debugging symbols found)...done.



    Czy ktoś z kolegów widzi tutaj różnicę dlaczego w moim przypadku nie ma symboli do debugowania?

    0
  • #17 02 Lut 2015 18:27
    tadzik85
    Poziom 38  

    To sprawdź makefile lub ustawienia jakiejś wtyczki.

    0
  • #18 02 Lut 2015 18:32
    yahuza
    Poziom 11  

    Co mam sprawdzić w makefile? Komendy, które generuje makefile są moim zdaniem identyczne. Moim zdaniem to jest istotne.

    Kompiluje i używam gdb z konsoli, więc to nie wtyczki.

    0
  • #19 02 Lut 2015 18:34
    tadzik85
    Poziom 38  

    yahuza napisał:
    Co mam sprawdzić w makefile? Komendy, które generuje makefile są moim zdaniem identyczne. Moim zdaniem to jest istotne.

    Kompiluje i używam gdb z konsoli, więc to nie wtyczki.


    A moim zdaniem bardzo istotne. Albo masz gotowy makefile, albo używasz coś co go generuje. I tam leży problem.

    0
  • #20 02 Lut 2015 18:39
    yahuza
    Poziom 11  

    Ok, jeśli tak uważasz. Wrzucam Makefile:

    Kod: C
    Zaloguj się, aby zobaczyć kod

    0
  • #21 02 Lut 2015 18:44
    tadzik85
    Poziom 38  

    Minimalizm totalny a ty się dziwisz. Weź stosuj makefile Freddiego.

    Masz automat, z dodaniem każdego pliku chcesz makefile edytować?
    Przesada

    0
  • #22 02 Lut 2015 18:54
    yahuza
    Poziom 11  

    tadzik85 napisał:
    Minimalizm totalny a ty się dziwisz. Weź stosuj makefile Freddiego.
    Przesada

    Co złego jest w minimalizmie? Mam wszystko co jest potrzebne. Kompilator wywoływany jest z takimi samymi parametrami i tak samo.

    tadzik85 napisał:
    Masz automat, z dodaniem każdego pliku chcesz makefile edytować?

    Tak, chce za każdym razem edytować makefile, ale o gustach się nie dyskutuje.

    0
  • #23 02 Lut 2015 19:04
    tadzik85
    Poziom 38  

    yahuza napisał:
    tadzik85 napisał:
    Minimalizm totalny a ty się dziwisz. Weź stosuj makefile Freddiego.
    Przesada

    Co złego jest w minimalizmie? Mam wszystko co jest potrzebne. Kompilator wywoływany jest z takimi samymi parametrami i tak samo.

    tadzik85 napisał:
    Masz automat, z dodaniem każdego pliku chcesz makefile edytować?

    Tak, chce za każdym razem edytować makefile, ale o gustach się nie dyskutuje.


    To dodaj właściwe flagi.

    0
  • #24 02 Lut 2015 19:26
    yahuza
    Poziom 11  

    tadzik85 napisał:
    yahuza napisał:
    tadzik85 napisał:
    Minimalizm totalny a ty się dziwisz. Weź stosuj makefile Freddiego.
    Przesada

    Co złego jest w minimalizmie? Mam wszystko co jest potrzebne. Kompilator wywoływany jest z takimi samymi parametrami i tak samo.

    tadzik85 napisał:
    Masz automat, z dodaniem każdego pliku chcesz makefile edytować?

    Tak, chce za każdym razem edytować makefile, ale o gustach się nie dyskutuje.


    To dodaj właściwe flagi.


    To nie jest kwestia flag. Użyłem Makefile Freediego i jest to samo:

    Code:
    (...)@(...)-jacek:~/AIR/MGR/PROG/DOWN$ make
    
    Assembling file: startup.S
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m3 -mthumb -g -ggdb3 -Wa,-amhls=out/startup.lst  -MD -MP -MF out/startup.d -I.  startup.S -o out/startup.o
     
    Compiling file: main.c
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/main.lst -DSTM32F10X_MD -MD -MP -MF out/main.d -I.  main.c -o out/main.o
    In file included from inc/stm32f10x.h:478:0,
                     from main.c:3:
    inc/core_cm3.h:1204:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __enable_irq()               { __ASM volatile ("cpsie i"); }
                          ^
    inc/core_cm3.h:1205:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __disable_irq()              { __ASM volatile ("cpsid i"); }
                          ^
    inc/core_cm3.h:1207:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __enable_fault_irq()         { __ASM volatile ("cpsie f"); }
                          ^
    inc/core_cm3.h:1208:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __disable_fault_irq()        { __ASM volatile ("cpsid f"); }
                          ^
    inc/core_cm3.h:1210:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __NOP()                      { __ASM volatile ("nop"); }
                          ^
    inc/core_cm3.h:1211:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __WFI()                      { __ASM volatile ("wfi"); }
                          ^
    inc/core_cm3.h:1212:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __WFE()                      { __ASM volatile ("wfe"); }
                          ^
    inc/core_cm3.h:1213:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __SEV()                      { __ASM volatile ("sev"); }
                          ^
    inc/core_cm3.h:1214:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __ISB()                      { __ASM volatile ("isb"); }
                          ^
    inc/core_cm3.h:1215:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __DSB()                      { __ASM volatile ("dsb"); }
                          ^
    inc/core_cm3.h:1216:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __DMB()                      { __ASM volatile ("dmb"); }
                          ^
    inc/core_cm3.h:1217:22: warning: function declaration isn't a prototype [-Wstrict-prototypes]
     static __INLINE void __CLREX()                    { __ASM volatile ("clrex"); }
                          ^
     
    Compiling file: vectors.c
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/vectors.lst -DSTM32F10X_MD -MD -MP -MF out/vectors.d -I.  vectors.c -o out/vectors.o
     
    Linking target: out/downFreedie.elf
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -TSTM32F103xC_rom.ld -g -Wl,-Map=out/downFreedie.map,--cref,--no-warn-mismatch -Wl,--gc-sections -nostartfiles  out/startup.o out/main.o out/vectors.o    -o out/downFreedie.elf
     
    Creating extended listing: out/downFreedie.lss
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objdump -S out/downFreedie.elf > out/downFreedie.lss
     
    Creating memory dump: out/downFreedie.dmp
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objdump -x --syms out/downFreedie.elf > out/downFreedie.dmp
     
    Creating IHEX image: out/downFreedie.hex
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objcopy -O ihex out/downFreedie.elf out/downFreedie.hex
     
    Creating binary image: out/downFreedie.bin
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-objcopy -O binary out/downFreedie.elf out/downFreedie.bin
     
    Size of modules:
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-size -B -t --common out/startup.o out/main.o out/vectors.o   
       text      data       bss       dec       hex   filename
        104         0         0       104        68   out/startup.o
         88         0         0        88        58   out/main.o
        320         0         0       320       140   out/vectors.o
        512         0         0       512       200   (TOTALS)
     
    Size of target .elf file:
    /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-size -B out/downFreedie.elf
       text      data       bss       dec       hex   filename
          0         0       512       512       200   out/downFreedie.elf
     
     
    (...)@(...)-jacek:~/AIR/MGR/PROG/DOWN$ cd out/
    (...)@(...)-jacek:~/AIR/MGR/PROG/DOWN/out$ /home/(...)/arm/gcc-arm-none-eabi-4_9-2014q4/bin/arm-none-eabi-gdb downFreedie.elf
    GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.1.20141128-cvs
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=i686-linux-gnu --target=arm-none-eabi".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from downFreedie.elf...(no debugging symbols found)...done.


    Teraz już kompletnie zgłupiałem.

    Code:
    ls -LR
    
    .:
    def  extra  inc  main.c  Makefile  Makefilebak  mod  out  startup.S  STM32F103xC_rom.ld  vectors.c

    ./def:
    result.h  std.c  std.h

    ./extra:
    path_and_symbols.xml

    ./inc:
    core_cm3.c  core_cm3.h  hdr_bitband.h  hdr_rcc.h  hdr_special_registers.h  stm32f10x.h  system_stm32f10x.c  system_stm32f10x.h

    ./mod:
    rcc.c  rcc.h

    ./out:
    downFreedie.bin  downFreedie.dmp  downFreedie.elf  downFreedie.hex  downFreedie.lss  downFreedie.map  main.d  main.lst  main.o  startup.d  startup.lst  startup.o  vectors.d  vectors.lst  vectors.o

    0
  • Pomocny post
    #25 02 Lut 2015 19:37
    tadzik85
    Poziom 38  

    Czyj plik linkera...?

    0
  • #26 02 Lut 2015 19:56
    yahuza
    Poziom 11  

    tadzik85 napisał:
    Czyj plik linkera...?


    TAK! To plik linkera na koniec usuwał symbole!
    Dzięki wielkie!

    0
  • Pomocny post
    #27 02 Lut 2015 19:58
    tadzik85
    Poziom 38  

    yahuza napisał:
    tadzik85 napisał:
    Czyj plik linkera...?


    TAK! To plik linkera na koniec usuwał symbole!
    Dzięki wielkie!


    To są skutki stosowania "KWIATKÓW"

    0
  • #28 05 Gru 2016 13:27
    yahuza
    Poziom 11  

    tadzik85 napisał:
    yahuza napisał:
    tadzik85 napisał:
    Czyj plik linkera...?


    TAK! To plik linkera na koniec usuwał symbole!
    Dzięki wielkie!


    To są skutki stosowania "KWIATKÓW"


    Takie były krótkodystansowe skutki. :)

    Długodystansowe skutki to wysoko ceniona w branży wiedza, zrozumienie i umiejętność pisana takich skryptów z palca. :)

    0